Skip to content

Commit e49975c

Browse files
committed
ci: setup workflows
1 parent 3a6c247 commit e49975c

3 files changed

Lines changed: 157 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: ci
2+
3+
concurrency:
4+
group: ${{ github.workflow }}-${{ github.ref }}
5+
cancel-in-progress: true
6+
7+
on:
8+
schedule:
9+
- cron: '0 10 * * *'
10+
push:
11+
branches:
12+
- 'main'
13+
- 'releases/v*'
14+
tags:
15+
- 'v*'
16+
pull_request:
17+
18+
jobs:
19+
main:
20+
runs-on: ubuntu-latest
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
compose-version:
25+
- ""
26+
- "latest"
27+
- "v2.32.4"
28+
steps:
29+
-
30+
name: Checkout
31+
uses: actions/checkout@v4
32+
-
33+
name: Set up Docker Compose
34+
uses: ./
35+
with:
36+
version: ${{ matrix.compose-version }}
37+
38+
multi:
39+
runs-on: ubuntu-latest
40+
steps:
41+
-
42+
name: Checkout
43+
uses: actions/checkout@v4
44+
-
45+
name: Set up Docker Compose 1
46+
uses: ./
47+
-
48+
name: Set up Docker Compose 2
49+
uses: ./
50+
51+
standalone:
52+
runs-on: ubuntu-latest
53+
steps:
54+
-
55+
name: Checkout
56+
uses: actions/checkout@v4
57+
-
58+
name: Uninstall docker cli
59+
run: |
60+
if dpkg -s "docker-ce" >/dev/null 2>&1; then
61+
sudo dpkg -r --force-depends docker-ce-cli docker-compose-plugin
62+
else
63+
sudo apt-get purge -y moby-cli moby-compose
64+
fi
65+
-
66+
name: Set up Docker Compose
67+
uses: ./
68+
69+
cache-binary:
70+
runs-on: ubuntu-latest
71+
strategy:
72+
fail-fast: false
73+
matrix:
74+
cache:
75+
- true
76+
- false
77+
steps:
78+
-
79+
name: Checkout
80+
uses: actions/checkout@v4
81+
-
82+
name: Set up Docker Compose
83+
uses: ./
84+
with:
85+
version: v2.31.0
86+
cache-binary: ${{ matrix.cache }}

.github/workflows/test.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: test
2+
3+
concurrency:
4+
group: ${{ github.workflow }}-${{ github.ref }}
5+
cancel-in-progress: true
6+
7+
on:
8+
push:
9+
branches:
10+
- 'main'
11+
- 'releases/v*'
12+
pull_request:
13+
14+
jobs:
15+
test:
16+
runs-on: ubuntu-latest
17+
steps:
18+
-
19+
name: Test
20+
uses: docker/bake-action@v6
21+
with:
22+
targets: test
23+
# -
24+
# name: Upload coverage
25+
# uses: codecov/codecov-action@v5
26+
# with:
27+
# files: ./coverage/clover.xml
28+
# token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/validate.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: validate
2+
3+
concurrency:
4+
group: ${{ github.workflow }}-${{ github.ref }}
5+
cancel-in-progress: true
6+
7+
on:
8+
push:
9+
branches:
10+
- 'main'
11+
- 'releases/v*'
12+
pull_request:
13+
14+
jobs:
15+
prepare:
16+
runs-on: ubuntu-latest
17+
outputs:
18+
targets: ${{ steps.generate.outputs.targets }}
19+
steps:
20+
-
21+
name: Checkout
22+
uses: actions/checkout@v4
23+
-
24+
name: List targets
25+
id: generate
26+
uses: docker/bake-action/subaction/list-targets@v6
27+
with:
28+
target: validate
29+
30+
validate:
31+
runs-on: ubuntu-latest
32+
needs:
33+
- prepare
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
target: ${{ fromJson(needs.prepare.outputs.targets) }}
38+
steps:
39+
-
40+
name: Validate
41+
uses: docker/bake-action@v6
42+
with:
43+
targets: ${{ matrix.target }}

0 commit comments

Comments
 (0)