name: docker-builder-unit-tests 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-unit-tests.yml" - ".github/docker/unit-tests/*" pull_request: paths: - ".github/workflows/docker-builder-unit-tests.yml" - ".github/docker/unit-tests/*" jobs: get-environment: 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-22.04 dockerfile: alma8 image: alma8 - runner: ubuntu-22.04 dockerfile: alma9 image: alma9 - runner: ubuntu-22.04 dockerfile: bullseye image: bullseye - runner: centreon-collect-arm64 dockerfile: bullseye image: bullseye-arm64 - runner: ubuntu-22.04 dockerfile: bookworm image: bookworm - runner: ubuntu-22.04 dockerfile: jammy image: jammy - runner: ubuntu-22.04 dockerfile: noble image: noble runs-on: ${{ matrix.runner }} steps: - name: Checkout sources uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Login to Registry uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0 with: registry: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }} username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }} password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }} - name: Login to proxy registry uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0 with: registry: ${{ vars.DOCKER_PROXY_REGISTRY_URL }} username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }} password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }} - uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0 - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 with: file: .github/docker/unit-tests/Dockerfile.unit-tests-${{ matrix.dockerfile }} context: . build-args: "REGISTRY_URL=${{ vars.DOCKER_PROXY_REGISTRY_URL }}" pull: true push: true tags: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/unit-tests-${{ matrix.image }}:latest set-skip-label: needs: [get-environment, dockerize] 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