119625d8cSopenharmony_ciname: rust-next 219625d8cSopenharmony_cion: 319625d8cSopenharmony_ci schedule: 419625d8cSopenharmony_ci - cron: '3 3 3 * *' 519625d8cSopenharmony_cipermissions: 619625d8cSopenharmony_ci contents: read 719625d8cSopenharmony_ci 819625d8cSopenharmony_cijobs: 919625d8cSopenharmony_ci test: 1019625d8cSopenharmony_ci name: Test 1119625d8cSopenharmony_ci strategy: 1219625d8cSopenharmony_ci matrix: 1319625d8cSopenharmony_ci build: [stable, linux, windows, mac, nightly, minimal, default, next] 1419625d8cSopenharmony_ci include: 1519625d8cSopenharmony_ci - build: stable 1619625d8cSopenharmony_ci os: ubuntu-latest 1719625d8cSopenharmony_ci rust: "stable" 1819625d8cSopenharmony_ci features: "full" 1919625d8cSopenharmony_ci - build: linux 2019625d8cSopenharmony_ci os: ubuntu-latest 2119625d8cSopenharmony_ci rust: "beta" 2219625d8cSopenharmony_ci features: "full" 2319625d8cSopenharmony_ci - build: windows 2419625d8cSopenharmony_ci os: windows-latest 2519625d8cSopenharmony_ci rust: "beta" 2619625d8cSopenharmony_ci features: "full" 2719625d8cSopenharmony_ci - build: mac 2819625d8cSopenharmony_ci os: macos-latest 2919625d8cSopenharmony_ci rust: "beta" 3019625d8cSopenharmony_ci features: "full" 3119625d8cSopenharmony_ci - build: nightly 3219625d8cSopenharmony_ci os: ubuntu-latest 3319625d8cSopenharmony_ci rust: "nightly" 3419625d8cSopenharmony_ci features: "full" 3519625d8cSopenharmony_ci - build: minimal 3619625d8cSopenharmony_ci os: ubuntu-latest 3719625d8cSopenharmony_ci rust: "stable" 3819625d8cSopenharmony_ci features: "minimal" 3919625d8cSopenharmony_ci - build: default 4019625d8cSopenharmony_ci os: ubuntu-latest 4119625d8cSopenharmony_ci rust: "stable" 4219625d8cSopenharmony_ci features: "default" 4319625d8cSopenharmony_ci - build: next 4419625d8cSopenharmony_ci os: ubuntu-latest 4519625d8cSopenharmony_ci rust: "stable" 4619625d8cSopenharmony_ci features: "next" 4719625d8cSopenharmony_ci continue-on-error: ${{ matrix.rust != 'stable' }} 4819625d8cSopenharmony_ci runs-on: ${{ matrix.os }} 4919625d8cSopenharmony_ci steps: 5019625d8cSopenharmony_ci - name: Checkout repository 5119625d8cSopenharmony_ci uses: actions/checkout@v3 5219625d8cSopenharmony_ci - name: Install Rust 5319625d8cSopenharmony_ci uses: actions-rs/toolchain@v1 5419625d8cSopenharmony_ci with: 5519625d8cSopenharmony_ci toolchain: ${{ matrix.rust }} 5619625d8cSopenharmony_ci profile: minimal 5719625d8cSopenharmony_ci override: true 5819625d8cSopenharmony_ci - uses: Swatinem/rust-cache@v2 5919625d8cSopenharmony_ci - name: Build 6019625d8cSopenharmony_ci run: make build-${{matrix.features}} 6119625d8cSopenharmony_ci - name: Test 6219625d8cSopenharmony_ci run: make test-${{matrix.features}} 6319625d8cSopenharmony_ci - name: Test (benches) 6419625d8cSopenharmony_ci run: make test-${{matrix.features}} ARGS='--workspace --benches' 6519625d8cSopenharmony_ci - name: Test (ultra-minimal) 6619625d8cSopenharmony_ci if: matrix.build == 'minimal' 6719625d8cSopenharmony_ci run: make test-minimal ARGS='--manifest-path Cargo.toml' 6819625d8cSopenharmony_ci rustfmt: 6919625d8cSopenharmony_ci name: rustfmt 7019625d8cSopenharmony_ci strategy: 7119625d8cSopenharmony_ci matrix: 7219625d8cSopenharmony_ci rust: 7319625d8cSopenharmony_ci - stable 7419625d8cSopenharmony_ci - beta 7519625d8cSopenharmony_ci continue-on-error: ${{ matrix.rust != 'stable' }} 7619625d8cSopenharmony_ci runs-on: ubuntu-latest 7719625d8cSopenharmony_ci steps: 7819625d8cSopenharmony_ci - name: Checkout repository 7919625d8cSopenharmony_ci uses: actions/checkout@v3 8019625d8cSopenharmony_ci - name: Install Rust 8119625d8cSopenharmony_ci uses: actions-rs/toolchain@v1 8219625d8cSopenharmony_ci with: 8319625d8cSopenharmony_ci toolchain: ${{ matrix.rust }} 8419625d8cSopenharmony_ci profile: minimal 8519625d8cSopenharmony_ci override: true 8619625d8cSopenharmony_ci components: rustfmt 8719625d8cSopenharmony_ci - uses: Swatinem/rust-cache@v2 8819625d8cSopenharmony_ci - name: Check formatting 8919625d8cSopenharmony_ci run: cargo fmt --all -- --check 9019625d8cSopenharmony_ci clippy: 9119625d8cSopenharmony_ci name: clippy 9219625d8cSopenharmony_ci strategy: 9319625d8cSopenharmony_ci matrix: 9419625d8cSopenharmony_ci rust: 9519625d8cSopenharmony_ci - 1.64.0 # MSRV 9619625d8cSopenharmony_ci - stable 9719625d8cSopenharmony_ci continue-on-error: ${{ matrix.rust != '1.64.0' }} # MSRV 9819625d8cSopenharmony_ci runs-on: ubuntu-latest 9919625d8cSopenharmony_ci steps: 10019625d8cSopenharmony_ci - name: Checkout repository 10119625d8cSopenharmony_ci uses: actions/checkout@v3 10219625d8cSopenharmony_ci - name: Install Rust 10319625d8cSopenharmony_ci uses: actions-rs/toolchain@v1 10419625d8cSopenharmony_ci with: 10519625d8cSopenharmony_ci toolchain: ${{ matrix.rust }} 10619625d8cSopenharmony_ci profile: minimal 10719625d8cSopenharmony_ci override: true 10819625d8cSopenharmony_ci components: clippy 10919625d8cSopenharmony_ci - uses: Swatinem/rust-cache@v2 11019625d8cSopenharmony_ci - name: Lint (ultra-minimal) 11119625d8cSopenharmony_ci run: make clippy-minimal ARGS='--manifest-path Cargo.toml' 11219625d8cSopenharmony_ci - name: Lint Minimal 11319625d8cSopenharmony_ci run: make clippy-minimal 11419625d8cSopenharmony_ci - name: Lint All 11519625d8cSopenharmony_ci run: make clippy-full 11619625d8cSopenharmony_ci - name: Lint (release) 11719625d8cSopenharmony_ci run: make clippy-release 118