docs(pg_lexer): add some info about libpg_query and SyntaxKind #67
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
name: Pull Request | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths: # Only run when changes are made to rust code or root Cargo | |
- "crates/**" | |
- "lib/**" | |
- "fuzz/**" | |
- "xtask/**" | |
- "Cargo.toml" | |
- "Cargo.lock" | |
- "rust-toolchain.toml" | |
- "rustfmt.toml" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
RUSTFLAGS: -A dead_code | |
RUST_LOG: info | |
RUST_BACKTRACE: 1 | |
RUSTUP_WINDOWS_PATH_ADD_BIN: 1 | |
jobs: | |
format: | |
name: Format | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout PR branch | |
uses: actions/checkout@v4 | |
- name: Free Disk Space | |
uses: ./.github/actions/free-disk-space | |
- name: Install toolchain | |
uses: moonrepo/setup-rust@v1 | |
with: | |
components: rustfmt | |
bins: taplo-cli | |
cache-base: main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run format | |
run: | | |
cargo fmt --all --check | |
taplo format --check | |
actionlint: | |
name: Lint GitHub Actions | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download actionlint | |
id: get_actionlint | |
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) | |
shell: bash | |
- name: Check workflow files | |
run: ${{ steps.get_actionlint.outputs.executable }} -color | |
shell: bash | |
lint: | |
name: Lint Project | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:latest | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: postgres | |
ports: | |
- 5432:5432 | |
steps: | |
- name: Checkout PR Branch | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Free Disk Space | |
uses: ./.github/actions/free-disk-space | |
- name: Install toolchain | |
uses: moonrepo/setup-rust@v1 | |
with: | |
components: clippy | |
cache-base: main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run clippy | |
run: | | |
cargo clippy | |
cargo run -p rules_check | |
# check-dependencies: | |
# name: Check Dependencies | |
# runs-on: ubuntu-latest | |
# services: | |
# postgres: | |
# image: postgres:latest | |
# env: | |
# POSTGRES_USER: postgres | |
# POSTGRES_PASSWORD: postgres | |
# POSTGRES_DB: postgres | |
# ports: | |
# - 5432:5432 | |
# steps: | |
# - name: Checkout PR Branch | |
# uses: actions/checkout@v4 | |
# with: | |
# submodules: true | |
# - name: Free Disk Space | |
# uses: ./.github/actions/free-disk-space | |
# - name: Install toolchain | |
# run: rustup toolchain install nightly | |
# - name: Install udeps | |
# run: cargo install cargo-udeps --locked | |
# - name: Detect unused dependencies using udeps | |
# run: cargo +nightly udeps --all-targets | |
test: | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
# reactive once we upgrade to the latest version of pg_query that is windows-compatible | |
- os: windows-latest | |
- os: ubuntu-latest | |
steps: | |
- name: Checkout PR branch | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Free Disk Space | |
uses: ./.github/actions/free-disk-space | |
- name: Install toolchain | |
uses: moonrepo/setup-rust@v1 | |
with: | |
cache-base: main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# running containers via `services` only works on linux | |
# https://github.com/actions/runner/issues/1866 | |
- name: Setup postgres | |
uses: ikalnytskyi/action-setup-postgres@v7 | |
- name: Run tests | |
run: cargo test --workspace | |
codegen: | |
name: Check Codegen | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:latest | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: postgres | |
ports: | |
- 5432:5432 | |
steps: | |
- name: Checkout PR branch | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Free Disk Space | |
uses: ./.github/actions/free-disk-space | |
- name: Install toolchain | |
uses: moonrepo/setup-rust@v1 | |
with: | |
cache-base: main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run the analyser codegen | |
run: cargo run -p xtask_codegen -- analyser | |
- name: Run the configuration codegen | |
run: cargo run -p xtask_codegen -- configuration | |
- name: Check for git diff | |
run: | | |
if [[ $(git status --porcelain) ]]; then | |
git status | |
git diff | |
exit 1 | |
fi |