mirror of
https://github.com/veeso/termscp.git
synced 2026-08-31 01:15:56 -07:00
afbc74113f
Deploy docs to GitHub Pages / deploy (push) Has been cancelled
Site / build-site (push) Has been cancelled
Install.sh / build (macos-latest) (push) Has been cancelled
Install.sh / build (ubuntu-latest) (push) Has been cancelled
CI / toolchain (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / install-scripts (push) Has been cancelled
CI / crates-ubuntu-latest (push) Has been cancelled
CI / crates-windows-latest (push) Has been cancelled
CI / doc (push) Has been cancelled
CI / deny (push) Has been cancelled
CI / crates-macos-latest (push) Has been cancelled
* ci: migrate project automation to Just Centralize build, test, release, dependency, hook, and website commands in Just recipes. Pin workflow tooling, use the repository toolchain, and run the complete validation set in CI. * ci: codex being codex * docs: update CLAUDE.md for just task runner migration Reflect the switch to just recipes for build/test/clippy/fmt, note dprint replacing raw rustfmt, and add a cross-platform code requirement. * fix: resolve clippy warnings breaking CI on ubuntu and windows Use clone() instead of implicit to_string() on already-owned String values, gate the windows-only unused make_file_at import behind cfg(posix), and fix unused mut / manual assign-op in the windows-only localhost test. * fix: fmt
139 lines
4.3 KiB
YAML
139 lines
4.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
paths-ignore:
|
|
- "*.md"
|
|
- "site/**"
|
|
push:
|
|
branches: [main]
|
|
paths-ignore:
|
|
- "*.md"
|
|
- "site/**"
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
toolchain:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
channel: ${{ steps.extract.outputs.result }}
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
- name: Extract toolchain channel from rust-toolchain.toml
|
|
id: extract
|
|
uses: mikefarah/yq@c14f446382944492701b16c1ddb48bb9dbe683e3 # v4.53.6
|
|
with:
|
|
cmd: yq '.toolchain.channel' rust-toolchain.toml
|
|
|
|
fmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
- name: Install Rust (nightly)
|
|
uses: dtolnay/rust-toolchain@4360b52568e2003a75bf9bc1d59f33a8e3fc893c # stable
|
|
with:
|
|
toolchain: nightly
|
|
components: rustfmt
|
|
- name: Check formatting
|
|
uses: dprint/check@9cb3a2b17a8e606d37aae341e49df3654933fc23 # v2.3
|
|
|
|
install-scripts:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
- name: Install just
|
|
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4
|
|
- name: Check install scripts
|
|
run: just check_install_scripts
|
|
|
|
crates:
|
|
needs: toolchain
|
|
name: crates-${{ matrix.os }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
- name: Install Linux dependencies
|
|
if: runner.os == 'Linux'
|
|
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev libsmbclient-dev
|
|
- name: Install macOS dependencies
|
|
if: runner.os == 'macOS'
|
|
run: |
|
|
brew update
|
|
brew install \
|
|
pkg-config \
|
|
samba
|
|
brew link --force samba
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@4360b52568e2003a75bf9bc1d59f33a8e3fc893c # stable
|
|
with:
|
|
toolchain: ${{ needs.toolchain.outputs.channel }}
|
|
components: clippy
|
|
- name: Install just
|
|
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4
|
|
- name: Build
|
|
run: just build_crates
|
|
- name: Test (Linux)
|
|
if: runner.os == 'Linux'
|
|
run: just test "--no-default-features --features github-actions --no-fail-fast"
|
|
- name: Test
|
|
if: runner.os != 'Linux'
|
|
run: just test "--verbose --features github-actions"
|
|
- name: Clippy
|
|
run: just clippy "-- -D warnings"
|
|
|
|
doc:
|
|
needs: toolchain
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
- name: Install Linux dependencies
|
|
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev libsmbclient-dev
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@4360b52568e2003a75bf9bc1d59f33a8e3fc893c # stable
|
|
with:
|
|
toolchain: ${{ needs.toolchain.outputs.channel }}
|
|
- name: Install just
|
|
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4
|
|
- name: Build documentation
|
|
run: just doc
|
|
|
|
deny:
|
|
needs: toolchain
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@4360b52568e2003a75bf9bc1d59f33a8e3fc893c # stable
|
|
with:
|
|
toolchain: ${{ needs.toolchain.outputs.channel }}
|
|
- name: Install cargo-deny
|
|
uses: taiki-e/install-action@37f7c5781271959fb65b6b35224e28652ff2b63d # v2.87.0
|
|
with:
|
|
tool: cargo-deny
|
|
- name: Install just
|
|
uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4
|
|
- name: Check dependencies
|
|
run: just deny
|