rust-toolchain/.github/workflows/ci.yml

46 lines
1.6 KiB
YAML

name: CI
on:
push:
branches: [master]
pull_request:
workflow_dispatch:
schedule: [cron: "40 1 * * *"]
permissions:
contents: read
jobs:
install:
name: Rust ${{matrix.rust}} on ${{matrix.os == 'ubuntu' && 'Linux' || matrix.os == 'macos' && 'macOS' || matrix.os == 'windows' && 'Windows' || '???'}}
runs-on: ${{matrix.os}}-latest
strategy:
fail-fast: false
matrix:
os: [ubuntu, macos, windows]
rust: [nightly, beta, stable, 1.62.0, stable 18 months ago, stable minus 8 releases]
include:
- os: ubuntu
rust: 1.0.0
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: ./
name: Run dtolnay/rust-toolchain${{contains(matrix.rust, ' ') && ' for ' || '@'}}${{matrix.rust}}
id: toolchain
with:
toolchain: ${{matrix.rust}}
- name: echo ${{'${{steps.toolchain.outputs.cachekey}}'}}
run: echo '${{steps.toolchain.outputs.cachekey}}'
- name: check ${{'${{steps.toolchain.outputs.cachekey}}'}}
if: matrix.rust == '1.62.0'
run: cmp -s <(echo ${{steps.toolchain.outputs.cachekey}}) <(echo 20220627a831)
shell: bash
- run: rustc --version
- run: cargo init . --bin --name CI
if: matrix.rust == 'nightly' || matrix.rust == 'beta' || matrix.rust == 'stable'
- run: cargo add syn@1
if: matrix.rust == 'nightly' || matrix.rust == 'beta' || matrix.rust == 'stable'
- run: cargo check
if: matrix.rust == 'nightly' || matrix.rust == 'beta' || matrix.rust == 'stable'