🌩️ Use cloud caching #44
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: 🔥 Test Mojo Standard library | |
"on": | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
stdlib-tests: | |
strategy: | |
fail-fast: false | |
# TODO(aaronmondal): Add macos-14 | |
matrix: | |
os: [ubuntu-24.04] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
permissions: | |
id-token: write | |
steps: | |
- name: Get Web Identity Token via Cognito Identity Pool | |
id: web_id_token | |
# See: https://github.com/catnekaise/cognito-idpool-auth/issues/6 | |
uses: >- # alpha | |
catnekaise/cognito-idpool-basic-auth@287d4dabb527d8b78d3df6e0436d46e3abd209d3 | |
with: | |
# yamllint disable rule:line-length | |
cognito-identity-pool-id: "us-east-2:7edef192-7c1c-4e55-8ab4-6035b9c2288f" | |
aws-account-id: "471112781046" | |
aws-region: "us-east-2" | |
audience: "sts.amazonaws.com" | |
- name: Checkout | |
uses: >- #v4.1.6 | |
actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 | |
- name: Install Nix | |
uses: >- # v11 | |
DeterminateSystems/nix-installer-action@8cdf194da984e4f12b2f8c36d1fa107c1dd67f5c | |
- name: Cache Nix derivations | |
uses: >- # v6 | |
DeterminateSystems/magic-nix-cache-action@87e8236f46702ab0ce5a058b605a173ec88d618e | |
- name: Create secret from token | |
uses: actions/github-script@v6 | |
with: | |
# yamllint disable rule:line-length | |
script: >- | |
core.setSecret('NATIVELINK_TOKEN', | |
'${{ steps.web_id_token.outputs.cognito_identity_oidc_access_token }}') | |
- name: Invoke Bazel build in Nix shell | |
env: | |
NATIVELINK_TOKEN: ${{ env.NATIVELINK_TOKEN }} | |
run: | | |
nix develop --impure --command \ | |
bash -c "bazel test \ | |
--jobs=4 \ | |
--verbose_failures \ | |
--experimental_remote_cache_async \ | |
--remote_header=x-nativelink-api-key=$NATIVELINK_TOKEN \ | |
--remote_cache=grpcs://cas-gha-ci.build-faster.nativelink.net:443 \ | |
@mojo//..." |