🐿️ Type safe SQL in Gleam
1name: Test
2
3on:
4 push:
5 branches:
6 - main
7 pull_request:
8 workflow_call:
9
10jobs:
11 format:
12 runs-on: ubuntu-latest
13 steps:
14 - uses: actions/checkout@v4
15 - uses: TanklesXL/gleam_actions/.github/actions/install_gleam@main
16 with:
17 gleam_version: 1.4.1
18 erlang_version: 27
19 - uses: TanklesXL/gleam_actions/.github/actions/format@main
20
21 deps:
22 runs-on: ubuntu-latest
23 steps:
24 - uses: actions/checkout@v4
25 - uses: TanklesXL/gleam_actions/.github/actions/install_gleam@main
26 with:
27 gleam_version: 1.4.1
28 erlang_version: 27
29 - uses: TanklesXL/gleam_actions/.github/actions/deps_cache@main
30 with:
31 gleam_version: 1.4.1
32
33 test:
34 runs-on: ubuntu-latest
35 needs: deps
36 strategy:
37 fail-fast: true
38 matrix:
39 erlang: ["26", "27"]
40
41 # Setup a postgres service to run the tests.
42 services:
43 postgres:
44 image: postgres:latest
45 env:
46 POSTGRES_HOST_AUTH_METHOD: trust
47 POSTGRES_HOST: localhost
48 POSTGRES_PORT: 5432
49 POSTGRES_PASSWORD: postgres_password
50 POSTGRES_USER: squirrel_test
51 POSTGRES_DB: squirrel_test
52 ports:
53 - 5432:5432
54 options: >-
55 --health-cmd pg_isready
56 --health-interval 10s
57 --health-timeout 5s
58 --health-retries 5
59
60 steps:
61 - uses: actions/checkout@v4
62 - uses: TanklesXL/gleam_actions/.github/actions/deps_restore@main
63 - uses: TanklesXL/gleam_actions/.github/actions/install_gleam@main
64 with:
65 gleam_version: 1.4.1
66 erlang_version: ${{ matrix.erlang }}
67 - uses: TanklesXL/gleam_actions/.github/actions/test@main
68 with:
69 target: "erlang"