name: Build and Upload GCP CCM container image env: REGISTRY: ghcr.io on: [workflow_dispatch] jobs: build-ccm-gcp: runs-on: ubuntu-22.04 permissions: contents: read packages: write strategy: matrix: version: [v26.0.1] # TODO: Once issue is closed upgrade older versions, rebuild, and update versions.go # https://github.com/kubernetes/cloud-provider-gcp/issues/451 # version: [v26.0.1, v25.5.0, v24.0.0] include: - version: v26.0.1 latest: true steps: - name: Checkout kubernetes/cloud-provider-gcp uses: actions/checkout@24cb9080177205b6e8c946b17badbe402adc938f # v3.4.0 with: repository: "kubernetes/cloud-provider-gcp" ref: refs/tags/ccm/${{ matrix.version }} - name: Docker meta id: meta uses: docker/metadata-action@507c2f2dc502c992ad446e3d7a5dfbe311567a96 # v4.3.0 with: images: | ${{ env.REGISTRY }}/edgelesssys/cloud-provider-gcp flavor: | latest=${{ matrix.latest || false }} tags: | type=semver,pattern=v{{version}},value=${{ matrix.version }} type=semver,pattern=v{{major}}.{{minor}},value=${{ matrix.version }} type=semver,pattern=v{{major}},value=${{ matrix.version }} - name: Log in to the Container registry id: docker-login uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a # tag=v2.1.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build CCM run: | bazelisk build //cmd/cloud-controller-manager:cloud-controller-manager - name: Copy CCM run: | # support new and old bazel output paths cp ./bazel-bin/cmd/cloud-controller-manager/cloud-controller-manager_/cloud-controller-manager ./cloud-controller-manager || \ cp ./bazel-bin/cmd/cloud-controller-manager/linux_amd64_pure_stripped/cloud-controller-manager ./cloud-controller-manager - name: Prepare Dockerfile run: | cat > Dockerfile <