Update itertools requirement from 0.13.0 to 0.14.0 #1650
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: Main CI | |
on: | |
push: | |
branches: ["*"] | |
pull_request: | |
branches: ["*"] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
cargo-fmt: | |
name: "Format rust code" | |
if: ${{ vars.CI_CARGO_FMT_ENABLED == 'true' && github.ref == 'refs/heads/main' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Use nightly toolchain for formatting | |
run: | | |
rustup default nightly | |
rustup component add rustfmt | |
- name: Run cargo fmt | |
run: cargo fmt --all | |
- name: Commit & push changes | |
uses: EndBug/add-and-commit@v9 | |
with: | |
default_author: github_actions | |
message: '[bot] Format Rust code' | |
# Disabled in the main CI | |
# parser-fuzz-test: | |
# name: Parser fuzz test (constant seed) | |
# if: ${{ false }} | |
# # if: ${{ always() && needs.cargo-coverage.result == 'success' }} | |
# needs: [cargo-fmt] | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: Swatinem/rust-cache@v2 | |
# with: | |
# shared-key: "post-cargo-build" | |
# - name: Python setup | |
# run: pip3 install fuzzingbook | |
# - name: Fuzzer tests | |
# run: utils/parser_test.py --seed 3721 | |
cargo-coverage: | |
name: Tests & coverage | |
if: ${{ always() }} | |
needs: [cargo-fmt] | |
runs-on: ubuntu-latest | |
container: | |
image: xd009642/tarpaulin | |
options: --security-opt seccomp=unconfined | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
# - name: Install iVerilog | |
# run: | | |
# apt-get update | |
# apt-get install -y iverilog | |
- name: Unpack iVerilog | |
run: tar xf .github/iverilog-12.0-bin.tar.xz | |
- name: Run tests & get coverage | |
env: | |
IVERILOG_PATH: ${{ github.workspace }}/iverilog-12.0/bin/iverilog | |
VVP_PATH: ${{ github.workspace }}/iverilog-12.0/bin/vvp | |
run: | | |
cargo tarpaulin --verbose --all-features --workspace --timeout 120 --out xml | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v2 | |
continue-on-error: true | |
if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/main' }} | |
with: | |
token: ${{secrets.CODECOV_TOKEN}} | |
fail_ci_if_error: true | |
cargo-release-test: | |
name: Cargo test | |
needs: [cargo-coverage] | |
if: ${{ always() && needs.cargo-coverage.result == 'success' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Unpack iVerilog | |
run: tar xf .github/iverilog-12.0-bin.tar.xz | |
- name: Run tests in release mode | |
run: cargo test --workspace --verbose --release | |
env: | |
IVERILOG_PATH: ${{ github.workspace }}/iverilog-12.0/bin/iverilog | |
VVP_PATH: ${{ github.workspace }}/iverilog-12.0/bin/vvp |