diff --git a/.github/workflows/multi-plat-build.yml b/.github/workflows/multi-plat-build.yml new file mode 100644 index 000000000..6e5b9ec0b --- /dev/null +++ b/.github/workflows/multi-plat-build.yml @@ -0,0 +1,47 @@ +name: Docker Image CI + +on: + workflow_dispatch: + inputs: + imageTag: + description: 'Enter the tag for the ghrc/nirmata/enterprise-kube-bench image' + required: true + default: 'latest' + +env: + REGISTRY: ghcr.io + username: ${{secrets.DEPLOYMENT_USER_WRITE}} + password: ${{secrets.DEPLOYMENT_PAT_WRITE}} + +jobs: + build-and-push-docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Cache Docker layers + uses: actions/cache@v4 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: ${{env.REGISTRY}} + username: ${{env.username}} + password: ${{env.password}} + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile + push: true + tags: ghcr.io/nirmata/enterprise-kube-bench:${{ github.event.inputs.imageTag }} + platforms: linux/amd64,linux/arm64/v8 + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache