| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # on:
- # workflow_dispatch:
- on:
- push:
- workflow_dispatch:
- jobs:
- central_controller:
- name: Central Controller Build
- strategy:
- matrix:
- runner: [gha-runner-x64, gha-runner-arm64]
- runs-on: ${{ matrix.runner }}
- steps:
- - name: checkout
- uses: actions/checkout@v4
- - name: GCP Auth
- uses: google-github-actions/auth@v2
- with:
- credentials_json: ${{ secrets.DOCKER_REGISTRY_WRITER}}
- - name: Set up GCloud CLI
- uses: google-github-actions/setup-gcloud@v2
- - name: Docker Auth
- run: gcloud auth configure-docker us-central1-docker.pkg.dev --quiet
- - name: Get branch name and sanitize
- id: branch
- run: |
- BRANCH_NAME="${GITHUB_REF##*/}"
- SANITIZED_BRANCH="${BRANCH_NAME//\//-}"
- echo "branch_name=$SANITIZED_BRANCH" >> $GITHUB_OUTPUT
- - name: Get short git commit SHA
- id: sha
- run: |
- calculatedSha=$(git rev-parse --short ${{ github.sha }})
- echo "COMMIT_SHORT_SHA=$calculatedSha" >> $GITHUB_ENV
- - name: Build & Push Docker Image
- run: |
- docker build -t us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/ztcentral-controller:${{ env.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-${{ runner.arch }} -f ext/central-controller-docker/Dockerfile.new --provenance false . --push
- multi-arch-docker:
- runs-on: gha-runner-x64
- needs: central_controller
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: GCP Auth
- uses: google-github-actions/auth@v2
- with:
- credentials_json: ${{ secrets.DOCKER_REGISTRY_WRITER}}
- - name: Set up GCloud CLI
- uses: google-github-actions/setup-gcloud@v2
- - name: Docker Auth
- run: gcloud auth configure-docker us-central1-docker.pkg.dev --quiet
- - name: Get branch name and sanitize
- id: branch
- run: |
- BRANCH_NAME="${GITHUB_REF##*/}"
- SANITIZED_BRANCH="${BRANCH_NAME//\//-}"
- echo "branch_name=$SANITIZED_BRANCH" >> $GITHUB_OUTPUT
- - name: Get short git commit SHA
- id: sha
- run: |
- calculatedSha=$(git rev-parse --short ${{ github.sha }})
- echo "COMMIT_SHORT_SHA=$calculatedSha" >> $GITHUB_ENV
- - name: Create and push multi-arch manifest
- run: |
- docker manifest create us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/ztcentral-controller:${{ env.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }} \
- --amend us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/ztcentral-controller:${{ env.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-X64 \
- --amend us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/ztcentral-controller:${{ env.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-ARM64
- docker manifest push us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/ztcentral-controller:${{ env.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}
|