name: rust-next permissions: contents: read on: schedule: - cron: '3 3 3 * *' env: RUST_BACKTRACE: 1 CARGO_TERM_COLOR: always CLICOLOR: 1 COLUMNS: 130 concurrency: group: "${{ github.workflow }}-${{ github.ref }}" cancel-in-progress: true jobs: test: name: Test strategy: matrix: os: ["ubuntu-latest", "windows-latest", "macos-latest", "macos-14"] rust: ["stable", "beta"] include: - os: ubuntu-latest rust: "nightly" continue-on-error: ${{ matrix.rust != 'stable' }} runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: toolchain: ${{ matrix.rust }} components: rustfmt - uses: Swatinem/rust-cache@v2 - uses: taiki-e/install-action@cargo-hack - name: Build run: cargo test --workspace --no-run - name: Test run: cargo hack test --feature-powerset --workspace latest: name: "Check latest dependencies" runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: toolchain: stable components: rustfmt - uses: Swatinem/rust-cache@v2 - uses: taiki-e/install-action@cargo-hack - name: Update dependencues run: cargo update - name: Build run: cargo test --workspace --no-run - name: Test run: cargo hack test --feature-powerset --workspace