mirror of
https://github.com/supabase/supabase.git
synced 2026-10-16 22:59:11 +03:00
88 lines
3.0 KiB
YAML
88 lines
3.0 KiB
YAML
name: '[Docs] Lint v2'
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/docs-lint-v2.yml'
|
|
- 'supa-mdx-lint.config.toml'
|
|
- 'apps/docs/content/**'
|
|
push:
|
|
branches:
|
|
- master
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
CARGO_NET_GIT_FETCH_WITH_CLI: true
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
supa-mdx-lint:
|
|
name: supa-mdx-lint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
sparse-checkout: |
|
|
supa-mdx-lint.config.toml
|
|
supa-mdx-lint
|
|
apps/docs/content
|
|
- name: cache cargo
|
|
id: cache-cargo
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/bin/
|
|
~/.cargo/registry/index/
|
|
~/.cargo/registry/cache/
|
|
~/.cargo/git/db/
|
|
key: 0be447eba738c3fd56698eff8ad01fa56c2391d7
|
|
- name: install linter
|
|
if: steps.cache-cargo.outputs.cache-hit != 'true'
|
|
run: cargo install --locked --git https://github.com/supabase-community/supa-mdx-lint --rev 0be447eba738c3fd56698eff8ad01fa56c2391d7
|
|
- name: install reviewdog
|
|
uses: reviewdog/action-setup@3f401fe1d58fe77e10d665ab713057375e39b887 # v1.3.0
|
|
with:
|
|
reviewdog_version: v0.20.2
|
|
- name: run linter on PR
|
|
if: github.event_name == 'pull_request'
|
|
env:
|
|
BASE_REF: ${{ github.base_ref }}
|
|
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
set -o pipefail
|
|
git diff --name-only origin/$BASE_REF HEAD \
|
|
| { grep -E "^apps/docs/content/" || test $? = 1; } \
|
|
| xargs -r supa-mdx-lint --format rdf \
|
|
| reviewdog -f=rdjsonl -reporter=github-pr-review
|
|
- name: run linter on push or workflow dispatch
|
|
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
supa-mdx-lint apps/docs/content || {
|
|
echo "Linter failed, attempting to fix errors..."
|
|
git config --global user.name 'github-docs-bot'
|
|
git config --global user.email 'github-docs-bot@supabase.com'
|
|
BRANCH_NAME="bot/docs-lint-fixes"
|
|
EXISTING_BRANCH=$(git ls-remote --heads origin $BRANCH_NAME)
|
|
if [ -n "$EXISTING_BRANCH" ]; then
|
|
git checkout $BRANCH_NAME
|
|
else
|
|
git checkout -b $BRANCH_NAME
|
|
fi
|
|
supa-mdx-lint apps/docs/content --fix || FIX_FAILED=1
|
|
git add .
|
|
git commit -m '[bot] fix lint errors' || true
|
|
git push origin $BRANCH_NAME
|
|
if [ -z "$EXISTING_BRANCH" ]; then
|
|
gh pr create --title '[bot] fix lint errors' --body 'This PR fixes lint errors in the documentation.' --head $BRANCH_NAME
|
|
fi
|
|
if [ "${FIX_FAILED:-0}" -eq 1 ]; then
|
|
echo "Fix did not correct all errors."
|
|
exit 1
|
|
fi
|
|
}
|