|
@@ -14,32 +14,47 @@ jobs:
|
|
|
steps:
|
|
|
- name: checkout
|
|
|
uses: actions/checkout@v4
|
|
|
- - name: Setup Miniconda
|
|
|
- uses: conda-incubator/setup-miniconda@v3
|
|
|
- with:
|
|
|
- miniconda-version: latest
|
|
|
- activate-environment: central_controller
|
|
|
- - name: Conda Environment Cache
|
|
|
- id: cache
|
|
|
- uses: actions/cache@v4
|
|
|
- with:
|
|
|
- path: ${{ env.CONDA }}/envs
|
|
|
- key: ${{ runner.os }}-${{ runner.arch }}-${{ github.ref_name }}-conda-${{ hashFiles('environment.yml') }}
|
|
|
- - name: Update Conda Environment
|
|
|
- if: steps.cache.outputs.cache-hit != 'true'
|
|
|
- run: |
|
|
|
- source ~/miniconda3/etc/profile.d/conda.sh
|
|
|
- conda env update --file environment.yml
|
|
|
- - name: Build
|
|
|
+ # - name: Setup Miniconda
|
|
|
+ # uses: conda-incubator/setup-miniconda@v3
|
|
|
+ # with:
|
|
|
+ # miniconda-version: latest
|
|
|
+ # activate-environment: central_controller
|
|
|
+ # - name: Conda Environment Cache
|
|
|
+ # id: cache
|
|
|
+ # uses: actions/cache@v4
|
|
|
+ # with:
|
|
|
+ # path: ${{ env.CONDA }}/envs
|
|
|
+ # key: ${{ runner.os }}-${{ runner.arch }}-${{ github.ref_name }}-conda-${{ hashFiles('environment.yml') }}
|
|
|
+ # - name: Update Conda Environment
|
|
|
+ # if: steps.cache.outputs.cache-hit != 'true'
|
|
|
+ # run: |
|
|
|
+ # source ~/miniconda3/etc/profile.d/conda.sh
|
|
|
+ # conda env update --file environment.yml
|
|
|
+ # - name: Build
|
|
|
+ # run: |
|
|
|
+ # source ~/miniconda3/etc/profile.d/conda.sh
|
|
|
+ # conda activate central_controller
|
|
|
+ # cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DZT1_CENTRAL_CONTROLLER=1
|
|
|
+ # cmake --build build/ --target all -j4 --verbose
|
|
|
+ # - name: SelfTest
|
|
|
+ # run: |
|
|
|
+ # ./build/zerotier-selftest
|
|
|
+ - name: Get branch name and sanitize
|
|
|
+ id: branch
|
|
|
run: |
|
|
|
- source ~/miniconda3/etc/profile.d/conda.sh
|
|
|
- conda activate central_controller
|
|
|
- cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DZT1_CENTRAL_CONTROLLER=1
|
|
|
- cmake --build build/ --target all -j4 --verbose
|
|
|
- - name: SelfTest
|
|
|
+ BRANCH_NAME="${GITHUB_REF##*/}"
|
|
|
+ SANITIZED_BRANCH="${BRANCH_NAME//\//-}"
|
|
|
+ echo "branch_name=$SANITIZED_BRANCH" >> $GITHUB_OUTPUT
|
|
|
+
|
|
|
+ - name: Get short git commit SHA
|
|
|
+ id: sha
|
|
|
run: |
|
|
|
- ./build/zerotier-selftest
|
|
|
+ calculatedSha=$(git rev-parse --short ${{ github.sha }})
|
|
|
+ echo "COMMIT_SHORT_SHA=$calculatedSha" >> $GITHUB_ENV
|
|
|
|
|
|
+ - name: Build
|
|
|
+ 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 .
|
|
|
- name: GCP Auth
|
|
|
uses: google-github-actions/auth@v2
|
|
|
with:
|
|
@@ -51,22 +66,8 @@ jobs:
|
|
|
- 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/ztcentral-controller:${{ env.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/ztcentral-controller:${{ env.COMMIT_SHORT_SHA }}-${{ steps.branch.outputs.branch_name }}-${{ runner.arch }}
|
|
|
|
|
|
multi-arch-docker:
|