Skip to content

Commit

Permalink
Merge pull request #85 from V-Sekai/add-github-actions
Browse files Browse the repository at this point in the history
Update the github actions.
  • Loading branch information
fire authored Jan 8, 2024
2 parents fbabb75 + 131ccbf commit dfd9046
Showing 1 changed file with 50 additions and 14 deletions.
64 changes: 50 additions & 14 deletions .github/workflows/uro_release_x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,6 @@ jobs:
container:
image: hexpm/elixir:1.12.3-erlang-24.0.5-ubuntu-focal-20210325

services:
cockroachdb:
image: cockroachdb/cockroach:v21.1.7
env:
COCKROACH_DATABASE: uro_dev
COCKROACH_USER: root
COCKROACH_PASSWORD: ''
ports:
- 26257:26257
options: >-
start-single-node --insecure
steps:
- uses: actions/checkout@v2

Expand All @@ -33,11 +21,16 @@ jobs:
mix local.hex --force
mix local.rebar --force
- name: Install system dependencies
run: |
apt update
apt install -y build-essential erlang-dev curl
- name: Restore dependencies cache
uses: actions/cache@v2
with:
path: deps
key: ${{ runner.os }}-mix-deps-${{ hashFiles('**/mix.lock') }}
key: ${{ runner.os }}-mix-deps-${{ hashFiles('mix.lock') }}
restore-keys: ${{ runner.os }}-mix-deps-

- name: Install dependencies
Expand All @@ -46,8 +39,51 @@ jobs:
- 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
run: mix test
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

0 comments on commit dfd9046

Please sign in to comment.