diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 69b0789ca6..828a089157 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -121,6 +121,55 @@ jobs: ${{ matrix.name }}/testkube_${{ matrix.name }}_* retention-days: 1 + build_agent_image: + name: Build a Docker image for Testkube Agent + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Get tag + id: tag + uses: dawidd6/action-get-tag@v1 + with: + strip_v: true + + - name: Preload kind images + run: | + mkdir -p build/kind/images + docker pull --platform linux/arm64 kindest/node:v1.31.0 + docker save kindest/node:v1.31.0 > build/kind/images/node.tar + + docker pull --platform linux/amd64 kindest/node:v1.31.0 + docker save kindest/node:v1.31.0 >> build/kind/images/node.tar + + - name: Build and push + uses: docker/build-push-action@v6 + with: + build-args: | + segmentio_key=${{secrets.TESTKUBE_SEGMENTIO_KEY}} + ga_id=${{secrets.TESTKUBE_CLI_GA_MEASUREMENT_ID}} + ga_secret=${{secrets.TESTKUBE_CLI_GA_MEASUREMENT_SECRET}} + context: build/kind + file: build/kind/kind.Dockerfile + platforms: linux/amd64,linux/arm64/v8 + provenance: mode=max + push: true + sbom: true + tags: kubeshop/testkube-agent:${{steps.tag.outputs.tag}} + release: name: Create and upload release-artifacts needs: pre_build diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d881685f4e..cb3516832f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -110,6 +110,56 @@ jobs: ${{ matrix.name }}/testkube_${{ matrix.name }}_* retention-days: 1 + build_agent_image: + name: Build a Docker image for Testkube Agent + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Get tag + id: tag + uses: dawidd6/action-get-tag@v1 + with: + strip_v: true + + - name: Preload kind images + run: | + mkdir -p build/kind/images + docker pull --platform linux/arm64 kindest/node:v1.31.0 + docker save kindest/node:v1.31.0 > build/kind/images/node.tar + + docker pull --platform linux/amd64 kindest/node:v1.31.0 + docker save kindest/node:v1.31.0 >> build/kind/images/node.tar + + - name: Build and push + uses: docker/build-push-action@v6 + with: + build-args: | + segmentio_key=${{secrets.TESTKUBE_SEGMENTIO_KEY}} + ga_id=${{secrets.TESTKUBE_CLI_GA_MEASUREMENT_ID}} + ga_secret=${{secrets.TESTKUBE_CLI_GA_MEASUREMENT_SECRET}} + context: build/kind + file: build/kind/kind.Dockerfile + platforms: linux/amd64,linux/arm64 + provenance: mode=max + push: true + sbom: true + tags: kubeshop/testkube-agent:${{steps.tag.outputs.tag}},kubeshop/testkube-agent:latest + release: name: Create and upload release-artifacts needs: pre_build diff --git a/build/kind/Dockerfile.kind b/build/kind/kind.Dockerfile similarity index 100% rename from build/kind/Dockerfile.kind rename to build/kind/kind.Dockerfile