TMP #220
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: tako | |
on: [push] | |
env: | |
CARGO_TERM_COLOR: always | |
defaults: | |
run: | |
working-directory: tako | |
jobs: | |
tako: | |
name: tako CI ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] #, windows-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
/home/runner/.cargo/ | |
target | |
key: ${{ runner.os }}-tako-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-tako-cargo-${{ hashFiles('**/Cargo.lock') }} | |
${{ runner.os }}-tako-cargo- | |
${{ runner.os }}- | |
- name: Cache LLVM and Clang | |
id: cache-llvm | |
uses: actions/cache@v3 | |
with: | |
path: | | |
C:/Program Files/LLVM | |
./llvm | |
key: llvm-17.0 | |
- name: Install LLVM and Clang | |
uses: KyleMayes/install-llvm-action@v1 | |
with: | |
version: "17.0" | |
cached: ${{ steps.cache-llvm.outputs.cache-hit }} | |
- name: Setup LLVM_PATH | |
run: "export LLVM_SYS_170_PREFIX=\"$LLVM_PATH\"" | |
- name: Check llvm path | |
run: "echo \"LLVM_PATH: $LLVM_PATH\"; echo \"LLVM_SYS_170_PREFIX: $LLVM_SYS_170_PREFIX\"; ls $LLVM_SYS_170_PREFIX" | |
- name: Run tests | |
run: cargo test --locked --release --verbose | |
- name: Run ignored tests | |
run: cargo test --locked --release --verbose -- --ignored | |
- name: Build | |
run: cargo build --locked --release --verbose | |
- name: Upload executable Linux | |
if: runner.os == 'Linux' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tako | |
path: ./target/release/tako | |
- name: Upload executable Windows | |
if: runner.os == 'Windows' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tako.exe | |
path: ./target/release/tako.exe | |
- name: Install clippy | |
run: rustup component add clippy | |
- name: Clippy takolib | |
run: cargo clippy --all-features -- -D warnings | |
- name: Clippy tako | |
run: cargo clippy --all-features -- -D warnings | |
- name: Install fmt | |
run: rustup component add rustfmt | |
- name: Format | |
run: cargo fmt --all -- --check |