feat: implement python templater #2147
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
pull_request: | |
merge_group: | |
name: PR Checks | |
env: | |
CARGO_INCREMENTAL: 0 | |
CARGO_NET_RETRY: 10 | |
RUSTUP_MAX_RETRIES: 10 | |
RUST_BACKTRACE: short | |
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: true | |
jobs: | |
check-licenses-readmes-match: | |
name: Check licenses match | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Copy LICENSE to editors/code directory | |
run: cp LICENSE editors/code/LICENSE | |
- name: Copy README.md to editors/code directory | |
run: cp README.md editors/code/README.md | |
- name: Check there is no change | |
run: git diff --quiet || exit 1 | |
check-versions-match: | |
name: Check versions match | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install jq | |
run: sudo apt-get install jq | |
- name: Allow running check_versions_match.sh | |
run: chmod +x ./.hacking/scripts/check_versions_match.sh | |
- run: ./.hacking/scripts/check_versions_match.sh | |
check: | |
name: Rust Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo check --all --all-features --tests --benches | |
compile: | |
name: Compile | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --locked --release --all-features | |
compile-wasm: | |
name: Compile wasm32-unknown-unknown | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Add WASM target | |
run: rustup target add wasm32-unknown-unknown | |
- run: cargo build --package sqruff-lib --locked --release --target wasm32-unknown-unknown | |
typescript: | |
name: TypeScript | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- uses: pnpm/action-setup@v4 | |
name: Install pnpm | |
with: | |
version: 9 | |
run_install: false | |
- name: Install Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
cache: "pnpm" | |
- run: pnpm install --frozen-lockfile | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- run: pnpm run ci | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- uses: taiki-e/install-action@nextest | |
- name: Run tests | |
run: cargo nextest run --locked --release | |
- name: Check for diffs | |
run: git diff --quiet || exit 1 | |
benchmark: | |
name: Benchmark | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run benchmarks | |
run: cargo run --color=always --bin bench --manifest-path ./crates/cli/Cargo.toml | |
fmt: | |
name: Format | |
runs-on: ubuntu-latest | |
steps: | |
- uses: Swatinem/rust-cache@v2 | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- name: Run cargo fmt | |
run: cargo fmt --all -- --check | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: Swatinem/rust-cache@v2 | |
- uses: taiki-e/install-action@cargo-hack | |
- uses: taiki-e/install-action@cargo-machete | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Run cargo clippy | |
run: cargo clippy --all --all-features -- -D warnings | |
- name: Check unused dependencies | |
run: cargo machete | |
- name: Cargo hack | |
run: cargo hack check --each-feature --exclude-features=codegen-docs | |
prettier-formatting: | |
name: Check Prettier formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
name: Install pnpm | |
with: | |
version: 9 | |
- name: Install Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".nvmrc" | |
cache: "pnpm" | |
- run: pnpm install --frozen-lockfile | |
- run: pnpm run fmt:check | |
shellcheck: | |
name: Shellcheck | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run ShellCheck | |
uses: ludeeus/action-shellcheck@master | |
with: | |
scandir: "./.hacking/scripts" | |
python: | |
name: Run python checks | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
- run: pip install -e ".[dev]" | |
- run: make ci |