Remove the default bound from Packable::Visitor #334
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
name: CI | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- 'documentation/**' | |
- '**.md' | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- 'documentation/**' | |
- '**.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-and-test: | |
name: build and test | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
rust: [nightly, beta, stable] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install LLVM and Clang (Windows) | |
uses: KyleMayes/install-llvm-action@32c4866ebb71e0949e8833eb49beeebed48532bd | |
if: matrix.os == 'windows-latest' | |
with: | |
version: "11.0" | |
directory: ${{ runner.temp }}/llvm | |
- name: Set LIBCLANG_PATH (Windows) | |
run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV | |
if: matrix.os == 'windows-latest' | |
- name: Install ${{ matrix.rust }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Cache cargo state | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-cargo | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
key: ${{ matrix.os }}-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-build | |
restore-keys: | | |
${{ matrix.os }}-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
${{ matrix.os }}-${{ matrix.rust }}-${{ env.cache-name }}- | |
${{ matrix.os }}-${{ matrix.rust }}- | |
${{ matrix.os }}- | |
- name: Cache target dir | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-target | |
with: | |
path: | | |
target/ | |
key: ${{ matrix.os }}-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-build | |
restore-keys: | | |
${{ matrix.os }}-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
${{ matrix.os }}-${{ matrix.rust }}-${{ env.cache-name }}- | |
${{ matrix.os }}-${{ matrix.rust }}- | |
${{ matrix.os }}- | |
- name: Build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --workspace --all-targets --all-features --release | |
- name: Test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --workspace --all-targets --all-features --release | |
- name: Doc Test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --workspace --doc --all-features --release | |
miri: | |
needs: build-and-test | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
crates: [ | |
"packable", | |
] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set rust nightly version | |
run: echo "NIGHTLY_VERSION=$(curl https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri)" >> $GITHUB_ENV | |
- name: Install rust nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-${{ env.NIGHTLY_VERSION }} | |
override: true | |
components: miri | |
- name: Cache cargo state | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-cargo | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
key: ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-build | |
restore-keys: | | |
ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}-${{ env.cache-name }}- | |
ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}- | |
ubuntu-latest- | |
- name: Cache target dir | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-target | |
with: | |
path: | | |
target/ | |
key: ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-build | |
restore-keys: | | |
ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}-${{ env.cache-name }}- | |
ubuntu-latest-nightly-${{ env.NIGHTLY_VERSION }}- | |
ubuntu-latest- | |
- name: Run tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: miri | |
args: test --release --all-features -p ${{ matrix.crates }} | |
no_std: | |
needs: build-and-test | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: [nightly, beta, stable] | |
crates: [ | |
"iterator-sorted", | |
"prefix-hex", | |
] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install ${{ matrix.rust }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
target: riscv64gc-unknown-none-elf | |
override: true | |
- name: Cache cargo state | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-cargo | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
key: ubuntu-latest-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-build | |
restore-keys: | | |
ubuntu-latest-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-${{ matrix.rust }}-${{ env.cache-name }}- | |
ubuntu-latest-${{ matrix.rust }}- | |
ubuntu-latest- | |
- name: Cache target dir | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-target | |
with: | |
path: | | |
target/ | |
key: ubuntu-latest-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-build | |
restore-keys: | | |
ubuntu-latest-${{ matrix.rust }}-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-${{ matrix.rust }}-${{ env.cache-name }}- | |
ubuntu-latest-${{ matrix.rust }}- | |
ubuntu-latest- | |
- name: Check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --release --target=riscv64gc-unknown-none-elf --manifest-path ${{ matrix.crates }}/Cargo.toml | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
needs: format | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: beta | |
override: true | |
components: clippy | |
- name: Cache cargo state | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-cargo | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
key: ubuntu-latest-beta-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-other | |
restore-keys: | | |
ubuntu-latest-beta-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-beta-${{ env.cache-name }}- | |
ubuntu-latest-beta- | |
ubuntu-latest- | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-targets --all-features -- -D warnings | |
udeps: | |
needs: clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Cache cargo state | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-cargo | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
key: ubuntu-latest-nightly-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-other | |
restore-keys: | | |
ubuntu-latest-nightly-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-nightly-${{ env.cache-name }}- | |
ubuntu-latest-nightly- | |
ubuntu-latest- | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: --force cargo-udeps | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: udeps | |
args: --all-targets --all-features --backend=depinfo | |
licenses: | |
needs: clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Cache cargo state | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-cargo | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
key: ubuntu-latest-nightly-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-other | |
restore-keys: | | |
ubuntu-latest-nightly-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-nightly-${{ env.cache-name }}- | |
ubuntu-latest-nightly- | |
ubuntu-latest- | |
- uses: actions-rs/cargo@v1 | |
name: Install cargo-about | |
with: | |
command: install | |
args: --force cargo-about | |
- name: Move `about.toml` to project root | |
run: mv .github/workflows/about.toml . | |
- uses: actions-rs/cargo@v1 | |
name: Initialize template | |
with: | |
command: about | |
args: init | |
- uses: actions-rs/cargo@v1 | |
name: Check licenses | |
with: | |
command: about | |
args: generate --workspace --all-features about.hbs | |
docs: | |
needs: clippy | |
runs-on: ubuntu-latest | |
env: | |
RUSTDOCFLAGS: "-D warnings" | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Cache cargo state | |
uses: actions/cache@v2 | |
env: | |
cache-name: cache-cargo | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
key: ubuntu-latest-nightly-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}-other | |
restore-keys: | | |
ubuntu-latest-nightly-${{ env.cache-name }}-${{ hashFiles('**/Cargo.toml') }}- | |
ubuntu-latest-nightly-${{ env.cache-name }}- | |
ubuntu-latest-nightly- | |
ubuntu-latest- | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --no-deps --document-private-items --all-features | |
missing-files: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run missing files check | |
run: > | |
bash .github/workflows/scripts/missing_files.sh packable/packable-derive-test |