Skip to content

Forward Proxy and Bridge integration #12

Forward Proxy and Bridge integration

Forward Proxy and Bridge integration #12

Workflow file for this run

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