1
0
Fork 0
mirror of https://github.com/benbusby/farside.git synced 2025-04-29 07:00:03 +00:00

Skip querying all instances w/ "test mode"

Now allows setting FARSIDE_TEST to skip individually fetching each
instance, and instead just adds all of them to redis instantly. This
allows for an easier time in CI builds, for both the sake of speed and
to prevent a scenario where many simultaneous builds have a noticeable
impact on actual instances.
This commit is contained in:
Ben Busby 2021-11-09 15:12:58 -07:00
parent 1908c56ec6
commit 39c244d970
No known key found for this signature in database
GPG key ID: 339B7B7EB5333D14
2 changed files with 20 additions and 5 deletions
.github/workflows
update.exs

View file

@ -14,18 +14,28 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Elixir - name: Set up Elixir
uses: erlef/setup-elixir@885971a72ed1f9240973bd92ab57af8c1aa68f24 uses: erlef/setup-elixir@885971a72ed1f9240973bd92ab57af8c1aa68f24
with: with:
elixir-version: '1.10.3' elixir-version: '1.10.3'
otp-version: '22.3' otp-version: '22.3'
- name: Restore dependencies cache - name: Restore dependencies cache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: deps path: deps
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
restore-keys: ${{ runner.os }}-mix- restore-keys: ${{ runner.os }}-mix-
- name: Start Redis
uses: supercharge/redis-github-action@1.2.0
- name: Install dependencies - name: Install dependencies
run: mix deps.get run: mix deps.get
- name: Initialize services
run: FARSIDE_TEST=1 mix run update.exs
- name: Run tests - name: Run tests
run: mix test run: mix test

View file

@ -19,12 +19,17 @@ defmodule Instances do
end end
def request(url) do def request(url) do
case HTTPoison.get(url) do cond do
{:ok, %HTTPoison.Response{status_code: 200}} -> System.get_env("FARSIDE_TEST") ->
# TODO: Add validation of results, not just status code
:good :good
_ -> true ->
:bad case HTTPoison.get(url) do
{:ok, %HTTPoison.Response{status_code: 200}} ->
# TODO: Add validation of results, not just status code
:good
_ ->
:bad
end
end end
end end