Skip to content

Github Action for Linting Postgres Migrations with Squawk

Notifications You must be signed in to change notification settings

cdignam-segment/squawk-action

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

squawk-action GitHub release (latest SemVer)

A GitHub Action for Squawk.

Lint Postgres migrations and report violations as a comment in a GitHub Pull Request (example PR).

For more information on Squawk, see the Squawk GitHub repository or website.

basic usage

Lint every .sql file in migrations/ on every pull request.

# .github/workflows/lint-migrations.yml
name: Lint Migrations

on: pull_request

jobs:
  lint_migrations:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: sbdchd/squawk-action@v1
        with:
          pattern: "migrations/*.sql"
          version: "latest"

advanced usage

Only lint modified .sql files in the migrations/.

# .github/workflows/lint-migrations.yml
name: Lint Migrations

on: pull_request

jobs:
  lint_migrations:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Find modified migrations
        run: |
          modified_migrations=$(git diff --name-only origin/$GITHUB_BASE_REF...origin/$GITHUB_HEAD_REF 'migrations/*.sql')
          echo "$modified_migrations"
          echo "::set-output name=file_names::$modified_migrations"
        id: modified-migrations
      - uses: sbdchd/squawk-action@v1
        with:
          pattern: ${{ steps.modified-migrations.outputs.file_names }}

example report

Example Squawk PR Comment

development

releasing a new version

  1. Release a new version (e.g. v5.2.1)
  2. Update major version tag to point to commit.
    git tag v5
    git push --tags

About

Github Action for Linting Postgres Migrations with Squawk

Resources

Stars

Watchers

Forks

Packages

No packages published