56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
# The Windows build, which the Macs this is developed on cannot compile:
|
||
# the whole crate through clippy, the external CLI's tests, including the
|
||
# named pipe between two processes, the updater's, and the local SFTP pane's
|
||
# paths (std canonicalizes to `\\?\C:\…` there).
|
||
#
|
||
# A push runs it only when it touches code that differs on Windows (the
|
||
# files with `cfg(windows)` and friends), the build script or the
|
||
# dependencies. Windows code added to another file goes in this list too;
|
||
# until then, run it by hand (Actions › windows › Run workflow). Tags never
|
||
# run it: the release workflow builds Windows itself.
|
||
name: windows
|
||
|
||
on:
|
||
push:
|
||
branches: ["**"]
|
||
paths:
|
||
- "src/cli/**"
|
||
- "src/update/**"
|
||
- "src/app/paths.rs"
|
||
- "src/app/window_hiding.rs"
|
||
- "src/main.rs"
|
||
- "src/bin/**"
|
||
- "src/ssh/connection.rs"
|
||
- "src/sftp/download.rs"
|
||
- "src/sftp/model.rs"
|
||
- "src/sftp/upload.rs"
|
||
- "src/credential/credential_dialog.rs"
|
||
- "src/settings/settings_panel.rs"
|
||
- "tests/cli_bin.rs"
|
||
- "build.rs"
|
||
- "Cargo.toml"
|
||
- "Cargo.lock"
|
||
- "rust-toolchain.toml"
|
||
workflow_dispatch:
|
||
|
||
jobs:
|
||
cli:
|
||
runs-on: windows-latest
|
||
timeout-minutes: 90
|
||
env:
|
||
CARGO_TERM_COLOR: always
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
# rust-toolchain.toml picks the toolchain; this installs it with the
|
||
# components it lists before the cache key is computed.
|
||
- run: rustup toolchain install
|
||
- uses: Swatinem/rust-cache@v2
|
||
# In case aws-lc-sys wants to assemble rather than use its prebuilt
|
||
# objects.
|
||
- uses: ilammy/setup-nasm@v1
|
||
- run: cargo clippy --all-targets -- -D warnings
|
||
- run: "cargo test --lib cli::"
|
||
- run: "cargo test --lib update::"
|
||
- run: "cargo test --lib sftp::tests::local_listing"
|
||
- run: cargo test --test cli_bin
|