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@v3 - 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'