-
Notifications
You must be signed in to change notification settings - Fork 3
80 lines (64 loc) · 2.18 KB
/
uro_release_x86_64.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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: Set up Elixir
run: |
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') }}
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: Run tests
run: mix test
continue-on-error: true
id: test_step
- name: Parse test results
if: always()
run: |
echo "Parsing test results..."
TEST_OUTPUT=$(cat ${{ steps.test_step.outputs.stdout }} | grep -oP '\d+ tests, \K\d+(?= failures)')
echo "TEST_FAILURES=$TEST_OUTPUT" >> $GITHUB_ENV
- name: Check test failures
run: |
if [ ${{ env.TEST_FAILURES }} -le 102 ]; then
echo "Test failures are within the acceptable range."
exit 0
else
echo "Too many test failures: ${{ env.TEST_FAILURES }}"
exit 1
fi
- name: Check formatted code
run: mix format --check-formatted