Simplify main #409
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: Rust | |
on: [push, pull_request] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all-features | |
test-default: | |
name: Test Suite (default) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
test-protobuf: | |
name: Test Suite (protobuf) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features protobuf | |
test-all: | |
name: Test Suite (all) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all-features | |
test-build-bin: | |
name: Test build binary | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --all-features | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: rustup component add rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: rustup component add clippy | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-features -- -D warnings | |
etsi-standards: | |
name: ETSI | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: > | |
wget | |
--retry-connrefused --waitretry=2 --read-timeout=10 --timeout=10 -t 10 | |
https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/raw/151b191121d05c3b808f5dec14387339730db14f/ITS-Container.asn | |
https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2/raw/7ae4195d48dd468754a50f1a3bb0c2ce976ae15a/CAM-PDU-Descriptions.asn | |
https://forge.etsi.org/rep/ITS/asn1/denm_en302637_3/raw/29ec748fd9a0e44b91e1896867fa34453781e334/DENM-PDU-Descriptions.asn | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- tests ITS-Container.asn CAM-PDU-Descriptions.asn DENM-PDU-Descriptions.asn | |
- run: sed -i '1i mod its_container;' tests/cam_pdu_descriptions.rs | |
- run: sed -i 's/super::/crate::/g' tests/cam_pdu_descriptions.rs | |
- run: sed -i '1i mod its_container;' tests/denm_pdu_descriptions.rs | |
- run: sed -i 's/super::/crate::/g' tests/denm_pdu_descriptions.rs | |
- run: bash -c "echo '#[test] fn does_it_compile() { let _ = StationId(1); }' >> tests/its_container.rs" | |
- run: bash -c "echo '#[test] fn does_it_compile() { let _ = GenerationDeltaTime(1); }' >> tests/cam_pdu_descriptions.rs" | |
- run: bash -c "echo '#[test] fn does_it_compile() { }' >> tests/denm_pdu_descriptions.rs" | |
- run: cat tests/its_container.rs | |
- run: cat tests/cam_pdu_descriptions.rs | |
- run: cat tests/denm_pdu_descriptions.rs | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: > | |
--test its_container | |
--test cam_pdu_descriptions | |
--test denm_pdu_descriptions | |
coverage: | |
name: Test Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Run cargo-tarpaulin | |
uses: actions-rs/[email protected] | |
with: | |
version: '0.18.0-alpha1' | |
args: '--out Xml --out Lcov -p asn1rs -p asn1rs-model -p asn1rs-macros --all-features -- --test-threads 1 --nocapture' | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v1 | |
with: | |
name: code-coverage-report | |
path: cobertura.xml | |
- name: Upload to Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: './lcov.info' | |
cargo-deny: | |
name: Check license and vulnerabilities | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: EmbarkStudios/cargo-deny-action@v1 |