diff --git a/.github/workflows/check-docs-site.yml b/.github/workflows/check-docs-site.yml index 8206d9402a..696a24d439 100644 --- a/.github/workflows/check-docs-site.yml +++ b/.github/workflows/check-docs-site.yml @@ -20,8 +20,8 @@ concurrency: cancel-in-progress: true jobs: - lint: - name: Lint + build: + name: Build Docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -29,8 +29,8 @@ jobs: - name: Install run: pnpm install --frozen-lockfile --prefer-offline - name: Install Docs - run: cd docs && pnpm install --frozen-lockfile --prefer-offline - - name: lint - run: cd docs && pnpm lint - - name: Build - run: cd docs && pnpm build + working-directory: docs/ + run: pnpm install --frozen-lockfile --prefer-offline + - name: Build Docs + working-directory: docs/ + run: pnpm build diff --git a/.github/workflows/comment-on-linter-error.yml b/.github/workflows/comment-on-linter-error.yml deleted file mode 100644 index 2cffa8e68d..0000000000 --- a/.github/workflows/comment-on-linter-error.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Comment on lint failure - -on: - pull_request_target: - types: - - opened - branches: - - main - -concurrency: - group: ${{github.workflow}}-${{github.ref}} - cancel-in-progress: true - -jobs: - comment_on_lint_failure: - name: Comment on lint failure - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - ref: "refs/pull/${{ github.event.number }}/merge" - - uses: ./.github/actions/setup-env - - name: Install - run: pnpm install --frozen-lockfile --prefer-offline - - name: Build - run: pnpm build - - name: lint - run: pnpm lint - - name: Check dependency versions - run: node scripts/check-dependencies.js - - name: Install website - working-directory: docs/ - run: pnpm install --frozen-lockfile --prefer-offline - - name: Lint website - working-directory: docs/ - run: pnpm lint - - uses: actions/github-script@v7 - name: Comment on failure - if: ${{ failure() }} - with: - script: | - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: "Thanks for submitting this PR!\n\nUnfortunately, it has some linter errors, so we can't merge it yet. Can you please fix them?\n\nRunning pnpm lint:fix in the root of the repository may fix them automatically." - }) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 6baad30d2c..f55ec6d638 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -23,8 +23,24 @@ jobs: lint: name: Lint runs-on: ubuntu-latest + permissions: + contents: read steps: + # NOTE: When running on a pull_request_target, we're checking out the repo + # twice. The first checkout is for the base branch of the PR. The second, + # for the merge commit. We do this to be able to use the `setup-env` + # action that's on the base branch. - uses: actions/checkout@v4 + with: + persist-credentials: false + - uses: actions/checkout@v4 + if: github.event_name == 'pull_request_target' + with: + ref: "refs/pull/${{ github.event.number }}/merge" + persist-credentials: false + - if: github.event_name == 'pull_request_target' + name: Check out setup-env action from the base branch + run: git checkout --no-overlay $GITHUB_SHA -- .github/actions/setup-env - uses: ./.github/actions/setup-env - name: Install run: pnpm install --frozen-lockfile --prefer-offline @@ -40,3 +56,21 @@ jobs: - name: Lint website working-directory: docs/ run: pnpm lint + comment: + needs: [lint] + if: failure() && github.event_name == 'pull_request_target' && needs.lint.result == 'failure' + name: Comment + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/github-script@v7 + name: Comment on failure + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: "Thanks for submitting this PR!\n\nUnfortunately, it has some linter errors, so we can't merge it yet. Can you please fix them?\n\nRunning pnpm lint:fix in the root of the repository may fix them automatically." + })