From 26e7039900343ff021e8a093853df3041c60ebec Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Wed, 19 Feb 2025 18:39:16 +0100 Subject: [PATCH 01/12] Add commitlint workflow --- .github/workflows/commitlint.yml | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/commitlint.yml diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 00000000..8648dc0b --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,33 @@ +# Enforces that the PR title follows the Conventional Commits specification +# https://www.conventionalcommits.org/en/v1.0.0/ +# The PR title is used as the commit message when squashing PRs (requires specific GitHub settings) + +name: "Conventional Commits PR Title" + +on: + pull_request: + branches: + - next + types: + - synchronize + - opened + - edited + - ready_for_review + +jobs: + check_squash_commit: + runs-on: ubuntu-latest + steps: + - name: Checkout PR branch + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Extract PR title as squash commit message + run: echo "${{ github.event.pull_request.title }}" > squash_commit_message.txt + + - name: Install commitlint + run: npm install @commitlint/{config-conventional,cli} + + - name: Validate PR title as squash commit message + run: npx commitlint --from HEAD --to HEAD --verbose < squash_commit_message.txt From 1504cb66242a67502328fb3ac02c762cad2f926d Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Wed, 19 Feb 2025 18:49:50 +0100 Subject: [PATCH 02/12] Add commitlint config --- commitlint.config.js | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 commitlint.config.js diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 00000000..e424dbc5 --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ['@commitlint/config-conventional'], +}; \ No newline at end of file From bb00b76dbfca057f15aeb8448ff14eab7744f9ca Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Wed, 19 Feb 2025 18:54:54 +0100 Subject: [PATCH 03/12] Update action --- .github/workflows/commitlint.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index 8648dc0b..83e45323 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -30,4 +30,5 @@ jobs: run: npm install @commitlint/{config-conventional,cli} - name: Validate PR title as squash commit message - run: npx commitlint --from HEAD --to HEAD --verbose < squash_commit_message.txt + run: | + echo "${{ github.event.pull_request.title }}" | npx commitlint --verbose From 96c57d3b408d93b45ab13a3fcf667f7bdc80cfc6 Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Wed, 19 Feb 2025 18:58:00 +0100 Subject: [PATCH 04/12] Add auto approve action --- .github/workflows/auto-approve-codeowner-prs.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/auto-approve-codeowner-prs.yml diff --git a/.github/workflows/auto-approve-codeowner-prs.yml b/.github/workflows/auto-approve-codeowner-prs.yml new file mode 100644 index 00000000..2496ebf9 --- /dev/null +++ b/.github/workflows/auto-approve-codeowner-prs.yml @@ -0,0 +1,14 @@ +name: Auto-approve PR +on: + pull_request: + types: [opened, synchronize] + +jobs: + auto-approve: + if: github.actor == 'dorthrithil' + runs-on: ubuntu-latest + steps: + - name: Auto-approve + uses: hmarr/auto-approve-action@v3 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 8e2906304db965e69465f52cd6c11e2729a8908e Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Wed, 19 Feb 2025 22:02:11 +0100 Subject: [PATCH 05/12] Modify auto approve action --- .github/workflows/auto-approve-codeowner-prs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-approve-codeowner-prs.yml b/.github/workflows/auto-approve-codeowner-prs.yml index 2496ebf9..453cc1bb 100644 --- a/.github/workflows/auto-approve-codeowner-prs.yml +++ b/.github/workflows/auto-approve-codeowner-prs.yml @@ -1,6 +1,6 @@ name: Auto-approve PR on: - pull_request: + pull_request_target: types: [opened, synchronize] jobs: From 290fe36fdd26258b5b5142ac35f15acc6f5cd58c Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Wed, 19 Feb 2025 22:10:00 +0100 Subject: [PATCH 06/12] Modify auto approve action --- .github/workflows/auto-approve-codeowner-prs.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/auto-approve-codeowner-prs.yml b/.github/workflows/auto-approve-codeowner-prs.yml index 453cc1bb..c9994238 100644 --- a/.github/workflows/auto-approve-codeowner-prs.yml +++ b/.github/workflows/auto-approve-codeowner-prs.yml @@ -1,12 +1,14 @@ name: Auto-approve PR on: pull_request_target: - types: [opened, synchronize] + types: [ opened, synchronize ] jobs: auto-approve: if: github.actor == 'dorthrithil' runs-on: ubuntu-latest + permissions: + pull-requests: write steps: - name: Auto-approve uses: hmarr/auto-approve-action@v3 From 2423c6fce10d6749f823d0c02342afd9e0219630 Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Wed, 19 Feb 2025 22:12:35 +0100 Subject: [PATCH 07/12] Modify auto approve action --- .github/workflows/auto-approve-codeowner-prs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/auto-approve-codeowner-prs.yml b/.github/workflows/auto-approve-codeowner-prs.yml index c9994238..57ac60d1 100644 --- a/.github/workflows/auto-approve-codeowner-prs.yml +++ b/.github/workflows/auto-approve-codeowner-prs.yml @@ -2,6 +2,8 @@ name: Auto-approve PR on: pull_request_target: types: [ opened, synchronize ] + pull_request: + types: [ opened, synchronize ] jobs: auto-approve: From 55487aba467fe0905e68b3b6020ac86e287c6ca7 Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Thu, 20 Feb 2025 21:45:35 +0100 Subject: [PATCH 08/12] Modify auto approve action --- .github/workflows/auto-approve-codeowner-prs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-approve-codeowner-prs.yml b/.github/workflows/auto-approve-codeowner-prs.yml index 57ac60d1..be1527a6 100644 --- a/.github/workflows/auto-approve-codeowner-prs.yml +++ b/.github/workflows/auto-approve-codeowner-prs.yml @@ -15,4 +15,4 @@ jobs: - name: Auto-approve uses: hmarr/auto-approve-action@v3 with: - github-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + github-token: ${{ secrets.LC_BOT_PAT }} \ No newline at end of file From 430d5c606b5fedcd84fb730dad9c6ec37fa7c67f Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Thu, 20 Feb 2025 21:51:14 +0100 Subject: [PATCH 09/12] Modify auto approve action --- .../workflows/auto-approve-codeowner-prs.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .github/workflows/auto-approve-codeowner-prs.yml diff --git a/.github/workflows/auto-approve-codeowner-prs.yml b/.github/workflows/auto-approve-codeowner-prs.yml deleted file mode 100644 index be1527a6..00000000 --- a/.github/workflows/auto-approve-codeowner-prs.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Auto-approve PR -on: - pull_request_target: - types: [ opened, synchronize ] - pull_request: - types: [ opened, synchronize ] - -jobs: - auto-approve: - if: github.actor == 'dorthrithil' - runs-on: ubuntu-latest - permissions: - pull-requests: write - steps: - - name: Auto-approve - uses: hmarr/auto-approve-action@v3 - with: - github-token: ${{ secrets.LC_BOT_PAT }} \ No newline at end of file From 433a1fdd7db12b6c3487f6b22fe47296f7af2348 Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Thu, 20 Feb 2025 22:08:56 +0100 Subject: [PATCH 10/12] Modify auto approve action --- .github/workflows/auto-approve.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/auto-approve.yml diff --git a/.github/workflows/auto-approve.yml b/.github/workflows/auto-approve.yml new file mode 100644 index 00000000..be1527a6 --- /dev/null +++ b/.github/workflows/auto-approve.yml @@ -0,0 +1,18 @@ +name: Auto-approve PR +on: + pull_request_target: + types: [ opened, synchronize ] + pull_request: + types: [ opened, synchronize ] + +jobs: + auto-approve: + if: github.actor == 'dorthrithil' + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - name: Auto-approve + uses: hmarr/auto-approve-action@v3 + with: + github-token: ${{ secrets.LC_BOT_PAT }} \ No newline at end of file From 8a31ef87db6f3661d8fef865a7d0d23577eda0bd Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Thu, 20 Feb 2025 22:25:41 +0100 Subject: [PATCH 11/12] Modify auto approve action --- .github/workflows/auto-approve.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/auto-approve.yml b/.github/workflows/auto-approve.yml index be1527a6..a79af44b 100644 --- a/.github/workflows/auto-approve.yml +++ b/.github/workflows/auto-approve.yml @@ -7,6 +7,7 @@ on: jobs: auto-approve: + # Only run this action for the dorthrithil user if: github.actor == 'dorthrithil' runs-on: ubuntu-latest permissions: @@ -15,4 +16,5 @@ jobs: - name: Auto-approve uses: hmarr/auto-approve-action@v3 with: - github-token: ${{ secrets.LC_BOT_PAT }} \ No newline at end of file + github-token: ${{ secrets.LC_BOT_PAT }} + review-message: "Auto approved PR: Join the LocalCrag team, so we can review your PRs instead of letting bots auto approve them." \ No newline at end of file From a3eb004e48bfbda42410375cdff9725d367e0133 Mon Sep 17 00:00:00 2001 From: Felix Engelmann Date: Thu, 20 Feb 2025 22:31:04 +0100 Subject: [PATCH 12/12] Update actions --- .github/workflows/auto-approve.yml | 2 +- .github/workflows/backend-unit-tests.yml | 2 +- .github/workflows/check-frontend-prod-build.yml | 2 +- .github/workflows/check-migrate-from-empty-db.yml | 2 +- .github/workflows/check-migrate-from-prod-db.yml | 2 +- .github/workflows/cypress-e2e-tests.yml | 2 +- .github/workflows/frontend-unit-tests.yml | 2 +- .github/workflows/linting.yml | 2 +- .github/workflows/{commitlint.yml => pr-title-lint.yml} | 0 9 files changed, 8 insertions(+), 8 deletions(-) rename .github/workflows/{commitlint.yml => pr-title-lint.yml} (100%) diff --git a/.github/workflows/auto-approve.yml b/.github/workflows/auto-approve.yml index a79af44b..a34e16bb 100644 --- a/.github/workflows/auto-approve.yml +++ b/.github/workflows/auto-approve.yml @@ -17,4 +17,4 @@ jobs: uses: hmarr/auto-approve-action@v3 with: github-token: ${{ secrets.LC_BOT_PAT }} - review-message: "Auto approved PR: Join the LocalCrag team, so we can review your PRs instead of letting bots auto approve them." \ No newline at end of file + review-message: "LocalCragBot here - I approved the PR!\n\nWondering why this is happening? Join the LocalCrag team and be the one approving PRs instead of me!" \ No newline at end of file diff --git a/.github/workflows/backend-unit-tests.yml b/.github/workflows/backend-unit-tests.yml index 8ab6d366..e9ee92e1 100644 --- a/.github/workflows/backend-unit-tests.yml +++ b/.github/workflows/backend-unit-tests.yml @@ -3,7 +3,7 @@ on: pull_request: branches: - main - - 'v[0-9]+.[0-9]+.[0-9]+' + - next jobs: backend-unit-tests: environment: Testing diff --git a/.github/workflows/check-frontend-prod-build.yml b/.github/workflows/check-frontend-prod-build.yml index a26473d7..af422aaa 100644 --- a/.github/workflows/check-frontend-prod-build.yml +++ b/.github/workflows/check-frontend-prod-build.yml @@ -3,7 +3,7 @@ on: pull_request: branches: - main - - 'v[0-9]+.[0-9]+.[0-9]+' + - next jobs: frontend-prod-build-check: runs-on: ubuntu-latest diff --git a/.github/workflows/check-migrate-from-empty-db.yml b/.github/workflows/check-migrate-from-empty-db.yml index 28bf301f..4d727403 100644 --- a/.github/workflows/check-migrate-from-empty-db.yml +++ b/.github/workflows/check-migrate-from-empty-db.yml @@ -3,7 +3,7 @@ on: pull_request: branches: - main - - 'v[0-9]+.[0-9]+.[0-9]+' + - next jobs: check-migrate-from-empty-db: environment: Testing diff --git a/.github/workflows/check-migrate-from-prod-db.yml b/.github/workflows/check-migrate-from-prod-db.yml index 80f24551..4fd79da6 100644 --- a/.github/workflows/check-migrate-from-prod-db.yml +++ b/.github/workflows/check-migrate-from-prod-db.yml @@ -3,7 +3,7 @@ on: pull_request: branches: - main - - 'v[0-9]+.[0-9]+.[0-9]+' + - next jobs: check-migrate-from-prod-db: environment: Testing diff --git a/.github/workflows/cypress-e2e-tests.yml b/.github/workflows/cypress-e2e-tests.yml index 5c3a4e9f..06c4b6a2 100644 --- a/.github/workflows/cypress-e2e-tests.yml +++ b/.github/workflows/cypress-e2e-tests.yml @@ -3,7 +3,7 @@ on: pull_request: branches: - main - - 'v[0-9]+.[0-9]+.[0-9]+' + - next jobs: cypress-run: runs-on: ubuntu-latest diff --git a/.github/workflows/frontend-unit-tests.yml b/.github/workflows/frontend-unit-tests.yml index 3070ef34..5be9615a 100644 --- a/.github/workflows/frontend-unit-tests.yml +++ b/.github/workflows/frontend-unit-tests.yml @@ -3,7 +3,7 @@ on: pull_request: branches: - main - - 'v[0-9]+.[0-9]+.[0-9]+' + - next jobs: frontend-unit-tests: runs-on: ubuntu-latest diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index d5fc38cd..6a68af6e 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -3,7 +3,7 @@ on: pull_request: branches: - main - - 'v[0-9]+.[0-9]+.[0-9]+' + - next jobs: lint-server: runs-on: ubuntu-latest diff --git a/.github/workflows/commitlint.yml b/.github/workflows/pr-title-lint.yml similarity index 100% rename from .github/workflows/commitlint.yml rename to .github/workflows/pr-title-lint.yml