@@ -73,23 +73,36 @@ permissions:
7373 id-token : write # required for GCP Workload Identity federation which we use to login into Google Artifact Registry
7474
7575jobs :
76- pre-build-validation :
77- outputs :
78- image-exist : ${{ steps.set-output.outputs.image-exist }}
79- runs-on : runs-on,cpu=4,family=c7,image=aptos-ubuntu-x64,run-id=${{ github.run_id }},spot=co,disk=small
80- steps :
76+ rust-all :
77+ runs-on : runs-on,cpu=64,family=c7,image=aptos-ubuntu-x64,run-id=${{ github.run_id }},spot=co,disk=large
78+ steps :
8179 - uses : actions/checkout@v4
8280 with :
8381 ref : ${{ env.GIT_SHA }}
8482
85- - name : Authenticate to Google Cloud
86- id : auth
87- uses : " google-github-actions/auth@v2"
83+ - name : Setup Runs On Cache for Docker
84+ uses : runs-on/cache@v4
85+ with :
86+ path : |
87+ /home/runner/docker-cache.tzst
88+ key : docker-buildkit-cache-${{ env.PROFILE }}-${{ env.FEATURES }}${{ hashFiles('Cargo.lock') }}
89+
90+ - name : Untar cache if present
91+ run : |
92+ if [ -f /home/runner/docker-cache.tzst ]; then
93+ sudo systemctl stop docker
94+ sudo tar --posix -xf /home/runner/docker-cache.tzst -P -C /var/lib/docker --use-compress-program zstdmt .
95+ sudo systemctl start docker
96+ fi
97+
98+ - uses : aptos-labs/aptos-core/.github/actions/docker-setup@main
8899 with :
89- workload_identity_provider : ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
90- service_account : ${{ secrets.GCP_SERVICE_ACCOUNT_EMAIL }}
91- export_environment_variables : false
92- create_credentials_file : true
100+ GCP_WORKLOAD_IDENTITY_PROVIDER : ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
101+ GCP_SERVICE_ACCOUNT_EMAIL : ${{ secrets.GCP_SERVICE_ACCOUNT_EMAIL }}
102+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
103+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
104+ AWS_DOCKER_ARTIFACT_REPO : ${{ secrets.AWS_DOCKER_ARTIFACT_REPO }}
105+ GIT_CREDENTIALS : ${{ secrets.GIT_CREDENTIALS }}
93106
94107 - name : Check if docker images already exist
95108 id : check-images
@@ -99,15 +112,6 @@ jobs:
99112 GIT_SHA : ${{ env.GIT_SHA }}
100113 GCP_DOCKER_ARTIFACT_REPO : ${{ env.GCP_DOCKER_ARTIFACT_REPO }}
101114 WAIT_FOR_IMAGE_SECONDS : 1
102-
103- - name : Set output
104- id : set-output
105- run : |
106- if [ "${{ steps.check-images.outcome }}" = "success" ]; then
107- echo "image-exist=true" >> $GITHUB_OUTPUT
108- else
109- echo "image-exist=false" >> $GITHUB_OUTPUT
110- fi
111115
112116 - name : Lock File Check and Lock if not exists
113117 id : check-lock
@@ -128,39 +132,6 @@ jobs:
128132 echo "Docker Build locked"
129133 fi
130134
131- rust-all :
132- runs-on : runs-on,cpu=64,family=c7,image=aptos-ubuntu-x64,run-id=${{ github.run_id }},spot=co,disk=large
133- needs : pre-build-validation
134- if : needs.pre-build-validation.outputs.image-exist == 'false'
135- steps :
136- - uses : actions/checkout@v4
137- with :
138- ref : ${{ env.GIT_SHA }}
139-
140- - name : Setup Runs On Cache for Docker
141- uses : runs-on/cache@v4
142- with :
143- path : |
144- /home/runner/docker-cache.tzst
145- key : docker-buildkit-cache-${{ env.PROFILE }}-${{ env.FEATURES }}${{ hashFiles('Cargo.lock') }}
146-
147- - name : Untar cache if present
148- run : |
149- if [ -f /home/runner/docker-cache.tzst ]; then
150- sudo systemctl stop docker
151- sudo tar --posix -xf /home/runner/docker-cache.tzst -P -C /var/lib/docker --use-compress-program zstdmt .
152- sudo systemctl start docker
153- fi
154-
155- - uses : aptos-labs/aptos-core/.github/actions/docker-setup@main
156- with :
157- GCP_WORKLOAD_IDENTITY_PROVIDER : ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
158- GCP_SERVICE_ACCOUNT_EMAIL : ${{ secrets.GCP_SERVICE_ACCOUNT_EMAIL }}
159- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
160- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
161- AWS_DOCKER_ARTIFACT_REPO : ${{ secrets.AWS_DOCKER_ARTIFACT_REPO }}
162- GIT_CREDENTIALS : ${{ secrets.GIT_CREDENTIALS }}
163-
164135 - name : Build and Push Rust images
165136 run : docker/builder/docker-bake-rust-all.sh
166137 env :
0 commit comments