Skip to content

🌩️ Use cloud caching #48

🌩️ Use cloud caching

🌩️ Use cloud caching #48

Workflow file for this run

---
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//..."