Skip to content

console changes, better measurements #187

console changes, better measurements

console changes, better measurements #187

Workflow file for this run

name: Lint
permissions:
contents: read
on:
push:
paths:
- 'typhoon/**'
- 'evaluation/**'
- '.github/workflows/lint.yaml'
- '.shellcheckrc'
- '**.md'
- '**.go'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
all-lint:
name: Lint All the Code
runs-on: ubuntu-latest
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v4
- name: Lint markdown πŸ“
uses: DavidAnson/markdownlint-cli2-action@v19
with:
globs: '**/*.md'
- name: Check shell scripts 🐚
uses: ludeeus/action-shellcheck@2.0.0
with:
scandir: "."
env:
SHELLCHECK_OPTS: -s bash -e SC2034
- name: Check Dockerfile configuration πŸ“¦
uses: hadolint/hadolint-action@v3.1.0
with:
recursive: true
config: evaluation/.hadolint.yaml
- name: Setup Rust πŸ¦€
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt, clippy, miri
rust-src-dir: typhoon
override: true
- name: Install cargo-udeps and cargo-machete πŸ“¦
uses: taiki-e/install-action@v2
with:
tool: cargo-udeps,cargo-machete
- name: Check formatting 🎨
run: |
cd typhoon && cargo fmt --check
cd ../evaluation/protocols/typhoon && cargo fmt --check
cd ../wireguard_daita/machines-printer && cargo fmt --check
- name: Run clippy πŸ“Ž
working-directory: typhoon
run: |
cargo clippy --lib --bins --examples --benches --features debug,capture,clap
cargo clippy --lib --bins --examples --benches --no-default-features --features full_hardware,server,client,async-std,debug,capture,clap
- name: Run miri on unsafe code πŸ”¬
working-directory: typhoon
env:
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-many-seeds=0..8
run: |
cargo miri test --lib bytes::
- name: Check documentation πŸ“š
working-directory: typhoon
env:
RUSTDOCFLAGS: "-D warnings"
run: |
cargo doc --no-deps --examples --features debug,capture,clap
cargo doc --no-deps --examples --no-default-features --features full_hardware,server,client,async-std,debug,capture,clap
cargo test --doc --features debug,capture,clap
- name: Check for unused dependencies 🧹
working-directory: typhoon
run: |
cargo udeps --all-targets
cargo machete
- name: Setup Python 🐍
uses: actions/setup-python@v6.2.0
with:
python-version: "3.12"
- name: Check Python code πŸ“œ
uses: astral-sh/ruff-action@v3
with:
args: "check --config evaluation/pyproject.toml evaluation/src evaluation/protocols evaluation/background"
- name: Setup Go 🦫
uses: actions/setup-go@v5
with:
go-version: "1.22"
- name: Lint Go (wireguard_daita) πŸ”
working-directory: evaluation/protocols/wireguard_daita/wg-daita
run: |
git clone --depth=1 --branch mullvad https://github.com/mullvad/wireguard-go ../wireguard-go
go install honnef.co/go/tools/cmd/staticcheck@latest
go mod tidy
staticcheck -tags daita ./...