name: Rust
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
LLVM_VERSION: 14
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install deps
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh $LLVM_VERSION && sudo ln -sf /usr/bin/llvm-config-$LLVM_VERSION /usr/bin/llvm-config
- name: Run tests
run: cargo test --verbose
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Install deps
run: brew update && brew install llvm@$LLVM_VERSION && brew upgrade llvm && ln -sf /usr/local/opt/llvm/bin/llvm-config /usr/local/bin/llvm-config
- name: Run tests
run: cargo test --verbose
all_linux_nightly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install deps
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh $LLVM_VERSION && sudo ln -sf /usr/bin/llvm-config-$LLVM_VERSION /usr/bin/llvm-config
- name: Nightly
run: rustup toolchain install nightly
- name: Run tests
run: cargo +nightly test --verbose --all
all_macos_nightly:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Install deps
run: brew update && brew install llvm@$LLVM_VERSION && brew upgrade llvm && ln -sf /usr/local/opt/llvm/bin/llvm-config /usr/local/bin/llvm-config
- name: Nightly
run: rustup toolchain install nightly
- name: Run tests
run: cargo +nightly test --verbose --all
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install deps
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh $LLVM_VERSION && sudo ln -sf /usr/bin/llvm-config-$LLVM_VERSION /usr/bin/llvm-config
- name: Nightly
run: rustup toolchain install nightly --profile=default
- name: Run tests
run: cargo +nightly clippy --all
doc:
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
CARGO_INCREMENTAL: 0
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install dependencies
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh $LLVM_VERSION && sudo ln -sf /usr/bin/llvm-config-$LLVM_VERSION /usr/bin/llvm-config
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
profile: minimal
override: true
components: rustfmt, rust-src
- name: Build Documentation
run: cargo doc --all
- name: Deploy Docs
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: ./target/doc
force_orphan: true