ci(windows): use DotSlash for zstd in rust-release-windows (#11542)

## Why
Installing `zstd` via Chocolatey in
`.github/workflows/rust-release-windows.yml` has been taking about a
minute on Windows release runs. This adds avoidable latency to each
release job.

Using DotSlash removes that package-manager install step and pins the
exact binary we use for compression.

## What Changed
- Added `.github/workflows/zstd`, a DotSlash wrapper that fetches
`zstd-v1.5.7-win64.zip` with pinned size and digest.
- Updated `.github/workflows/rust-release-windows.yml` to:
  - install DotSlash via `facebook/install-dotslash@v2`
- replace `zstd -T0 -19 ...` with
`${GITHUB_WORKSPACE}/.github/workflows/zstd -T0 -19 ...`
- `windows-aarch64` uses the same win64 upstream zstd artifact because
upstream releases currently publish `win32` and `win64` binaries.

## Verification
- Verified the workflow now resolves the DotSlash file from
`${GITHUB_WORKSPACE}` while the job runs with `working-directory:
codex-rs`.
- Ran VS Code diagnostics on changed files:
  - `.github/workflows/rust-release-windows.yml`
  - `.github/workflows/zstd`
This commit is contained in:
Michael Bolin
2026-02-11 20:57:11 -08:00
committed by GitHub
parent fffc92a779
commit c40c508d4e
3 changed files with 89 additions and 58 deletions

View File

@@ -185,10 +185,8 @@ jobs:
cp target/${{ matrix.target }}/release/codex-windows-sandbox-setup.exe "$dest/codex-windows-sandbox-setup-${{ matrix.target }}.exe"
cp target/${{ matrix.target }}/release/codex-command-runner.exe "$dest/codex-command-runner-${{ matrix.target }}.exe"
- if: ${{ matrix.runner == 'windows-arm64' }}
name: Install zstd
shell: powershell
run: choco install -y zstandard
- name: Install DotSlash
uses: facebook/install-dotslash@v2
- name: Compress artifacts
shell: bash
@@ -249,7 +247,7 @@ jobs:
fi
# Keep raw executables and produce .zst alongside them.
zstd -T0 -19 "$dest/$base"
"${GITHUB_WORKSPACE}/.github/workflows/zstd" -T0 -19 "$dest/$base"
done
- uses: actions/upload-artifact@v6