From d8b2468e886a4199f8b3649f19cdf3d75cb15cd5 Mon Sep 17 00:00:00 2001 From: Joe Polny Date: Tue, 29 Apr 2025 13:50:15 -0400 Subject: [PATCH 1/3] 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 --- action.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/action.yml b/action.yml index 5281d42..79bbd03 100644 --- a/action.yml +++ b/action.yml @@ -75,6 +75,16 @@ runs: if: runner.os != 'Windows' shell: bash + - run: | + : install rustup if needed on windows + if ! command -v rustup &>/dev/null; then + curl -LOs https://static.rust-lang.org/rustup/dist/${{ runner.arch == 'ARM64' && 'aarch64' || 'x86_64' }}-pc-windows-msvc/rustup-init.exe + ./rustup-init.exe -y --default-toolchain none --no-modify-path + echo "$USERPROFILE/.cargo/bin" >> "$GITHUB_PATH" + fi + if: runner.os == 'Windows' + shell: bash + - 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 shell: bash From 113d6388db4c8b4861ba2d5103dd4c1520cac909 Mon Sep 17 00:00:00 2001 From: Joe Polny Date: Tue, 29 Apr 2025 14:01:03 -0400 Subject: [PATCH 2/3] Add ubuntu and windows arm to CI --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39b7cef..0c593ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,15 +12,15 @@ permissions: jobs: install: - name: Rust ${{matrix.rust}} on ${{matrix.os == 'ubuntu' && 'Linux' || matrix.os == 'macos' && 'macOS' || matrix.os == 'windows' && 'Windows' || '???'}} - runs-on: ${{matrix.os}}-latest + name: Rust ${{matrix.rust}} on ${{matrix.os}} + runs-on: ${{matrix.os}} strategy: fail-fast: false 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] include: - - os: ubuntu + - os: ubuntu-latest rust: 1.0.0 timeout-minutes: 45 steps: From 1c80aedd72f6b55cdffe0b63b7298a9a27d7080d Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Tue, 29 Apr 2025 11:36:50 -0700 Subject: [PATCH 3/3] Align curl and rustup-init flags between windows and non-windows --- action.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/action.yml b/action.yml index 79bbd03..d7b092a 100644 --- a/action.yml +++ b/action.yml @@ -69,7 +69,7 @@ runs: - run: | : install rustup if needed 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 fi if: runner.os != 'Windows' @@ -78,9 +78,9 @@ runs: - run: | : install rustup if needed on windows if ! command -v rustup &>/dev/null; then - curl -LOs https://static.rust-lang.org/rustup/dist/${{ runner.arch == 'ARM64' && 'aarch64' || 'x86_64' }}-pc-windows-msvc/rustup-init.exe - ./rustup-init.exe -y --default-toolchain none --no-modify-path - echo "$USERPROFILE/.cargo/bin" >> "$GITHUB_PATH" + 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