--- name: Container Publish env: REGISTRY: docker.asperti.com REPOSITORY: paspo/zabbix-proxy on: push: schedule: - cron: "0 12 * * 3" workflow_dispatch: workflow_call: workflow_run: workflows: [vulnscan.yaml] types: [completed] jobs: on-success-skip: runs-on: labels: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' }} steps: - run: exit_with_success build-image: runs-on: labels: [ubuntu-latest, "arch-${{ matrix.arch }}"] container: image: catthehacker/ubuntu:act-latest strategy: matrix: arch: [amd64] flavour: [sqlite3, mysql] ver: ["6.0", "7.0"] steps: - uses: actions/checkout@v4 - name: Login to registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Build and publish run: | docker build \ --tag ${{ env.REGISTRY }}/${{ env.REPOSITORY }}-${{ matrix.flavour }}-mssql:${{ matrix.ver }}-${{ matrix.arch }} \ --build-arg UPSTREAM_FLAVOUR=${{ matrix.flavour }} \ --build-arg UPSTREAM_VERSION=${{ matrix.ver }} \ --platform linux/${{ matrix.arch }} -f src/Dockerfile-${{ matrix.ver }} . docker push ${{ env.REGISTRY }}/${{ env.REPOSITORY }}-${{ matrix.flavour }}-mssql:${{ matrix.ver }}-${{ matrix.arch }} manifest: name: update docker manifest needs: build-image runs-on: ubuntu-latest container: image: catthehacker/ubuntu:act-latest strategy: matrix: arch: [amd64] flavour: [sqlite3, mysql] ver: ["6.0", "7.0"] steps: - name: Login to registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_TOKEN }} - name: latest run: | docker manifest create \ ${{ env.REGISTRY }}/${{ env.REPOSITORY }}-${{ matrix.flavour }}-mssql:${{ matrix.ver }} \ --amend ${{ env.REGISTRY }}/${{ env.REPOSITORY }}-${{ matrix.flavour }}-mssql:${{ matrix.ver }}-amd64 docker manifest push ${{ env.REGISTRY }}/${{ env.REPOSITORY }}-${{ matrix.flavour }}-mssql:${{ matrix.ver }}