Skip to content

chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 #434

chore(deps): bump actions/checkout from 6.0.2 to 6.0.3

chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 #434

name: docker-builder-testing-plugins
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- develop
paths:
- ".github/workflows/docker-builder-testing-plugins.yml"
- ".github/docker/testing/*"
pull_request:
paths:
- ".github/workflows/docker-builder-testing-plugins.yml"
- ".github/docker/testing/*"
jobs:
dependency-scan:
uses: centreon/security-tools/.github/workflows/dependency-analysis.yml@main
get-environment:
needs: [dependency-scan]
uses: ./.github/workflows/get-environment.yml
dockerize:
needs: [get-environment]
if: |
needs.get-environment.outputs.skip_workflow == 'false' &&
needs.get-environment.outputs.stability != 'stable'
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-24.04
dockerfile: alma8
image: testing
distrib: alma8
arch: amd64
- runner: ubuntu-24.04
dockerfile: alma9
image: testing
distrib: alma9
arch: amd64
- runner: ubuntu-24.04
dockerfile: alma10
image: testing
distrib: alma10
arch: amd64
- runner: ubuntu-24.04
dockerfile: bullseye
image: testing
distrib: bullseye
arch: amd64
- runner: ubuntu-24.04-arm
dockerfile: bullseye
image: testing
distrib: bullseye
arch: arm64
- runner: ubuntu-24.04
dockerfile: bookworm
image: testing
distrib: bookworm
arch: amd64
- runner: ubuntu-24.04
dockerfile: trixie
image: testing
distrib: trixie
arch: amd64
- runner: ubuntu-24.04
dockerfile: jammy
image: testing
distrib: jammy
arch: amd64
- runner: ubuntu-24.04
dockerfile: noble
image: testing
distrib: noble
arch: amd64
runs-on: ${{ matrix.runner }}
permissions:
packages: write
steps:
- name: Checkout sources
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Login to proxy registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ${{ vars.DOCKER_PROXY_REGISTRY_URL }}
username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
- uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
with:
images: ghcr.io/${{ github.repository }}/${{ matrix.image }}
labels: |
org.opencontainers.image.description=Testing image for Centreon Plugins
com.centreon.stability=${{ needs.get-environment.outputs.stability }}
com.centreon.version=${{ needs.get-environment.outputs.version }}
- uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
with:
file: .github/docker/testing/Dockerfile.testing-plugins-${{ matrix.dockerfile }}
context: .
build-args: |
"REGISTRY_URL=${{ vars.DOCKER_PROXY_REGISTRY_URL }}"
"NODE_VERSION=24"
"PNPM_VERSION=10.24.0"
pull: true
push: true
tags: ghcr.io/${{ github.repository }}/${{ matrix.image }}:${{ matrix.distrib }}-${{ matrix.arch }}
labels: ${{ steps.meta.outputs.labels }}
compute-merge-matrix:
needs: [get-environment]
if: |
needs.get-environment.outputs.skip_workflow == 'false' &&
needs.get-environment.outputs.stability != 'stable'
runs-on: ubuntu-24.04
outputs:
matrix: ${{ steps.compute.outputs.matrix }}
steps:
- name: Checkout sources
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Compute merge matrix
id: compute
shell: bash
run: |
matrix=$(yq -o=json '.jobs.dockerize.strategy.matrix.include' \
.github/workflows/docker-builder-testing-plugins.yml | \
jq -c '
group_by([.image, .distrib]) |
map({
image: .[0].image,
distrib: .[0].distrib,
archs: (map(.arch) | join(" "))
}) |
{include: .}
')
echo "matrix=$matrix" >> $GITHUB_OUTPUT
merge:
needs: [get-environment, dockerize, compute-merge-matrix]
if: |
needs.get-environment.outputs.skip_workflow == 'false' &&
needs.get-environment.outputs.stability != 'stable'
runs-on: ubuntu-24.04
permissions:
packages: write
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.compute-merge-matrix.outputs.matrix) }}
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
- uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Create multi-platform manifest
shell: bash
run: |
SOURCE=""
for arch in ${{ matrix.archs }}; do
SOURCE="$SOURCE ghcr.io/${{ github.repository }}/${{ matrix.image }}:${{ matrix.distrib }}-$arch"
done
docker buildx imagetools create \
--tag ghcr.io/${{ github.repository }}/${{ matrix.image }}:${{ matrix.distrib }} \
$SOURCE
set-skip-label:
needs: [get-environment, merge]
if: |
needs.get-environment.outputs.skip_workflow == 'false' &&
! cancelled() &&
! contains(needs.*.result, 'failure') &&
! contains(needs.*.result, 'cancelled')
uses: ./.github/workflows/set-pull-request-skip-label.yml