CI refactor #606
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
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] # "windows-latest", "macos-latest"] | |
name: Tests on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Configure cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ matrix.os }}-cargo-${{ hashFiles('./Cargo.lock') }} | |
- name: Install rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
components: rustfmt clippy rust-src | |
targets: armv7-unknown-linux-gnueabihf | |
- name: Check formatting | |
run: cargo fmt --all --check | |
- name: Clippy | |
run: cargo clippy -- -D clippy::disallowed_macros | |
- name: Build all the things | |
run: cargo build --all-features --all-targets | |
- name: Run unit tests | |
run: cargo test --all-features | |
- shell: bash | |
run: mv ./target/debug/cargo-asm ./branch-asm | |
- name: Checkout master | |
uses: actions/checkout@v4 | |
with: | |
clean: false | |
ref: "0.2.40" | |
- name: Compile master | |
run: cargo build --all-features --bin cargo-asm | |
- shell: bash | |
run: mv ./target/debug/cargo-asm ./master-asm | |
- name: Upload binaries | |
uses: actions/upload-artifact@v4 | |
with: | |
name: binaries | |
path: | | |
master-asm | |
branch-asm | |
compare: | |
needs: build | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] # "windows-latest", "macos-latest"] | |
name: ${{ matrix.os }} integration | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
components: rustfmt clippy rust-src | |
targets: armv7-unknown-linux-gnueabihf | |
- name: Download math result for job 2 | |
uses: actions/download-artifact@v4 | |
with: | |
name: binaries | |
- shell: bash | |
run: | | |
chmod +x ./branch-asm | |
chmod +x ./master-asm | |
- name: basic | |
if: ${{ !cancelled() }} | |
run: ./.github/check.sh --manifest-path sample/Cargo.toml --lib --llvm sample::main | |
- name: should fail 0 | |
if: ${{ !cancelled() }} | |
run: ./.github/check.sh --manifest-path sample_merged/Cargo.toml 0 | |
- name: should fail 1 | |
if: ${{ !cancelled() }} | |
run: ./.github/check.sh --manifest-path sample_merged/Cargo.toml | |
# jobs: | |
# linux: | |
# name: Tests on Linux | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout repo | |
# uses: actions/checkout@v3 | |
# | |
# - name: Install rust toolchain | |
# uses: dtolnay/rust-toolchain@stable | |
# with: | |
# toolchain: stable | |
# components: rustfmt clippy rust-src | |
# targets: armv7-unknown-linux-gnueabihf | |
# | |
# - name: Build all the things | |
# run: cargo build --tests | |
# | |
# - name: Run unit tests | |
# run: cargo test --all-features | |
# | |
# - name: Clippy | |
# run: cargo clippy -- -D clippy::disallowed_macros | |
# | |
# - name: Check formatting | |
# run: cargo fmt --all --check | |
# | |
# - name: run disassembler on a binary | |
# run: cargo run --features disasm -- --manifest-path sample/Cargo.toml --bin sample sample::main 0 --disasm | |
# | |
# - name: run disassembler on a library | |
# run: cargo run --features disasm -- --manifest-path sample/Cargo.toml --lib sample::main 0 --disasm | |
# | |
# - name: run disassembler directly on a file | |
# run: cargo run --features disasm -- --file sample/target/release/sample sample::main 0 | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + native CPU | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --native --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + native CPU + no default features | |
# run: cargo run -- -vvv --manifest-path sample/Cargo.toml --lib --native --intel sample::main --rust --no-default-features | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + atom | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --target-cpu atom --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm with symbol mangling (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --rust --keep-mangled | |
# | |
# - name: Native version of cargo-show-asm (LLVM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm sample::main | |
# | |
# - name: Native version of cargo-show-asm with symbol mangling (LLVM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm --keep-mangled sample::main | |
# | |
# - name: Native version of cargo-show-asm (LLVM Input) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm-input sample::main | |
# | |
# - name: Native version of cargo-show-asm (MIR) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --mir "main()" | |
# | |
# - name: Crosscompiled version of cargo-show-asm (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --target armv7-unknown-linux-gnueabihf | |
# | |
# - name: Rlib project, AT&T asm | |
# run: cargo run -- --manifest-path sample_rlib/Cargo.toml --att | |
# | |
# - name: cdylib project | |
# run: cargo run -- --manifest-path sample_cdylib/Cargo.toml add | |
# | |
# - name: cdylib project, underscore prefix | |
# run: cargo run -- --manifest-path sample_cdylib/Cargo.toml _mul | |
# | |
# - name: merged functions | |
# run: | | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::merged_0 | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::merged_1 | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::one_num | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::one_plus_one | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::two_num | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::two_minus_one | |
# | |
# windows: | |
# runs-on: windows-latest | |
# name: Tests on windows | |
# steps: | |
# - name: Checkout repo | |
# uses: actions/checkout@v3 | |
# | |
# - name: Install rust toolchain | |
# uses: dtolnay/rust-toolchain@stable | |
# with: | |
# toolchain: stable | |
# components: rustfmt clippy rust-src | |
# targets: armv7-unknown-linux-gnueabihf | |
# | |
# - name: Build all the things | |
# run: cargo build --tests | |
# | |
# - name: Run unit tests | |
# run: cargo test --all-features | |
# | |
# - name: Clippy | |
# run: cargo clippy -- -D clippy::disallowed_macros | |
# | |
# - name: Check formatting | |
# run: cargo fmt --all --check | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + native CPU | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --native --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + native CPU + no default features | |
# run: cargo run -- -vvv --manifest-path sample/Cargo.toml --lib --native --intel sample::main --rust --no-default-features | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + atom | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --target-cpu atom --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm with symbol mangling (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --rust --keep-mangled | |
# | |
# - name: Native version of cargo-show-asm (LLVM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm sample::main | |
# | |
# - name: Native version of cargo-show-asm with symbol mangling (LLVM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm --keep-mangled sample::main | |
# | |
# - name: Native version of cargo-show-asm (LLVM Input) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm-input sample::main | |
# | |
# - name: Native version of cargo-show-asm (MIR) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --mir "main()" | |
# | |
# - name: Crosscompiled version of cargo-show-asm (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --target armv7-unknown-linux-gnueabihf | |
# | |
# - name: Rlib project, AT&T asm | |
# run: cargo run -- --manifest-path sample_rlib/Cargo.toml --att | |
# | |
# - name: cdylib project, everything | |
# run: cargo run -- --manifest-path sample_cdylib/Cargo.toml --everything | |
# | |
# - name: cdylib project | |
# run: cargo run -- --manifest-path sample_cdylib/Cargo.toml add | |
# | |
# - name: cdylib project, underscore prefix | |
# run: cargo run -- --manifest-path sample_cdylib/Cargo.toml _mul | |
# | |
# - name: merged functions | |
# run: | | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::merged_0 | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::merged_1 | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::one_num | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::one_plus_one | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::two_num | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::two_minus_one | |
# | |
# macos: | |
# runs-on: macos-latest | |
# name: Tests on MacOS | |
# steps: | |
# - name: Checkout repo | |
# uses: actions/checkout@v3 | |
# | |
# - name: Install rust toolchain | |
# uses: dtolnay/rust-toolchain@stable | |
# with: | |
# toolchain: stable | |
# components: rustfmt clippy rust-src | |
# targets: armv7-unknown-linux-gnueabihf | |
# | |
# - name: Build all the things | |
# run: cargo build --tests | |
# | |
# - name: Run unit tests | |
# run: cargo test --all-features | |
# | |
# - name: Clippy | |
# run: cargo clippy -- -D clippy::disallowed_macros | |
# | |
# - name: Check formatting | |
# run: cargo fmt --all --check | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + native CPU | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --native --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + native CPU + no default features | |
# run: cargo run -- -vvv --manifest-path sample/Cargo.toml --lib --native --intel sample::main --rust --no-default-features | |
# | |
# - name: Native version of cargo-show-asm (Intel ASM) + atom | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --target-cpu atom --intel sample::main --rust | |
# | |
# - name: Native version of cargo-show-asm with symbol mangling (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --rust --keep-mangled | |
# | |
# - name: Native version of cargo-show-asm (LLVM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm sample::main | |
# | |
# - name: Native version of cargo-show-asm with symbol mangling (LLVM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm --keep-mangled sample::main | |
# | |
# - name: Native version of cargo-show-asm (LLVM Input) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --llvm-input sample::main | |
# | |
# - name: Native version of cargo-show-asm (MIR) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --mir "main()" | |
# | |
# - name: Crosscompiled version of cargo-show-asm (Intel ASM) | |
# run: cargo run -- --manifest-path sample/Cargo.toml --lib --intel sample::main --target armv7-unknown-linux-gnueabihf | |
# | |
# - name: Rlib project, AT&T asm | |
# run: cargo run -- --manifest-path sample_rlib/Cargo.toml --att | |
# | |
# - name: cdylib project | |
# run: cargo run -- --manifest-path sample_cdylib/Cargo.toml add | |
# | |
# - name: cdylib project, underscore prefix | |
# run: cargo run -- --manifest-path sample_cdylib/Cargo.toml _mul | |
# | |
# - name: merged functions | |
# run: | | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::one_num | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::one_plus_one | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::two_num | |
# cargo run -- --manifest-path sample_merged/Cargo.toml sample_merged::two_minus_one |