make bincode optional for plexi_core #11
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 checks | |
on: [push, pull_request] | |
jobs: | |
test: | |
name: Test on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install protoc on Ubuntu | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y protobuf-compiler | |
- name: Install protoc on Windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
choco install protoc --version=3.20.0 | |
# You can change the version as needed | |
$env:PATH += ";C:\ProgramData\chocolatey\bin" | |
- name: Install protoc on macOS | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install protobuf | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.81 | |
override: true | |
- name: cargo fetch | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fetch | |
- name: Build tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --all --verbose --exclude plexi_cli --all-features --tests | |
- name: Run tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all --verbose --exclude plexi_cli --all-features | |
build: | |
name: Build target ${{ matrix.target }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- wasm32-unknown-unknown | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install protoc on Ubuntu | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y protobuf-compiler | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.81 | |
override: true | |
- name: Add target | |
run: rustup target add ${{ matrix.target }} | |
- name: cargo fetch | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fetch | |
- name: Build for target | |
working-directory: ./plexi_core | |
run: cargo build --verbose --no-default-features --target ${{ matrix.target }} | |
bitrot: | |
name: Bitrot | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install protoc on Ubuntu | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y protobuf-compiler | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.81 | |
override: true | |
- name: cargo check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --tests --examples --benches --all-features | |
clippy: | |
name: Clippy (1.81) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install protoc on Ubuntu | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y protobuf-compiler | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.81 | |
components: clippy | |
override: true | |
- name: Clippy check | |
uses: actions-rs/clippy-check@v1 | |
with: | |
name: Clippy (1.81) | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features --all-targets -- -D warnings | |
doc-links: | |
name: Intra-doc links | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install protoc on Ubuntu | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y protobuf-compiler | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.81 | |
override: true | |
- name: cargo fetch | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fetch | |
# Ensure intra-documentation links all resolve correctly | |
# Requires #![deny(intra_doc_link_resolution_failure)] in crates. | |
- name: Check intra-doc links | |
uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --all --exclude plexi_cli --all-features --document-private-items | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.81 | |
components: rustfmt | |
override: true | |
- name: Check formatting | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check |