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: 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