Skip to content

Add step to test building of the asn1rs binary #404

Add step to test building of the asn1rs binary

Add step to test building of the asn1rs binary #404

Workflow file for this run

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