@@ -17,52 +17,23 @@ jobs:
1717
1818 - name : Set up Rust toolchain
1919 uses : dtolnay/rust-toolchain@stable
20- with :
21- toolchain : stable
2220
2321 - name : Cache Rust build artifacts
2422 uses : Swatinem/rust-cache@v2
2523
26- - name : Create master-key-password file
27- run : |
28- echo -n "ci-test-master-key-password" > master-key-password
29- chmod 600 master-key-password
30-
31- - name : Start services via docker compose
32- run : docker compose up -d
24+ - name : Install just
25+ uses : extractions/setup-just@v2
3326
34- - name : Wait for postgres
35- run : |
36- n=0
37- until docker compose exec -T postgres pg_isready -U postgres > /dev/null 2>&1; do
38- n=$((n+1))
39- if [ $n -ge 30 ]; then echo "ERROR: postgres not ready"; exit 1; fi
40- echo "Waiting for postgres... ($n)"
41- sleep 2
42- done
27+ - name : Install cargo-binstall
28+ uses : cargo-bins/cargo-binstall@main
4329
44- - name : Wait for redis
45- run : |
46- n=0
47- until docker compose exec -T redis redis-cli ping 2>/dev/null | grep -q PONG; do
48- n=$((n+1))
49- if [ $n -ge 30 ]; then echo "ERROR: redis not ready"; exit 1; fi
50- echo "Waiting for redis... ($n)"
51- sleep 2
52- done
30+ - name : Install sqlx-cli
31+ run : cargo binstall sqlx-cli --no-confirm
5332
54- - name : Wait for Ory services (Kratos, Hydra, Keto)
33+ - name : Create master-key-password file
5534 run : |
56- for port in 4433 4444 4445 4466 4467; do
57- n=0
58- until curl -sf http://localhost:$port/health/alive > /dev/null 2>&1; do
59- n=$((n+1))
60- if [ $n -ge 30 ]; then echo "ERROR: port $port not ready"; exit 1; fi
61- echo "Waiting for port $port... ($n)"
62- sleep 2
63- done
64- echo "Port $port is ready"
65- done
35+ echo -n "ci-test-master-key-password" > master-key-password
36+ chmod 600 master-key-password
6637
6738 - name : Create .env file
6839 run : |
@@ -79,27 +50,13 @@ jobs:
7950 echo "CORS_ALLOWED_ORIGINS=*"
8051 } > .env
8152
82- - name : Install cargo-binstall
83- uses : cargo-bins/cargo-binstall@main
84-
85- - name : Install sqlx-cli
86- run : cargo binstall sqlx-cli --no-confirm
87-
88- - name : Run database migrations
89- run : sqlx migrate run
90- env :
91- DATABASE_URL : postgres://postgres:develop@localhost:5432/postgres
92-
93- - name : Pre-build server binary
94- run : cargo build -p server
95-
9653 - name : Run E2E tests
97- run : cargo test -p server --test e2e_basic_flow -- --ignored --test-threads=1 --nocapture
54+ run : just e2e
9855
9956 - name : Collect docker logs on failure
10057 if : failure()
10158 run : docker compose logs
10259
10360 - name : Stop services
10461 if : always()
105- run : docker compose down -v
62+ run : just down
0 commit comments