name: Build and Upload GCP guest-agent container env: REGISTRY: ghcr.io on: [workflow_dispatch] # Abort runs of *this* workflow, if a new commit with the same ref is pushed. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-gcp-guest-agent: runs-on: ubuntu-latest permissions: contents: read packages: write strategy: matrix: version: ["20220713.00"] include: - version: "20220713.00" latest: true steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b with: repository: "GoogleCloudPlatform/guest-agent" ref: refs/tags/${{ matrix.version }} path: "guest-agent" - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b with: path: "constellation" - name: Docker meta id: meta uses: docker/metadata-action@69f6fc9d46f2f8bf0d5491e4aabe0bb8c6a4678a with: images: | ${{ env.REGISTRY }}/edgelesssys/gcp-guest-agent flavor: | latest=${{ matrix.latest || false }} tags: | type=raw,value=${{ matrix.version }} - name: Set up Docker Buildx id: docker-setup uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 - name: Log in to the Container registry id: docker-login uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Prepare hardcoded configuration file run: | cp "${GITHUB_WORKSPACE}/constellation/3rdparty/gcp-guest-agent/instance_configs.cfg" "${GITHUB_WORKSPACE}/guest-agent/" - name: Build and push container image id: build uses: docker/build-push-action@c84f38281176d4c9cdb1626ffafcd6b3911b5d94 with: context: ./guest-agent file: ./constellation/3rdparty/gcp-guest-agent/Dockerfile push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}