66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
# 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 }}
|
|
|
|
|