From 1c2d70ac0d01c8a0435d1fdc44e043ea8d8877b7 Mon Sep 17 00:00:00 2001 From: Jamil Date: Fri, 15 Aug 2025 20:16:30 -0400 Subject: [PATCH] chore(infra): push relay binary to gcp (#10196) The COS images we currently use to run our Relays ship with an older Linux kernel that doesn't have some of the nice verifier improvements for our eBPF relay. To fix this, we need to use Ubuntu 24.04. To keep things simple there, we would like to avoid installing Docker on that image and instead run the Relay raw. To support that, we first need to push the built relay binary to our staging cloud storage bucket. Related: #10177 Related: https://github.com/firezone/infra/pull/116 --------- Signed-off-by: Jamil Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/_build_artifacts.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/_build_artifacts.yml b/.github/workflows/_build_artifacts.yml index 3a6c5b62e..4d54c4249 100644 --- a/.github/workflows/_build_artifacts.yml +++ b/.github/workflows/_build_artifacts.yml @@ -318,6 +318,26 @@ jobs: # Used for Docker images cp target/${{ matrix.arch.target }}/${{ inputs.profile }}/${{ matrix.name.package }} ${{ matrix.name.package }} + # For pushing built images to Google Cloud Storage + - uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10 + if: ${{ inputs.profile == 'release' && matrix.stage == 'release' && matrix.name.artifact == 'firezone-relay' }} + with: + token_format: access_token + workload_identity_provider: "projects/85623168602/locations/global/workloadIdentityPools/github-pool/providers/github-provider" + service_account: "github-account@firezone-staging.iam.gserviceaccount.com" + export_environment_variables: true + create_credentials_file: true + - name: Copy relay to Google Cloud Storage + if: ${{ inputs.profile == 'release' && matrix.stage == 'release' && matrix.name.artifact == 'firezone-relay' }} + run: | + set -e + gcloud storage cp \ + "$BINARY_DEST_PATH" \ + gs://firezone-staging-artifacts/${{ matrix.name.image_name }}/${{ inputs.sha }}/${{ matrix.arch.shortname }} + + gcloud storage cp \ + "$BINARY_DEST_PATH".sha256sum.txt \ + gs://firezone-staging-artifacts/${{ matrix.name.image_name }}/${{ inputs.sha }}/${{ matrix.arch.shortname }}.sha256sum.txt - name: Upload Release Assets if: ${{ inputs.profile == 'release' && matrix.stage == 'release' && matrix.name.release_name }} env: