6 Commits

Author SHA1 Message Date
64fef3b541 Merge pull request #13 from actions-rust-lang/double-run 2023-02-21 22:23:42 +01:00
cea2ca57ed Add changelog entry 2023-02-21 21:15:17 +00:00
f010a58728 Always downgrade the registry protocol to supported versions
Not all version support the new sparse protocol. While old versions
ignore the value, 1.66 and other fail due to unstable features.

If such a version is detected, always downgrade to the git protocol.

This fixes running the action twice with different toolchains. Even if
the first install uses something which supports "sparse", the second run
can still downgrade it to "git".

Closes #12
2023-02-21 21:02:41 +00:00
9fa7c33ef0 Merge pull request #11 from actions-rust-lang/tweak-regex 2023-02-15 19:09:34 +01:00
5f4f30a995 Maybe fix rustup warning
warning: Force-skipping unavailable component 'rust-std-thumbv2-none-eabi'
2023-02-15 19:06:41 +01:00
2d7b97c05c Tweak sparse registry version regex and command not found
These issues are reported again rust-toolchain from which the code is
inspired.

https://github.com/dtolnay/rust-toolchain/issues/71

https://github.com/dtolnay/rust-toolchain/pull/69#pullrequestreview-1299712112
2023-02-15 18:49:49 +01:00
3 changed files with 26 additions and 9 deletions

View File

@ -37,7 +37,7 @@ jobs:
[toolchain] [toolchain]
channel = "nightly-2022-09-10" channel = "nightly-2022-09-10"
components = [ "rustfmt", "rustc-dev" ] components = [ "rustfmt", "rustc-dev" ]
targets = [ "wasm32-unknown-unknown", "thumbv2-none-eabi" ] targets = [ "wasm32-unknown-unknown", "thumbv7m-none-eabi" ]
profile = "minimal" profile = "minimal"
EOF EOF
shell: bash shell: bash

View File

@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [1.4.3] - 2023-02-21
### Fixed
* Executing the action twice for different toolchains now no longer fails around unstable features #12.
If multiple toolchains are installed, the "CARGO_REGISTRIES_CRATES_IO_PROTOCOL" can be downgraded to "git" if any of the installed toolchains require it.
## [1.4.2] - 2023-02-15
### Fixed
* Tweak sparse registry version regex to better work with 1.68 nightly versions.
* Fix command not found issue
## [1.4.1] - 2023-02-13 ## [1.4.1] - 2023-02-13
### Fixed ### Fixed

View File

@ -85,6 +85,9 @@ runs:
if [[ ! -v CARGO_UNSTABLE_SPARSE_REGISTRY ]]; then if [[ ! -v CARGO_UNSTABLE_SPARSE_REGISTRY ]]; then
echo "CARGO_UNSTABLE_SPARSE_REGISTRY=true" >> $GITHUB_ENV echo "CARGO_UNSTABLE_SPARSE_REGISTRY=true" >> $GITHUB_ENV
fi fi
if [[ ! -v CARGO_REGISTRIES_CRATES_IO_PROTOCOL ]]; then
echo "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" >> $GITHUB_ENV
fi
shell: bash shell: bash
- name: "Install Rust Problem Matcher" - name: "Install Rust Problem Matcher"
run: echo "::add-matcher::${{ github.action_path }}/rust.json" run: echo "::add-matcher::${{ github.action_path }}/rust.json"
@ -126,15 +129,15 @@ runs:
echo "cachekey=$(echo $DATE$HASH | head -c12)" >> $GITHUB_OUTPUT echo "cachekey=$(echo $DATE$HASH | head -c12)" >> $GITHUB_OUTPUT
shell: bash shell: bash
# Copied from dtolnay/rust-toolchain and adapted - name: "Downgrade registry access protocol when needed"
# https://github.com/dtolnay/rust-toolchain/blob/25dc93b901a87e864900a8aec6c12e9aa794c0c3/action.yml#L100-L108
- name: "Enable cargo sparse registry on stable"
run: | run: |
# except on 1.66 and 1.67, on which it is unstable # Not all versions support setting CARGO_REGISTRIES_CRATES_IO_PROTOCOL
if [[ ! -v CARGO_REGISTRIES_CRATES_IO_PROTOCOL ]]; then # On versions 1.66, 1.67, and 1.68.0-nightly the value "sparse" is still unstable.
if echo "${{steps.versions.outputs.rustc-version}}" | not grep -q '^rustc 1\.6[67]\.'; then # https://github.com/dtolnay/rust-toolchain/pull/69#discussion_r1107268108
echo "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" >> $GITHUB_ENV # If we detect an incompatible value, set it to "git" which is always supported.
fi if [[ "${{steps.versions.outputs.rustc-version}}" =~ ^rustc\ (1\.6[67]\.|1\.68\.0-nightly) && "${CARGO_REGISTRIES_CRATES_IO_PROTOCOL}" == "sparse" ]]; then
echo "Downgrade cargo registry protocol to git"
echo "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=git" >> $GITHUB_ENV
fi fi
shell: bash shell: bash