|
@@ -38,4 +38,68 @@ jobs:
|
|
|
cmake --build build/ --target all -j4 --verbose
|
|
|
- name: SelfTest
|
|
|
run: |
|
|
|
- ./build/zerotier-selftest
|
|
|
+ ./build/zerotier-selftest
|
|
|
+
|
|
|
+ - 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 and push Docker Image
|
|
|
+ run: |
|
|
|
+ docker build -t us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/central-controller:${{ steps.sha.outputs.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-${{ runner.arch }} -f ext/central-controller-docker/Dockerfile.conda .
|
|
|
+ docker push us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/central-controller:${{ steps.sha.outputs.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-${{ runner.arch }}
|
|
|
+
|
|
|
+ multi-arch-docker:
|
|
|
+ runs-on: gha-runner-x64
|
|
|
+ needs: central_controller
|
|
|
+ steps:
|
|
|
+ - 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/central-controller:${{ steps.sha.outputs.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }} \
|
|
|
+ --amend us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/central-controller:${{ steps.sha.outputs.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-x64 \
|
|
|
+ --amend us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/central-controller:${{ steps.sha.outputs.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-ARM64
|
|
|
+ docker manifest push us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/central-controller:${{ steps.sha.outputs.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}
|