15 Commits

Author SHA1 Message Date
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
c7c759a5c9 New version with macOS fix 2023-02-13 23:47:49 +01:00
ba68a52e42 Merge pull request #10 from actions-rust-lang/issue-9 2023-02-13 23:43:33 +01:00
40e33d4912 Install newer bash on macOS
The code snippets are written with bash newer than 2014 in mind. This
works fine on Linux and Windows, but not macOS.
2023-02-13 23:28:57 +01:00
8ba1b441e5 Run CI on more platforms 2023-02-13 23:28:43 +01:00
51b4f8316a Bump version to 1.4.0 2023-02-13 21:09:16 +01:00
4605df10a0 Merge pull request #8 from actions-rust-lang/sparse-registry 2023-02-13 21:08:28 +01:00
eac5ebb2ae Fix: Use acceptable crate name (lowercase) 2023-02-13 21:05:26 +01:00
aee7133b58 Use newer nightly with "cargo add" support 2023-02-13 21:02:26 +01:00
2ee353b897 Enable sparse registry access using the stable configuration
Exclude versions 1.66 and 1.67, which don't support stable sparse registry.
2023-02-13 21:00:11 +01:00
045ad9ff3f Only set env vars if they are unset. 2023-02-13 20:58:51 +01:00
dfa8744db3 Do not enable sparse registry on stable 2023-01-31 23:15:57 +01:00
2941fbfa4a Use the correct variable to enable sparse registry access 2023-01-31 13:10:41 +01:00
3 changed files with 103 additions and 15 deletions

View File

@ -8,18 +8,26 @@ on:
jobs:
install:
name: Rust ${{matrix.rust}}
runs-on: ubuntu-latest
name: Rust ${{matrix.rust}} ${{matrix.os}}
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
rust: [
# Test with toolchain file override
"1.50",
"1.60",
# Test that the sparse registry check works.
# 1.66 and 1.67 don't support stable sparse registry.
"1.66",
"nightly",
"beta",
"stable",
]
os: [
"ubuntu-latest",
"windows-latest",
"macos-latest",
]
steps:
- uses: actions/checkout@v3
# Test toolchain file support
@ -27,13 +35,13 @@ jobs:
run: |
cat <<EOF >>rust-toolchain.toml
[toolchain]
channel = "nightly-2020-07-10"
channel = "nightly-2022-09-10"
components = [ "rustfmt", "rustc-dev" ]
targets = [ "wasm32-unknown-unknown", "thumbv2-none-eabi" ]
targets = [ "wasm32-unknown-unknown", "thumbv7m-none-eabi" ]
profile = "minimal"
EOF
shell: bash
if: matrix.rust == '1.50'
if: matrix.rust == '1.60'
- uses: ./
name: Run actions-rust-lang/setup-rust-toolchain ${{matrix.rust}}
@ -48,3 +56,10 @@ jobs:
run: echo '${{steps.toolchain.outputs.rustup-version}}'
- run: rustc --version && cargo --version
shell: bash
# Test with creating a small project
- run: cargo init . --bin --name ci
# Add tiny empty crate.
# This checks that registry access works.
- run: cargo add serde_as
- run: cargo check

View File

@ -7,6 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [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
### Fixed
* Fixed running on macOS #9 #10
The macOS images have an ancient version of bash, but the action relies on "newer" features than 2014.
We install bash via brew (already pre-installed) to have a new enough version.
The CI is extended to also run on Windows and macOS to catch such issues earlier in the future.
Thanks to @GeorgeHahn for reporting the issue.
## [1.4.0] - 2023-02-13
### Changed
* Only set environment variables, if they are not set before.
This allows setting environment variables before using this action and keeping their values.
* Enable stable sparse registry, except on versions 1.66 and 1.67 where this leads to errors.
## [1.3.7] - 2023-01-31
### Fixed
* Disable the stable access to the sparse registry.
Setting the value causes problem on version before stabilization, e.g., 1.67.
For example, "cargo add" fails.
## [1.3.6] - 2023-01-31
### Fixed
* The the correct environment variable to enable the sparse registry access.
The pull request originally had the wrong value, without `CARGO_` prefix.
## [1.3.5] - 2023-01-21
### Changed

View File

@ -44,6 +44,13 @@ outputs:
runs:
using: composite
steps:
# The later code uses "newer" bash features, which are not available in the ancient bash 3 (from 2014) of macOS
- name: Unbork mac
if: runner.os == 'macOS'
run: |
brew install bash
shell: bash
- id: flags
run: |
: construct rustup command line
@ -57,17 +64,27 @@ runs:
# The environment variables always need to be set before the caching action
- name: "Setting Environment Variables"
run: |
echo "CARGO_INCREMENTAL=0" >> $GITHUB_ENV
echo "CARGO_PROFILE_DEV_DEBUG=0" >> $GITHUB_ENV
echo "CARGO_TERM_COLOR=always" >> $GITHUB_ENV
echo "RUST_BACKTRACE=short" >> $GITHUB_ENV
echo "RUSTFLAGS=-D warnings" >> $GITHUB_ENV
if [[ ! -v CARGO_INCREMENTAL ]]; then
echo "CARGO_INCREMENTAL=0" >> $GITHUB_ENV
fi
if [[ ! -v CARGO_PROFILE_DEV_DEBUG ]]; then
echo "CARGO_PROFILE_DEV_DEBUG=0" >> $GITHUB_ENV
fi
if [[ ! -v CARGO_TERM_COLOR ]]; then
echo "CARGO_TERM_COLOR=always" >> $GITHUB_ENV
fi
if [[ ! -v RUST_BACKTRACE ]]; then
echo "RUST_BACKTRACE=short" >> $GITHUB_ENV
fi
if [[ ! -v RUSTFLAGS ]]; then
echo "RUSTFLAGS=-D warnings" >> $GITHUB_ENV
fi
# Enable faster sparse index on nightly
# The value is ignored on stable and causes no problems
# https://internals.rust-lang.org/t/call-for-testing-cargo-sparse-registry/16862
echo "CARGO_UNSTABLE_SPARSE_REGISTRY=true" >> $GITHUB_ENV
# Enable sparse index after stabilization
# https://github.com/rust-lang/cargo/pull/11224
echo "REGISTRIES_CRATES_IO_PROTOCOL=sparse" >> $GITHUB_ENV
if [[ ! -v CARGO_UNSTABLE_SPARSE_REGISTRY ]]; then
echo "CARGO_UNSTABLE_SPARSE_REGISTRY=true" >> $GITHUB_ENV
fi
shell: bash
- name: "Install Rust Problem Matcher"
run: echo "::add-matcher::${{ github.action_path }}/rust.json"
@ -109,6 +126,20 @@ runs:
echo "cachekey=$(echo $DATE$HASH | head -c12)" >> $GITHUB_OUTPUT
shell: bash
# Copied from dtolnay/rust-toolchain and adapted
# https://github.com/dtolnay/rust-toolchain/blob/25dc93b901a87e864900a8aec6c12e9aa794c0c3/action.yml#L100-L108
- name: "Enable cargo sparse registry on stable"
run: |
# except on 1.66 and 1.67, on which it is unstable
# Not all 1.68.0-nightly versions support it either
# https://github.com/dtolnay/rust-toolchain/pull/69#discussion_r1107268108
if [[ ! -v CARGO_REGISTRIES_CRATES_IO_PROTOCOL ]]; then
if echo "${{steps.versions.outputs.rustc-version}}" | grep --invert --quiet '^rustc \(1\.6[67]\.\|1\.68\.0-nightly\)'; then
echo "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" >> $GITHUB_ENV
fi
fi
shell: bash
- name: "Setup Rust Caching"
if: inputs.cache == 'true'
uses: Swatinem/rust-cache@v2