test: add toolchain file override test

This commit is contained in:
Rob Ede 2024-01-13 15:54:38 +00:00
parent d473183fe9
commit c6086ae6e5
No known key found for this signature in database
GPG Key ID: 97C636207D3EF933
1 changed files with 24 additions and 7 deletions

View File

@ -12,8 +12,15 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
write-toolchain-file:
- false
- true
rust: rust:
# Test with toolchain file override # use stable toolchain as default
- null - null
# Test that the sparse registry check works. # Test that the sparse registry check works.
@ -23,21 +30,17 @@ jobs:
- "nightly" - "nightly"
- "beta" - "beta"
- "stable" - "stable"
os:
- ubuntu-latest
- windows-latest
- macos-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
# Test toolchain file support # Test toolchain file support
- name: Write rust-toolchain.toml - name: Write rust-toolchain.toml
if: matrix.rust == null if: matrix.write-toolchain-file
shell: bash shell: bash
run: | run: |
cat <<EOF >>rust-toolchain.toml cat <<EOF >>rust-toolchain.toml
[toolchain] [toolchain]
channel = "nightly-2024-01-11" channel = "nightly-2024-01-10"
components = [ "rustfmt", "rustc-dev" ] components = [ "rustfmt", "rustc-dev" ]
targets = [ "wasm32-unknown-unknown", "thumbv7m-none-eabi" ] targets = [ "wasm32-unknown-unknown", "thumbv7m-none-eabi" ]
profile = "minimal" profile = "minimal"
@ -59,6 +62,20 @@ jobs:
- name: Check ${{'${{steps.toolchain.outputs.rustup-version}}'}} - name: Check ${{'${{steps.toolchain.outputs.rustup-version}}'}}
run: echo '${{steps.toolchain.outputs.rustup-version}}' run: echo '${{steps.toolchain.outputs.rustup-version}}'
- name: Check lack of toolchain input or file results in stable
if: !matrix.write-toolchain-file && matrix.rust == null
shell: bash
run: |-
rustcv="$(rustc --version)"
[[ "$rustcv" != *"nightly"* && "$rustcv" != *"beta"* ]]
- name: Check toolchain file is being overridden
if: matrix.write-toolchain-file
shell: bash
run: |-
rustcv="$(rustc --version)"
[[ ! ( "$rustcv" == *"nightly"* && "$rustcv" == *"2024-01-10"* ) ]]
- shell: bash - shell: bash
run: rustc --version && cargo --version run: rustc --version && cargo --version