ci: setup workflows

This commit is contained in:
CrazyMax 2025-01-20 12:15:28 +01:00
parent 3a6c24780e
commit e49975c5ff
No known key found for this signature in database
GPG Key ID: ADE44D8C9D44FBE4
3 changed files with 157 additions and 0 deletions

86
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,86 @@
name: ci
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
schedule:
- cron: '0 10 * * *'
push:
branches:
- 'main'
- 'releases/v*'
tags:
- 'v*'
pull_request:
jobs:
main:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
compose-version:
- ""
- "latest"
- "v2.32.4"
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Compose
uses: ./
with:
version: ${{ matrix.compose-version }}
multi:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Compose 1
uses: ./
-
name: Set up Docker Compose 2
uses: ./
standalone:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Uninstall docker cli
run: |
if dpkg -s "docker-ce" >/dev/null 2>&1; then
sudo dpkg -r --force-depends docker-ce-cli docker-compose-plugin
else
sudo apt-get purge -y moby-cli moby-compose
fi
-
name: Set up Docker Compose
uses: ./
cache-binary:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cache:
- true
- false
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Compose
uses: ./
with:
version: v2.31.0
cache-binary: ${{ matrix.cache }}

28
.github/workflows/test.yml vendored Normal file
View File

@ -0,0 +1,28 @@
name: test
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'main'
- 'releases/v*'
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
-
name: Test
uses: docker/bake-action@v6
with:
targets: test
# -
# name: Upload coverage
# uses: codecov/codecov-action@v5
# with:
# files: ./coverage/clover.xml
# token: ${{ secrets.CODECOV_TOKEN }}

43
.github/workflows/validate.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: validate
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'main'
- 'releases/v*'
pull_request:
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
targets: ${{ steps.generate.outputs.targets }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: List targets
id: generate
uses: docker/bake-action/subaction/list-targets@v6
with:
target: validate
validate:
runs-on: ubuntu-latest
needs:
- prepare
strategy:
fail-fast: false
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps:
-
name: Validate
uses: docker/bake-action@v6
with:
targets: ${{ matrix.target }}