Skip to content

security: resolve RUSTSEC-2024-0371 and RUSTSEC-2024-0367 #202

security: resolve RUSTSEC-2024-0371 and RUSTSEC-2024-0367

security: resolve RUSTSEC-2024-0371 and RUSTSEC-2024-0367 #202

Workflow file for this run

name: check
permissions:
contents: write
pull-requests: write
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
env:
CARGO_REGISTRY_CRATES_IO_PROTOCOL: true
concurrency: # Spend CI time only on latest ref: https://docs.github.com/en/actions/using-jobs/using-concurrency
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
fmt:
runs-on: ubuntu-latest
name: stable / fmt
steps:
- uses: actions/checkout@v4
- name: Install stable
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: cargo fmt --check
run: cargo fmt --check
clippy:
runs-on: ubuntu-latest
name: ${{ matrix.toolchain }} / clippy
permissions:
contents: read
checks: write
strategy:
fail-fast: false
matrix:
toolchain: [stable, beta]
steps:
- uses: actions/checkout@v4
- name: Install ${{ matrix.toolchain }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
components: clippy
- name: cargo clippy
uses: LoliGothick/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
deny: warnings
doc:
runs-on: ubuntu-latest
name: nightly / doc
steps:
- name: Setup | Checkout
uses: actions/checkout@v4
- name: Setup | Rust nightly
uses: dtolnay/rust-toolchain@v1
with:
toolchain: nightly
- name: Run | Cargo doc
run: cargo doc --no-deps --all-features
env:
RUSTDOCFLAGS: --cfg docsrs
build:
name: Build binaries
strategy:
fail-fast: false
matrix:
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
name: tuxmux-x86_64-unknown-linux-gnu.tar.gz
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
name: tuxmux-aarch64-unknown-linux-gnu.tar.gz
- target: x86_64-apple-darwin
os: macos-latest
name: tuxmux-x86_64-apple-darwin.tar.gz
- target: aarch64-apple-darwin
os: macos-latest
name: tuxmux-aarch64-apple-darwin.tar.gz
runs-on: ${{ matrix.os }}
steps:
- name: Setup | Checkout
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
targets: ${{matrix.target}}
- name: Setup | Install cross [Linux]
if: matrix.os == 'ubuntu-latest'
uses: taiki-e/install-action@v2
with:
tool: cross
- name: Build | Build [Cargo]
if: matrix.os != 'ubuntu-latest'
run: cargo build --locked --target ${{ matrix.target }}
- name: Build | Build [Cross]
if: matrix.os == 'ubuntu-latest'
run: cross build --locked --target ${{ matrix.target }}
release_please:
name: Release Please
runs-on: ubuntu-latest
if: |
github.repository == 'edeneast/tuxmux'
&& (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
&& github.ref_name == 'main'
outputs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- uses: googleapis/release-please-action@v4
id: release
with:
token: ${{ secrets.GITHUB_TOKEN }}
config-file: .github/release-please-config.json
manifest-file: .github/release-please-manifest.json