windows_continuous #12415
This file contains 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: windows_continuous | |
on: | |
schedule: | |
- cron: "10 3 * * *" | |
push: | |
branches: | |
- main | |
paths: | |
- "**/*.rs" | |
- "**/Cargo.lock" | |
- "**/Cargo.toml" | |
- ".github/workflows/gen_windows_continuous.yml" | |
- "assets/fonts/**/*" | |
- "assets/icon/*" | |
- "assets/windows/**/*" | |
- "ci/deploy.sh" | |
- "ci/windows-installer.iss" | |
jobs: | |
build: | |
runs-on: "windows-latest" | |
env: | |
BUILD_REASON: "Schedule" | |
CARGO_INCREMENTAL: "0" | |
SCCACHE_GHA_ENABLED: "true" | |
RUSTC_WRAPPER: "sccache" | |
RUSTUP_WINDOWS_PATH_ADD_BIN: "1" | |
steps: | |
- name: "checkout repo" | |
uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- name: "Install Rust" | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
target: "x86_64-pc-windows-msvc" | |
- name: "Compile with sccache" | |
uses: mozilla-actions/[email protected] | |
- name: "Cache Rust Dependencies" | |
uses: actions/cache@v4 | |
id: cache-cargo-vendor | |
with: | |
path: | | |
vendor | |
.cargo/config | |
key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" | |
- name: "Vendor dependecies" | |
if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' | |
shell: bash | |
run: "cargo vendor --locked --versioned-dirs >> .cargo/config" | |
- name: "Build wezterm (Release mode)" | |
shell: cmd | |
run: | | |
PATH C:\Strawberry\perl\bin;%PATH% | |
cargo build -p wezterm --release | |
- name: "Build wezterm-gui (Release mode)" | |
shell: cmd | |
run: | | |
PATH C:\Strawberry\perl\bin;%PATH% | |
cargo build -p wezterm-gui --release | |
- name: "Build wezterm-mux-server (Release mode)" | |
shell: cmd | |
run: | | |
PATH C:\Strawberry\perl\bin;%PATH% | |
cargo build -p wezterm-mux-server --release | |
- name: "Build strip-ansi-escapes (Release mode)" | |
shell: cmd | |
run: | | |
PATH C:\Strawberry\perl\bin;%PATH% | |
cargo build -p strip-ansi-escapes --release | |
- name: "Install cargo-nextest from Cargo" | |
uses: baptiste0928/cargo-install@v3 | |
with: | |
crate: "cargo-nextest" | |
cache-key: "windows" | |
- name: "Test" | |
shell: cmd | |
run: | | |
PATH C:\Strawberry\perl\bin;%PATH% | |
cargo nextest run --all --no-fail-fast | |
- name: "Package" | |
shell: bash | |
run: "bash ci/deploy.sh" | |
- name: "Upload artifact" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "windows" | |
path: | | |
WezTerm-*.zip | |
WezTerm-*.exe | |
retention-days: 5 | |
upload: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: "checkout repo" | |
uses: actions/checkout@v4 | |
- name: "Download artifact" | |
uses: actions/download-artifact@v4 | |
with: | |
name: "windows" | |
- name: "Checksum" | |
shell: bash | |
run: "for f in WezTerm-*.zip WezTerm-*.exe ; do sha256sum $f > $f.sha256 ; done" | |
- name: "Upload to Nightly Release" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
shell: bash | |
run: "bash ci/retry.sh gh release upload --clobber nightly WezTerm-*.zip WezTerm-*.exe *.sha256" |