name: rust-next permissions: contents: read on: schedule: - cron: '1 1 1 * *' env: RUST_BACKTRACE: 1 CARGO_TERM_COLOR: always CLICOLOR: 1 concurrency: group: "${{ github.workflow }}-${{ github.ref }}" cancel-in-progress: true jobs: test: name: Test strategy: matrix: os: ["ubuntu-latest", "windows-latest", "macos-latest"] rust: ["stable", "beta"] include: - os: ubuntu-latest rust: "nightly" continue-on-error: ${{ matrix.rust != 'stable' }} runs-on: ${{ matrix.os }} env: # Reduce amount of data cached CARGO_PROFILE_DEV_DEBUG: line-tables-only steps: - name: Checkout repository uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 with: persist-credentials: false - name: Install Rust uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 # stable with: toolchain: ${{ matrix.rust }} - name: Initialize cache uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 - name: Install cargo-hack uses: taiki-e/install-action@6a1bd70eaac3c8bdf093356838d7ee09fda951cf # v2.85.5 with: tool: cargo-hack - name: Build run: cargo test --workspace --no-run - name: Test run: cargo hack test --each-feature --workspace latest: name: "Check latest dependencies" strategy: matrix: os: ["ubuntu-latest"] runs-on: ${{ matrix.os }} env: CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: allow steps: - name: Checkout repository uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 with: persist-credentials: false - name: Install Rust uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 # stable with: toolchain: stable - name: Initialize cache uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 - name: Install cargo-hack uses: taiki-e/install-action@6a1bd70eaac3c8bdf093356838d7ee09fda951cf # v2.85.5 with: tool: cargo-hack - name: Update dependencies run: cargo update - name: Build run: cargo test --workspace --no-run - name: Test run: cargo hack test --each-feature --workspace