Remove llvm patch #13
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: CI | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- "**" | |
paths-ignore: | |
- README.md | |
jobs: | |
build: | |
strategy: | |
matrix: | |
include: | |
- runner: [runs-on, runner=32cpu-linux-x64, "run-id=${{ github.run_id }}"] | |
os: ubuntu | |
cachekey: ubuntu-x86 | |
- runner: [runs-on, runner=32cpu-linux-arm64, "run-id=${{ github.run_id }}"] | |
os: ubuntu | |
cachekey: ubuntu-arm64 | |
- runner: self-hosted | |
os: macos | |
cachekey: macos-arm64 | |
- runner: macos-13 | |
os: macos | |
cachekey: macos-x86 | |
runs-on: ${{ matrix.runner }} | |
timeout-minutes: 120 | |
steps: | |
- name: Install nightly toolchain | |
id: rustc-toolchain | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: nightly-2024-05-29 | |
- uses: lukka/get-cmake@v3.30.2 | |
- name: Show rust version | |
run: | | |
cargo version | |
rustup toolchain list | |
- name: Check out athenavm/rustc-rv32e-toolchain | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
path: toolchain | |
- name: Check out athenavm/athena | |
uses: actions/checkout@v4 | |
with: | |
repository: athenavm/athena | |
path: athena | |
- name: Get Rust commit | |
run: | | |
RUST_COMMIT=$(cat toolchain/rust_commit.txt) | |
echo "Using Rust commit: $RUST_COMMIT" | |
echo "RUST_COMMIT=$RUST_COMMIT" >> $GITHUB_ENV | |
# This is a shortcut to allow caching. If we don't manually check out Rust here, | |
# the Athena CLI tool will refuse to check it out since the cache will have | |
# already restored files into the same directory. | |
# This command won't check out submodules recursively. The cache restore will do | |
# this for us, saving time. | |
- name: Check out Rust toolchain | |
uses: actions/checkout@v4 | |
with: | |
repository: rust-lang/rust | |
ref: ${{ env.RUST_COMMIT }} | |
path: toolchain/rust | |
- uses: actions/cache@v4 | |
name: Cache Athena build | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
athena/target/ | |
key: ${{ matrix.cachekey }}-athenabuild-${{ hashFiles('athena/**/Cargo.toml') }} | |
- uses: actions/cache@v4 | |
name: Cache Rust toolchain | |
with: | |
path: | | |
toolchain/rust/build | |
toolchain/rust/library | |
toolchain/rust/src/doc | |
toolchain/rust/src/llvm-project | |
toolchain/rust/src/tools | |
key: ${{ matrix.cachekey }}-rusttoolchain-${{ env.RUST_COMMIT }} | |
- name: Build | |
run: | |
GITHUB_ACTIONS=false ATHENA_BUILD_DIR=$GITHUB_WORKSPACE/toolchain cargo run --bin cargo-athena -- athena | |
build-toolchain | |
working-directory: athena |