name: "publish"
on:
push:
branches: [main]
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
CARGO_TERM_COLOR: always
jobs:
linux:
runs-on: ubuntu-22.04
strategy:
matrix:
toolchain: [1.88.0, 1.89.0, stable]
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt update
sudo apt install -y cmake libclang-dev wget gnupg ca-certificates lsb-release --no-install-recommends
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
components: rustfmt, clippy
- name: Run cargo fmt
run: cargo fmt --all -- --check
- name: Run cargo clippy
if: matrix.toolchain == 'stable'
run: |
cargo install typos-cli
make lint
- name: Run cargo machete
run: |
cargo install cargo-machete@0.7.0
cargo machete
- name: Run cargo msrv
if: matrix.toolchain == 'stable'
run: |
cargo install cargo-msrv --version 0.18.4
cargo msrv list
- name: Run cargo release
run: |
make release
ldd target/release/httpstat
- name: Run upx
run: |
ls -lh target/release/httpstat
curl -L https://github.com/upx/upx/releases/download/v5.0.1/upx-5.0.1-amd64_linux.tar.xz | tar --xz -xvf -
./upx-5.0.1-amd64_linux/upx target/release/httpstat
ls -lh target/release/httpstat