Merge pull request #8 from actions-rust-lang/sparse-registry

This commit is contained in:
Jonas Bushart 2023-02-13 21:08:28 +01:00 committed by GitHub
commit 4605df10a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 8 deletions

View file

@ -15,7 +15,10 @@ jobs:
matrix: matrix:
rust: [ rust: [
# Test with toolchain file override # 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", "nightly",
"beta", "beta",
"stable", "stable",
@ -27,13 +30,13 @@ jobs:
run: | run: |
cat <<EOF >>rust-toolchain.toml cat <<EOF >>rust-toolchain.toml
[toolchain] [toolchain]
channel = "nightly-2020-07-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", "thumbv2-none-eabi" ]
profile = "minimal" profile = "minimal"
EOF EOF
shell: bash shell: bash
if: matrix.rust == '1.50' if: matrix.rust == '1.60'
- uses: ./ - uses: ./
name: Run actions-rust-lang/setup-rust-toolchain ${{matrix.rust}} name: Run actions-rust-lang/setup-rust-toolchain ${{matrix.rust}}
@ -48,3 +51,10 @@ jobs:
run: echo '${{steps.toolchain.outputs.rustup-version}}' run: echo '${{steps.toolchain.outputs.rustup-version}}'
- run: rustc --version && cargo --version - run: rustc --version && cargo --version
shell: bash 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

@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* Only set environment variables, if they are not set before. * Only set environment variables, if they are not set before.
This allows setting environment variables before using this action and keeping their values. 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 ## [1.3.7] - 2023-01-31

View file

@ -78,10 +78,6 @@ 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
# Enable sparse index after stabilization
# This causes warnings on stable 1.67, e.g., when using "cargo add"
# https://github.com/rust-lang/cargo/pull/11224
# echo "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" >> $GITHUB_ENV
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"
@ -123,6 +119,18 @@ 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
# 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
if [[ ! -v CARGO_REGISTRIES_CRATES_IO_PROTOCOL ]]; then
if echo "${{steps.versions.outputs.rustc-version}}" | not grep -q '^rustc 1\.6[67]\.'; then
echo "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" >> $GITHUB_ENV
fi
fi
shell: bash
- name: "Setup Rust Caching" - name: "Setup Rust Caching"
if: inputs.cache == 'true' if: inputs.cache == 'true'
uses: Swatinem/rust-cache@v2 uses: Swatinem/rust-cache@v2