name: "[loco-new:ci]" on: push: branches: - master paths: - "loco-new/**" - "loco-gen/**" pull_request: paths: - "loco-new/**" - "loco-gen/**" env: RUST_TOOLCHAIN: stable TOOLCHAIN_PROFILE: minimal jobs: style: runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout the code uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable with: toolchain: ${{ env.RUST_TOOLCHAIN }} components: rustfmt - name: Setup Rust cache uses: Swatinem/rust-cache@v2 - run: cargo fmt --all -- --check working-directory: ./loco-new - name: Run cargo clippy run: cargo clippy --all-features -- -D warnings -W clippy::pedantic -W clippy::nursery -W rust-2018-idioms working-directory: ./loco-new test: # needs: [style] runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest] permissions: contents: read steps: - name: Checkout the code uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable with: toolchain: ${{ env.RUST_TOOLCHAIN }} - name: Setup Rust cache uses: Swatinem/rust-cache@v2 - name: Configure sccache run: | echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV - name: Run sccache-cache uses: mozilla-actions/sccache-action@v0.0.10 - name: Install seaorm cli run: cargo install sea-orm-cli - name: Free Disk Space if: ${{ matrix.os == 'ubuntu-latest' }} uses: jlumbroso/free-disk-space@main with: tool-cache: false - name: Run cargo test run: cargo test --all-features -- --test-threads 1 working-directory: ./loco-new env: LOCO_DEV_MODE_PATH: ${{ github.workspace }} # NOTE NOTE NOTE: this is for optimizing build and may result in strange behavior CARGO_TARGET_DIR: /tmp/shared-target