chore(ci): auto-merge release branch into main daily at 4am CST#7852
chore(ci): auto-merge release branch into main daily at 4am CST#7852
Conversation
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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)'.
| # 4am Central Standard Time = 10:00 UTC (5am during daylight saving) | |
| # 10:00 UTC = 4am CST (winter) / 5am CDT (summer) |
| git merge origin/release --no-edit || { | ||
| echo "Merge conflict detected, skipping auto-merge" | ||
| exit 0 | ||
| } |
There was a problem hiding this comment.
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.
| 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 |
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
94f008e to
5dd5e4f
Compare
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>
7bf5d59 to
96db180
Compare
Hyperfine Performance
|
| 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 | -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>
There was a problem hiding this comment.
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.
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>
### 🚀 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)
Summary
Adds a scheduled workflow that automatically merges the
releasebranch intomainevery day at 4am Central Standard Time (10:00 UTC).mise-en-devas the commit authorTest plan
🤖 Generated with Claude Code
Note
Adds new GitHub Actions workflow
/.github/workflows/auto-merge-release.ymlto automatically mergereleaseintomain.workflow_dispatchgh pr listto detect an openrelease→mainPR; exits cleanly if nonegh pr merge --merge --autoto wait for checks; on failure, logs and exits 0jdx/miseviaif:guard and authenticated withGH_TOKENsecretWritten by Cursor Bugbot for commit 876832e. This will update automatically on new commits. Configure here.