ci: os update #488
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- 'master' | |
tags: | |
- 'v*' | |
pull_request: | |
branches: | |
- 'master' | |
jobs: | |
validate: | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Validate | |
uses: docker/bake-action@v4 | |
with: | |
targets: validate | |
test: | |
runs-on: ubuntu-latest | |
continue-on-error: ${{ matrix.allow-failure }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- | |
image: alpine:3.16 | |
typ: alpine | |
allow-failure: false | |
- | |
image: alpine:3.17 | |
typ: alpine | |
allow-failure: false | |
- | |
image: alpine:3.18 | |
typ: alpine | |
allow-failure: false | |
- | |
image: alpine:3.19 | |
typ: alpine | |
allow-failure: false | |
- | |
image: alpine:3.20 | |
typ: alpine | |
allow-failure: false | |
- | |
image: alpine:edge | |
typ: alpine | |
allow-failure: true | |
- | |
image: debian:bullseye-backports | |
typ: debian | |
allow-failure: false | |
- | |
image: debian:bookworm | |
typ: debian | |
allow-failure: false | |
- | |
image: debian:bookworm-backports | |
typ: debian | |
allow-failure: false | |
- | |
image: debian:trixie | |
typ: debian | |
allow-failure: false | |
- | |
image: debian:sid | |
typ: debian | |
allow-failure: true | |
- | |
image: ubuntu:20.04 | |
typ: debian | |
allow-failure: false | |
- | |
image: ubuntu:22.04 | |
typ: debian | |
allow-failure: false | |
- | |
image: ubuntu:23.04 | |
typ: debian | |
allow-failure: false | |
- | |
image: ubuntu:24.04 | |
typ: debian | |
allow-failure: false | |
- | |
image: redhat/ubi8 | |
typ: rhel | |
allow-failure: false | |
- | |
image: fedora:38 | |
typ: rhel | |
allow-failure: false | |
- | |
image: fedora:39 | |
typ: rhel | |
allow-failure: false | |
- | |
image: fedora:40 | |
typ: rhel | |
allow-failure: false | |
- | |
image: fedora:41 | |
typ: rhel | |
allow-failure: false | |
- | |
image: centos:7 | |
typ: rhel | |
allow-failure: false | |
- | |
image: rockylinux/rockylinux:8 | |
typ: rhel | |
allow-failure: false | |
- | |
image: rockylinux/rockylinux:9 | |
typ: rhel | |
allow-failure: false | |
- | |
image: oraclelinux:8 | |
typ: rhel | |
allow-failure: false | |
- | |
image: oraclelinux:9 | |
typ: rhel | |
allow-failure: false | |
env: | |
TEST_BASE_TYPE: ${{ matrix.typ }} | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Test | |
if: ${{ matrix.typ != 'rhel' }} | |
uses: docker/bake-action@v4 | |
with: | |
targets: test | |
set: | | |
test-${{ matrix.typ }}.args.TEST_BASE_IMAGE=${{ matrix.image }} | |
- | |
name: Test (info) | |
if: ${{ matrix.typ == 'rhel' }} | |
uses: docker/bake-action@v4 | |
with: | |
targets: test-info | |
set: | | |
test-${{ matrix.typ }}.args.TEST_BASE_IMAGE=${{ matrix.image }} | |
build: | |
runs-on: ubuntu-latest | |
needs: | |
- validate | |
- test | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: | | |
tonistiigi/xx | |
tags: | | |
type=ref,event=branch | |
type=ref,event=pr | |
type=semver,pattern={{version}} | |
bake-target: meta-helper | |
- | |
name: Login to DockerHub | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- | |
name: Build | |
uses: docker/bake-action@v4 | |
with: | |
files: | | |
./docker-bake.hcl | |
${{ steps.meta.outputs.bake-file }} | |
targets: xx-all | |
push: ${{ github.event_name != 'pull_request' }} |