fix(workflows): fix IS_PRERELEASE bug, hotfix changelog, dependabot target, back-merge automation, lint gate, and manifest version mismatch

- 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 <noreply@anthropic.com>
This commit is contained in:
alexsparkes
2026-04-23 22:03:19 +01:00
parent 6cb142b1b3
commit a3ca7ad9e9
7 changed files with 56 additions and 25 deletions

View File

@@ -1 +1,12 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
target-branch: "dev"
labels:
- "dependencies"
commit-message:
prefix: "chore"
include: "scope"

View File

@@ -8,12 +8,11 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2 - uses: oven-sh/setup-bun@v2
with: with:
bun-version: latest bun-version: '1.3.1'
- name: Install dependencies - name: Install dependencies
run: bun install run: bun install
- name: Lint - name: Lint
run: bun run lint run: bun run lint
continue-on-error: true
- name: Build - name: Build
run: bun run build run: bun run build
automerge: automerge:

View File

@@ -42,6 +42,21 @@ jobs:
git config user.name "github-actions[bot]" git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com" 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<<EOF"
echo "### 🚨 Hotfix"
echo "${{ github.event.inputs.description }}"
echo ""
echo "### Changes"
echo "$COMMITS"
echo "EOF"
} >> $GITHUB_OUTPUT
- name: Calculate hotfix version (auto-patch bump) - name: Calculate hotfix version (auto-patch bump)
id: version id: version
run: | run: |
@@ -101,23 +116,6 @@ jobs:
git push origin main git push origin main
git push origin "v${{ steps.version.outputs.new_version }}" 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<<EOF"
echo "### 🚨 Hotfix"
echo "${{ github.event.inputs.description }}"
echo ""
echo "### Changes"
echo "$COMMITS"
echo "EOF"
} >> $GITHUB_OUTPUT
- name: Create GitHub Release - name: Create GitHub Release
run: | run: |
git checkout main git checkout main

View File

@@ -162,6 +162,25 @@ jobs:
env: env:
GH_TOKEN: ${{ github.token }} 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 - name: Output success summary
run: | run: |
echo "## 🚀 Production Release Published!" >> $GITHUB_STEP_SUMMARY 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 "- [ ] Update [muetab.com/blog/changelog](https://muetab.com/blog/changelog)" >> $GITHUB_STEP_SUMMARY
echo "- [ ] Announce release on Discord/social media" >> $GITHUB_STEP_SUMMARY echo "- [ ] Announce release on Discord/social media" >> $GITHUB_STEP_SUMMARY
echo "- [ ] Monitor issue tracker for bug reports" >> $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

View File

@@ -58,8 +58,12 @@ jobs:
MINOR="${VERSION_PARTS[1]}" MINOR="${VERSION_PARTS[1]}"
PATCH="${VERSION_PARTS[2]}" PATCH="${VERSION_PARTS[2]}"
# If requesting a pre-release and current is already a pre-release, keep base version if echo "$CURRENT_VERSION" | grep -q '\-'; then
# Otherwise, bump the version based on type IS_PRERELEASE="true"
else
IS_PRERELEASE="false"
fi
if [ -n "${{ github.event.inputs.pre_release }}" ] && [ "$IS_PRERELEASE" = "true" ]; then 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) # Keep existing base version for iterative betas (7.6.0-beta.1 -> 7.6.0-beta.2)
NEW_VERSION="$BASE_VERSION" NEW_VERSION="$BASE_VERSION"

View File

@@ -4,7 +4,7 @@
"default_locale": "en", "default_locale": "en",
"name": "__MSG_name__", "name": "__MSG_name__",
"description": "__MSG_description__", "description": "__MSG_description__",
"version": "7.6.0", "version": "7.6.1",
"homepage_url": "https://muetab.com", "homepage_url": "https://muetab.com",
"permissions": ["search", "bookmarks"], "permissions": ["search", "bookmarks"],
"action": { "action": {

View File

@@ -2,7 +2,7 @@
"manifest_version": 3, "manifest_version": 3,
"name": "Mue", "name": "Mue",
"description": "Fast, open and free-to-use new tab page for modern browsers.", "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", "homepage_url": "https://muetab.com",
"permissions": ["bookmarks"], "permissions": ["bookmarks"],
"action": { "action": {