From 39c244d970d802e6ee2853cfbb5f73b8c06a2fdc Mon Sep 17 00:00:00 2001 From: Ben Busby Date: Tue, 9 Nov 2021 15:12:58 -0700 Subject: [PATCH] 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. --- .github/workflows/elixir.yml | 10 ++++++++++ update.exs | 15 ++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index c6617b0..28d2fdf 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -14,18 +14,28 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Set up Elixir uses: erlef/setup-elixir@885971a72ed1f9240973bd92ab57af8c1aa68f24 with: elixir-version: '1.10.3' otp-version: '22.3' + - name: Restore dependencies cache uses: actions/cache@v2 with: path: deps key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} restore-keys: ${{ runner.os }}-mix- + + - name: Start Redis + uses: supercharge/redis-github-action@1.2.0 + - name: Install dependencies run: mix deps.get + + - name: Initialize services + run: FARSIDE_TEST=1 mix run update.exs + - name: Run tests run: mix test diff --git a/update.exs b/update.exs index 4e95392..d89ffa8 100644 --- a/update.exs +++ b/update.exs @@ -19,12 +19,17 @@ defmodule Instances do end def request(url) do - case HTTPoison.get(url) do - {:ok, %HTTPoison.Response{status_code: 200}} -> - # TODO: Add validation of results, not just status code + cond do + System.get_env("FARSIDE_TEST") -> :good - _ -> - :bad + true -> + 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