# To optimize CI runtime: # A simpler "sanity check" workflow is introduced. # This workflow only runs if changes in the PR do NOT include # the `loco-gen` or `loco-new` paths. # (When changes are made to `loco-gen` or `loco-new`, # we run comprehensive tests to validate every generator command # and template option.) # Purpose of the sanity check: # It performs basic validation by comparing the local changes # against the templates. # If any breaking changes are detected in the templates, # the sanity check will fail, signaling an issue. name: "[loco_rs:sanity]" on: push: branches: - master pull_request: env: RUST_TOOLCHAIN: stable TOOLCHAIN_PROFILE: minimal jobs: sanity: 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 }} - name: Setup Rust cache uses: Swatinem/rust-cache@v2 - name: Install seaorm cli run: cargo install sea-orm-cli - run: cargo install --path loco-new - run: | loco new -n myappdb --db sqlite --bg async --assets serverside -a cd myappdb cargo check cargo build --release cargo test --all-features env: LOCO_DEV_MODE_PATH: ${{ github.workspace }} - run: | loco new -n myapp --db none --bg async --assets none -a cd myapp cargo check cargo build --release cargo test --all-features env: LOCO_DEV_MODE_PATH: ${{ github.workspace }}