fix(ftp): FTP never worked — doubled web root, plus a self-check that… #317
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| # Gates every PR (and pushes to main) on the checks the project now maintains: | |
| # rustfmt, clippy, build, and the full test suite. release.yml only builds the | |
| # three shipped binaries; this also formats/lints/tests everything so a | |
| # regression is caught before it reaches the rolling release. | |
| # | |
| # clippy runs WITHOUT `-D warnings`: the crate-level deny(unwrap_used/ | |
| # expect_used) gates already make those hard errors, while the remaining style | |
| # lints (complex types, doc formatting, …) stay non-fatal warnings until they're | |
| # cleaned up. So clippy here enforces "no new unwrap/expect in shipping code" | |
| # without red-X'ing on pre-existing style debt. | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| # Newer PR commits supersede older runs. | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true' | |
| jobs: | |
| check: | |
| # 24.04, not 22.04: the master↔node wire tests assert on curl's | |
| # `--write-out` captures (`%{certs}` needs curl 7.88, `%header{}` 7.84). | |
| # 22.04 ships 7.81, so those tests skipped themselves and the response- | |
| # authentication path was never actually exercised in CI. Debian 12 — the | |
| # deployment target — ships 7.88, so 24.04 is also the closer match. | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Cargo cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Format check | |
| run: cargo fmt --all --check | |
| - name: Clippy | |
| # Not -D warnings — the crate-level deny(unwrap_used/expect_used) is the | |
| # hard gate; style lints stay as (non-fatal) warnings for now. | |
| run: cargo clippy --workspace --all-targets | |
| - name: Tests | |
| run: cargo test --workspace | |
| - name: Build (release — mirrors the rolling release) | |
| run: cargo build --workspace --release |