Forward Proxy and Bridge integration #15
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: Rust | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
CARGO_TERM_COLOR: always | |
RUSTFLAGS: '-D warnings' | |
jobs: | |
format: | |
name: Verify code Fromatting | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Format | |
run: cargo fmt --all -- --check | |
lint: | |
name: Lint with clippy | |
needs: format | |
strategy: | |
fail-fast: true | |
runs-on: "ubuntu-latest" | |
env: | |
RUSTFLAGS: -Dwarnings | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: clippy, rustfmt | |
- name: Install clippy | |
run: rustup component add clippy --toolchain nightly | |
- name: Lint | |
run: cargo clippy --workspace --all-targets --verbose --all-features | |
bench: | |
name: Check that benchmarks compile | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Build u32 bench | |
env: | |
RUSTFLAGS: '--cfg curve25519_dalek_bits="32"' | |
run: cargo build --benches | |
- name: Build u64 bench | |
env: | |
RUSTFLAGS: '--cfg curve25519_dalek_bits="64"' | |
run: cargo build --benches | |
- name: Build default (host native) bench | |
run: cargo build --benches | |
test-stable: | |
name: Test 32/64 bit stable | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
# 32-bit target | |
- target: i686-unknown-linux-gnu | |
deps: sudo apt update && sudo apt install gcc-multilib | |
# 64-bit target | |
- target: x86_64-unknown-linux-gnu | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: rustup target add ${{ matrix.target }} | |
- run: ${{ matrix.deps }} | |
- run: cargo test --target ${{ matrix.target }} --workspace --all-targets --no-default-features | |
- run: cargo test --target ${{ matrix.target }} --workspace --all-targets | |
- run: cargo test --target ${{ matrix.target }} --workspace --all-targets --all-features | |
# - name: Test | |
# run: cargo test --verbose --workspace --all-features | |
# env: | |
# CARGO_INCREMENTAL: '0' | |
# RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' | |
# RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' | |
test-nightly: | |
name: Test Nightly | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo test --workspace --all-targets | |
build: | |
name: Build | |
needs: format | |
# needs: [format, lint] | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ "ubuntu-latest" ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@nightly | |
# Build ptrs library | |
- name: Build library | |
run: cargo build | |
# Build ptrs proxy PoC | |
- name: Build library | |
run: cargo build --bin proxy --release | |
- name: Install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- name: Generate code coverage | |
run: cargo llvm-cov --all-features --workspace --codecov --output-path codecov.json | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.PTRS_CODECOV_TOKEN }} | |
with: | |
files: codecov.json | |
verbose: true | |
fail_ci_if_error: true |