Skip to content

Commit 9d0eff9

Browse files
ci
1 parent 3ffd461 commit 9d0eff9

File tree

2 files changed

+61
-9
lines changed

2 files changed

+61
-9
lines changed

.github/workflows/shared-setup.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Shared setup
2+
3+
on:
4+
workflow_call: # Allows this workflow to be called by others
5+
inputs: {}
6+
7+
jobs:
8+
setup:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: erlef/setup-beam@v1
13+
with:
14+
otp-version: "28"
15+
gleam-version: "1.13.0"
16+
rebar3-version: "3"

.github/workflows/test.yml

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,55 @@ on:
77
pull_request:
88

99
jobs:
10-
test:
10+
build:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v4
14-
- uses: erlef/setup-beam@v1
15-
with:
16-
otp-version: "27.1.2"
17-
gleam-version: "1.13.0"
18-
rebar3-version: "3"
13+
- uses: ./.github/workflows/shared-setup.yml
1914
- run: gleam deps download
15+
- run: gleam build --target=erl
16+
- run: gleam build --target=js
17+
18+
format:
19+
runs-on: ubuntu-latest
20+
needs: build
21+
steps:
22+
- uses: ./.github/workflows/shared-setup.yml
23+
- run: gleam format --check src test
24+
25+
test-erl:
26+
runs-on: ubuntu-latest
27+
needs: build
28+
steps:
29+
- uses: ./.github/workflows/shared-setup.yml
2030
- run: gleam test --target=erl
31+
- run: gleam run -m birdie stale check
32+
33+
test-node:
34+
runs-on: ubuntu-latest
35+
needs: build
36+
steps:
37+
- uses: ./.github/workflows/shared-setup.yml
38+
- uses: actions/setup-node@v6
39+
with:
40+
node-version: "latest"
2141
- run: gleam test --target=js --runtime=node
42+
43+
test-deno:
44+
runs-on: ubuntu-latest
45+
needs: build
46+
steps:
47+
- uses: ./.github/workflows/shared-setup.yml
48+
- uses: denoland/setup-deno@v2
49+
with:
50+
deno-version: "lts"
2251
- run: gleam test --target=js --runtime=deno
52+
53+
test-bun:
54+
runs-on: ubuntu-latest
55+
needs: build
56+
steps:
57+
- uses: ./.github/workflows/shared-setup.yml
58+
- uses: oven-sh/setup-bun@v2
59+
with:
60+
bun-version: "latest"
2361
- run: gleam test --target=js --runtime=bun
24-
- run: gleam run -m birdie stale check
25-
- run: gleam format --check src test

0 commit comments

Comments
 (0)