Compare commits

...

5 commits

Author SHA1 Message Date
David Tolnay
1901dba34d
Merge pull request #146 from dtolnay/flags
Align curl and rustup-init flags between windows and non-windows
2025-04-29 11:39:38 -07:00
David Tolnay
1c80aedd72
Align curl and rustup-init flags between windows and non-windows 2025-04-29 11:37:07 -07:00
David Tolnay
9ec87f110c
Merge pull request #145 from joe-p/feat/install_rustup_windows
Install rustup on windows (including ARM)
2025-04-29 11:33:51 -07:00
Joe Polny
113d6388db
Add ubuntu and windows arm to CI 2025-04-29 14:06:20 -04:00
Joe Polny
d8b2468e88
Install rustup on windows (including ARM)
The x86 logic might be overkill since right now x86 Windows images
already have it installed, but figured might as well support it just in
case. Closes #143
2025-04-29 13:53:42 -04:00
2 changed files with 15 additions and 5 deletions

View file

@ -12,15 +12,15 @@ permissions:
jobs: jobs:
install: install:
name: Rust ${{matrix.rust}} on ${{matrix.os == 'ubuntu' && 'Linux' || matrix.os == 'macos' && 'macOS' || matrix.os == 'windows' && 'Windows' || '???'}} name: Rust ${{matrix.rust}} on ${{matrix.os}}
runs-on: ${{matrix.os}}-latest runs-on: ${{matrix.os}}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu, macos, windows] os: [ubuntu-latest, macos-latest, windows-latest, windows-11-arm, ubuntu-22.04-arm]
rust: [nightly, beta, stable, 1.62.0, stable 18 months ago, stable minus 8 releases] rust: [nightly, beta, stable, 1.62.0, stable 18 months ago, stable minus 8 releases]
include: include:
- os: ubuntu - os: ubuntu-latest
rust: 1.0.0 rust: 1.0.0
timeout-minutes: 45 timeout-minutes: 45
steps: steps:

View file

@ -69,12 +69,22 @@ runs:
- run: | - run: |
: install rustup if needed : install rustup if needed
if ! command -v rustup &>/dev/null; then if ! command -v rustup &>/dev/null; then
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused --location --silent --show-error --fail "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused --location --silent --show-error --fail https://sh.rustup.rs | sh -s -- --default-toolchain none -y
echo "$CARGO_HOME/bin" >> $GITHUB_PATH echo "$CARGO_HOME/bin" >> $GITHUB_PATH
fi fi
if: runner.os != 'Windows' if: runner.os != 'Windows'
shell: bash shell: bash
- run: |
: install rustup if needed on windows
if ! command -v rustup &>/dev/null; then
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused --location --silent --show-error --fail --remote-name https://static.rust-lang.org/rustup/dist/${{ runner.arch == 'ARM64' && 'aarch64' || 'x86_64' }}-pc-windows-msvc/rustup-init.exe
./rustup-init.exe --default-toolchain none --no-modify-path -y
echo "$USERPROFILE/.cargo/bin" >> $GITHUB_PATH
fi
if: runner.os == 'Windows'
shell: bash
- name: rustup toolchain install ${{steps.parse.outputs.toolchain}} - name: rustup toolchain install ${{steps.parse.outputs.toolchain}}
run: rustup toolchain install ${{steps.parse.outputs.toolchain}}${{steps.flags.outputs.targets}}${{steps.flags.outputs.components}} --profile minimal${{steps.flags.outputs.downgrade}} --no-self-update run: rustup toolchain install ${{steps.parse.outputs.toolchain}}${{steps.flags.outputs.targets}}${{steps.flags.outputs.components}} --profile minimal${{steps.flags.outputs.downgrade}} --no-self-update
shell: bash shell: bash