Allow for sqlite ecto #52
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Uro Development x86_64 | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: | |
image: hexpm/elixir:1.12.3-erlang-24.0.5-ubuntu-focal-20210325 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install system dependencies | |
run: | | |
apt update | |
apt install -y build-essential erlang-dev curl git | |
- name: Setup Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Set up Elixir | |
run: | | |
mix local.hex --force | |
mix local.rebar --force | |
- name: Restore dependencies cache | |
uses: actions/cache@v2 | |
with: | |
path: deps | |
key: ${{ runner.os }}-mix-deps-${{ hashFiles('mix.lock') }} | |
restore-keys: ${{ runner.os }}-mix-deps- | |
- name: Install dependencies | |
run: mix deps.get | |
- name: Compile code | |
run: mix compile | |
- name: Install CockroachDB | |
run: | | |
curl -s https://binaries.cockroachdb.com/cockroach-v23.2.0-rc.1.linux-amd64.tgz | tar xvz | |
mkdir -p ${{ runner.temp }}/cockroach | |
cp cockroach-v23.2.0-rc.1.linux-amd64/cockroach ${{ runner.temp }}/cockroach/ | |
echo "${{ runner.temp }}/cockroach" >> $GITHUB_PATH | |
- name: Start CockroachDB | |
run: | | |
cockroach start-single-node --insecure --background | |
- name: Wait for CockroachDB to be ready | |
run: | | |
until cockroach sql --execute="SELECT 1" --insecure; do sleep 1; done | |
- name: Setup Database | |
run: MIX_ENV=test mix ecto.setup | |
- name: Run Seeds | |
run: MIX_ENV=test mix run priv/repo/test_seeds.exs | |
- name: Run tests | |
id: test_step | |
continue-on-error: true | |
run: mix test | tee test_output.txt; test ${PIPESTATUS[0]} -eq 0 | |
- name: Upload test results | |
uses: actions/upload-artifact@v2 | |
with: | |
name: test-results | |
path: test_output.txt | |
- name: Parse and check test results | |
if: always() | |
run: | | |
echo "Parsing test results..." | |
TEST_OUTPUT=$(grep -oP '\d+ tests, \K\d+(?= failures)' test_output.txt) | |
echo "TEST_FAILURES=$TEST_OUTPUT" >> $GITHUB_ENV | |
if [ "$TEST_OUTPUT" -le 102 ]; then | |
echo "Test failures are within the acceptable range." | |
else | |
echo "Too many test failures: $TEST_OUTPUT" | |
exit 1 | |
fi | |
- name: Check formatted code | |
run: mix format --check-formatted |