🌩️ Use cloud caching #48
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: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
# yamllint disable rule:line-length | |
role-to-assume: arn:aws:iam::471112781046:role/service-role/gha-authenticated/GitHubAction | |
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: Get AWS session token | |
id: get_session_token | |
run: | | |
# yamllint disable rule:line-length | |
TOKEN=$(aws sts get-session-token --query 'Credentials.SessionToken' --output text) | |
echo "SESSION_TOKEN=$TOKEN" >> $GITHUB_OUTPUT | |
- name: Invoke Bazel build in Nix shell | |
env: | |
# yamllint disable rule:line-length | |
AWS_SESSION_TOKEN: ${{ steps.get_session_token.outputs.SESSION_TOKEN }} | |
run: | | |
nix develop --impure --command \ | |
bash -c "bazel test \ | |
--jobs=4 \ | |
--verbose_failures \ | |
--experimental_remote_cache_async \ | |
--remote_header=x-nativelink-api-key=$AWS_SESSION_TOKEN \ | |
--remote_cache=grpcs://cas-gha-ci.build-faster.nativelink.net:443 \ | |
@mojo//..." |