From a3ca7ad9e9146eade6183c2f2beff413be1da458 Mon Sep 17 00:00:00 2001 From: alexsparkes Date: Thu, 23 Apr 2026 22:03:19 +0100 Subject: [PATCH] fix(workflows): fix IS_PRERELEASE bug, hotfix changelog, dependabot target, back-merge automation, lint gate, and manifest version mismatch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - fix version-bump.yml: IS_PRERELEASE was never defined, breaking iterative beta versioning (7.x.x-beta.1 → 7.x.x-beta.2) - fix hotfix-release.yml: move changelog generation before merge so git log captures commits correctly - fix dependabot.yml: was empty; now targets dev branch to keep Dependabot PRs in the normal dev→beta→main flow - fix automerge.yml: remove continue-on-error from lint step so lint failures block Dependabot auto-merge; pin bun-version to 1.3.1 - fix production-release.yml: add automated back-merge of main→beta and main→dev after each production release - fix manifest/chrome.json and manifest/firefox.json: version was 7.6.0, mismatched package.json 7.6.1 Co-Authored-By: Claude Sonnet 4.6 --- .github/dependabot.yml | 13 +++++++++- .github/workflows/automerge.yml | 3 +-- .github/workflows/hotfix-release.yml | 32 +++++++++++------------- .github/workflows/production-release.yml | 21 +++++++++++++++- .github/workflows/version-bump.yml | 8 ++++-- manifest/chrome.json | 2 +- manifest/firefox.json | 2 +- 7 files changed, 56 insertions(+), 25 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8b137891..5186ebce 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1 +1,12 @@ - +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + target-branch: "dev" + labels: + - "dependencies" + commit-message: + prefix: "chore" + include: "scope" diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 53aca211..c8471b18 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -8,12 +8,11 @@ jobs: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 with: - bun-version: latest + bun-version: '1.3.1' - name: Install dependencies run: bun install - name: Lint run: bun run lint - continue-on-error: true - name: Build run: bun run build automerge: diff --git a/.github/workflows/hotfix-release.yml b/.github/workflows/hotfix-release.yml index b2c98cbd..8798b746 100644 --- a/.github/workflows/hotfix-release.yml +++ b/.github/workflows/hotfix-release.yml @@ -42,6 +42,21 @@ jobs: git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" + - name: Generate changelog + id: changelog + run: | + COMMITS=$(git log --pretty=format:"- %s (%h)" origin/main..${{ github.event.inputs.branch_name }}) + + { + echo "changelog<> $GITHUB_OUTPUT + - name: Calculate hotfix version (auto-patch bump) id: version run: | @@ -101,23 +116,6 @@ jobs: git push origin main git push origin "v${{ steps.version.outputs.new_version }}" - - name: Generate changelog - id: changelog - run: | - # Get commits from hotfix branch - git checkout ${{ github.event.inputs.branch_name }} - COMMITS=$(git log --pretty=format:"- %s (%h)" origin/main..${{ github.event.inputs.branch_name }}) - - { - echo "changelog<> $GITHUB_OUTPUT - - name: Create GitHub Release run: | git checkout main diff --git a/.github/workflows/production-release.yml b/.github/workflows/production-release.yml index af7462bf..137f6991 100644 --- a/.github/workflows/production-release.yml +++ b/.github/workflows/production-release.yml @@ -162,6 +162,25 @@ jobs: env: GH_TOKEN: ${{ github.token }} + - name: Configure Git + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + - name: Back-merge main to beta + run: | + git fetch origin beta + git checkout beta + git merge --no-ff main -m "chore: back-merge production release v${{ steps.version.outputs.version }} from main" + git push origin beta + + - name: Back-merge main to dev + run: | + git fetch origin dev + git checkout dev + git merge --no-ff main -m "chore: back-merge production release v${{ steps.version.outputs.version }} from main" + git push origin dev + - name: Output success summary run: | echo "## 🚀 Production Release Published!" >> $GITHUB_STEP_SUMMARY @@ -184,4 +203,4 @@ jobs: echo "- [ ] Update [muetab.com/blog/changelog](https://muetab.com/blog/changelog)" >> $GITHUB_STEP_SUMMARY echo "- [ ] Announce release on Discord/social media" >> $GITHUB_STEP_SUMMARY echo "- [ ] Monitor issue tracker for bug reports" >> $GITHUB_STEP_SUMMARY - echo "- [ ] Merge \`main\` back to \`beta\` and \`dev\` to sync version" >> $GITHUB_STEP_SUMMARY + echo "- [x] Back-merged \`main\` to \`beta\` and \`dev\` (automated)" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml index 33414486..611f389c 100644 --- a/.github/workflows/version-bump.yml +++ b/.github/workflows/version-bump.yml @@ -58,8 +58,12 @@ jobs: MINOR="${VERSION_PARTS[1]}" PATCH="${VERSION_PARTS[2]}" - # If requesting a pre-release and current is already a pre-release, keep base version - # Otherwise, bump the version based on type + if echo "$CURRENT_VERSION" | grep -q '\-'; then + IS_PRERELEASE="true" + else + IS_PRERELEASE="false" + fi + if [ -n "${{ github.event.inputs.pre_release }}" ] && [ "$IS_PRERELEASE" = "true" ]; then # Keep existing base version for iterative betas (7.6.0-beta.1 -> 7.6.0-beta.2) NEW_VERSION="$BASE_VERSION" diff --git a/manifest/chrome.json b/manifest/chrome.json index 4d7fa663..839cf8ed 100644 --- a/manifest/chrome.json +++ b/manifest/chrome.json @@ -4,7 +4,7 @@ "default_locale": "en", "name": "__MSG_name__", "description": "__MSG_description__", - "version": "7.6.0", + "version": "7.6.1", "homepage_url": "https://muetab.com", "permissions": ["search", "bookmarks"], "action": { diff --git a/manifest/firefox.json b/manifest/firefox.json index 3b224efd..be0d64b2 100644 --- a/manifest/firefox.json +++ b/manifest/firefox.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Mue", "description": "Fast, open and free-to-use new tab page for modern browsers.", - "version": "7.6.0", + "version": "7.6.1", "homepage_url": "https://muetab.com", "permissions": ["bookmarks"], "action": {