Skip to content

chore(ci): auto-merge release branch into main daily at 4am CST#7852

Merged
jdx merged 4 commits intomainfrom
chore/auto-merge-release
Jan 27, 2026
Merged

chore(ci): auto-merge release branch into main daily at 4am CST#7852
jdx merged 4 commits intomainfrom
chore/auto-merge-release

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Jan 27, 2026

Summary

Adds a scheduled workflow that automatically merges the release branch into main every day at 4am Central Standard Time (10:00 UTC).

  • Runs daily via cron schedule
  • Can also be triggered manually via workflow_dispatch
  • Gracefully handles merge conflicts by skipping the merge (exits 0)
  • Uses mise-en-dev as the commit author

Test plan

  • Workflow file passes actionlint
  • Manual trigger via workflow_dispatch

🤖 Generated with Claude Code


Note

Adds new GitHub Actions workflow /.github/workflows/auto-merge-release.yml to automatically merge release into main.

  • Runs daily via cron at 10:00 UTC and supports workflow_dispatch
  • Uses gh pr list to detect an open releasemain PR; exits cleanly if none
  • Enables gh pr merge --merge --auto to wait for checks; on failure, logs and exits 0
  • Restricted to jdx/mise via if: guard and authenticated with GH_TOKEN secret

Written by Cursor Bugbot for commit 876832e. This will update automatically on new commits. Configure here.

Copilot AI review requested due to automatic review settings January 27, 2026 15:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a GitHub Actions workflow to automate the daily merging of the release branch into main at 4am Central Standard Time (10:00 UTC).

Changes:

  • Adds a new scheduled workflow that runs daily via cron
  • Configures automatic merge with conflict handling that gracefully exits on conflicts
  • Sets up authentication using a GitHub token secret

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


on:
schedule:
# 4am Central Standard Time = 10:00 UTC (5am during daylight saving)
Copy link

Copilot AI Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment is misleading. Central Standard Time (CST) is UTC-6, so 4am CST is 10:00 UTC. However, during Central Daylight Time (CDT), which is UTC-5, 4am CDT would be 9:00 UTC, not 5am. The cron schedule at 10:00 UTC means the workflow runs at 4am CST (winter) or 5am CDT (summer), not the other way around. Consider clarifying: '10:00 UTC = 4am CST (winter) / 5am CDT (summer)'.

Suggested change
# 4am Central Standard Time = 10:00 UTC (5am during daylight saving)
# 10:00 UTC = 4am CST (winter) / 5am CDT (summer)

Copilot uses AI. Check for mistakes.
Comment on lines +24 to +27
git merge origin/release --no-edit || {
echo "Merge conflict detected, skipping auto-merge"
exit 0
}
Copy link

Copilot AI Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The error handling catches all merge failures, not just merge conflicts. Consider checking for merge conflicts specifically using git merge-tree or examining the exit code more carefully, as other failures (network issues, authentication problems) would also be silently ignored with this approach.

Suggested change
git merge origin/release --no-edit || {
echo "Merge conflict detected, skipping auto-merge"
exit 0
}
BASE=$(git merge-base main origin/release)
if git merge-tree "$BASE" main origin/release | grep -q '^<<<<<<< '; then
echo "Merge conflict detected, skipping auto-merge"
exit 0
fi
git merge origin/release --no-edit

Copilot uses AI. Check for mistakes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jdx jdx force-pushed the chore/auto-merge-release branch from 94f008e to 5dd5e4f Compare January 27, 2026 15:09
Merges release-plz PR into main daily at 4am Central time.
Uses gh pr merge --auto which waits for CI checks to pass.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jdx jdx force-pushed the chore/auto-merge-release branch from 7bf5d59 to 96db180 Compare January 27, 2026 15:12
Comment thread .github/workflows/auto-merge-release.yml Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 27, 2026

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.1.8 x -- echo 19.2 ± 0.2 18.7 21.8 1.00
mise x -- echo 19.5 ± 0.3 19.1 21.7 1.01 ± 0.02

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.1.8 env 18.7 ± 0.6 18.1 26.2 1.00
mise env 19.0 ± 0.2 18.5 19.8 1.02 ± 0.03

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.1.8 hook-env 18.9 ± 0.2 18.4 20.1 1.00
mise hook-env 19.2 ± 0.2 18.8 20.1 1.02 ± 0.02

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.1.8 ls 16.8 ± 0.2 16.4 18.4 1.00
mise ls 17.1 ± 0.2 16.5 19.5 1.01 ± 0.02

xtasks/test/perf

Command mise-2026.1.8 mise Variance
install (cached) 108ms 108ms +0%
ls (cached) 66ms 66ms +0%
bin-paths (cached) 69ms 70ms -1%
task-ls (cached) 281ms ⚠️ 2269ms -87%

⚠️ Warning: task-ls cached performance variance is -87%

- Add -R jdx/mise flag to gh pr list and gh pr merge commands
- Fix timezone comment to correctly describe UTC-to-local mapping

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Comment thread .github/workflows/auto-merge-release.yml
Use jq's // empty operator to output nothing instead of "null" when
no PR exists, so the -z check works correctly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jdx jdx merged commit 2883f5f into main Jan 27, 2026
35 checks passed
@jdx jdx deleted the chore/auto-merge-release branch January 27, 2026 20:31
mise-en-dev added a commit that referenced this pull request Jan 28, 2026
### 🚀 Features

- **(doctor)** add backend mismatch warnings by @jdx in
[#7847](#7847)
- **(http)** add rename_exe support for archive extraction by @jdx in
[#7874](#7874)
- **(http)** send x-mise-ci header for CI environment tracking by @jdx
in [#7875](#7875)
- **(install)** auto-install plugins from [plugins] config section by
@jdx in [#7856](#7856)
- **(registry)** add vercel by @mikecurtis in
[#7844](#7844)
- **(task)** support glob patterns in task_config.includes by @jdx in
[#7870](#7870)
- **(task)** add task templates for reusable task definitions by @jdx in
[#7873](#7873)

### 🐛 Bug Fixes

- **(backend)** change registry mismatch log from info to debug by @jdx
in [#7858](#7858)
- **(ci)** use squash merge for auto-merge-release workflow by @jdx in
[7e5e71e](7e5e71e)
- **(ci)** remove --auto flag to merge immediately when CI passes by
@jdx in
[23ed2ed](23ed2ed)
- **(github)** select platform-matching provenance file for SLSA
verification by @jdx in [#7853](#7853)
- **(go)** filter out version "1" from available versions by @jdx in
[#7871](#7871)
- **(install)** skip CurDir components when detecting archive structure
by @jdx in [#7868](#7868)
- **(pipx)** ensure Python minor version symlink exists for postinstall
hooks by @jdx in [#7869](#7869)
- **(registry)** prevent duplicate -stable suffix in Flutter download
URLs by @jdx in [#7872](#7872)
- **(task)** pass env to usage parser for env-backed arguments by @jdx
in [#7848](#7848)
- **(task)** propagate MISE_ENV to child tasks when using -E flag by
@jdx in
[06ee776](06ee776)
- **(vfox-dotnet)** use os.execute() to fix Windows installation by
@prodrigues1912 in [#7843](#7843)

### 📚 Documentation

- update cache-behavior with env_cache information by @jdx in
[#7849](#7849)

### ◀️ Revert

- remove task inheritance from parent configs in monorepos by @jdx in
[#7851](#7851)
- Revert "fix(ci): remove --auto flag to merge immediately when CI
passes" by @jdx in
[0606187](0606187)

### 📦 Registry

- add mago
([aqua:carthage-software/mago](https://github.com/carthage-software/mago))
by @scop in [#7845](#7845)

### Chore

- **(ci)** auto-merge release branch into main daily at 4am CST by @jdx
in [#7852](#7852)

### New Contributors

- @mikecurtis made their first contribution in
[#7844](#7844)
- @prodrigues1912 made their first contribution in
[#7843](#7843)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants