Refactor CI workflows and update dependencies#212
Merged
mercyblitz merged 16 commits intorelease-1.xfrom Apr 13, 2026
Merged
Conversation
Remove the -Dsurefire.useSystemClassLoader=false JVM property from the GitHub Actions Maven build workflow. This change drops the explicit Surefire system classloader override, relying on the plugin's default behavior and avoiding potential classloader-related issues in CI.
Add -Dsurefire.useSystemClassLoader=false to the Maven invocation in .github/workflows/maven-build.yml. This forces Surefire to not use the system classloader during test runs, addressing potential classloader-related test failures or environment issues in the CI workflow.
Add a GitHub Actions workflow that periodically (every 5 minutes) syncs branches from the upstream repository into a fork. The job detects whether the repo is a fork (using gh api + jq) and only runs for forks; it fetches upstream and origin refs, skips branches that don't exist upstream or are already up to date, and pushes upstream/<branch> to origin/<branch> using --force-with-lease. Uses actions/checkout@v5, write permissions for contents, concurrency to cancel in-progress runs, and exits with failure if any branch push fails.
Delete .github/workflows/sync-branches-from-upstream.yml which provided an automated workflow to sync fork branches from the upstream parent. The workflow ran on a 5-minute cron (and via manual dispatch), checked whether the repository was a fork, added the upstream remote, fetched refs, and iterated origin branches to update those that existed in upstream (pushing with force-with-lease). Removing this file disables the frequent automated branch synchronization that the workflow performed.
Update the parent artifact io.github.microsphere-projects:microsphere-build in pom.xml from version 0.2.6 to 0.2.7 to pick up upstream fixes/updates.
Update microsphere-spring-parent/pom.xml to set <microsphere-java.version> from 0.2.6 to 0.2.8, ensuring the project uses the newer microsphere-java release with its fixes/updates.
Update microsphere-logging.version in microsphere-spring-parent/pom.xml from 0.1.5 to 0.1.6 to pick up the newer microsphere-logging release across the project.
Normalize spacing in the GitHub Actions matrix for Java versions and remove the stray leading space from the '25' entry. This ensures the matrix values are consistent and prevents accidental inclusion of a malformed ' 25' string that could cause mismatched runner configuration.
Add a new workflow step that generates release notes using the GitHub Models API (gpt-4o) via a Python script. The step determines the previous tag, collects commits, requests a concise markdown summary, appends a versioned section to release-notes.md, and writes the current notes to /tmp/current-release-notes.md for the release creation step. Also: grant workflows models: read permission, switch the release creation to use --notes-file /tmp/current-release-notes.md (instead of --generate-notes), and include release-notes.md in the post-publish commit so generated notes are persisted. The script falls back to including raw commits if the model call fails.
Wrap the logger.error call in BeanListeners with an if (logger.isErrorEnabled()) guard. This avoids unnecessary evaluation/side-effects of logging arguments during exception handling and reduces logging overhead in the error path.
Minor formatting change in DependencyAnalysisBeanFactoryListener: add a space between 'if' and '(' when checking logger.isTraceEnabled(). No functional change; improves code readability.
Add a source attribute to the @ConfigurationProperty on RESET_BEAN_NAME_PROPERTY_NAME by importing APPLICATION_SOURCE and setting source = APPLICATION_SOURCE. This provides metadata about the configuration property's origin and includes a minor annotation formatting adjustment.
Change LoggingSmartLifecycle to log lifecycle events at INFO level by replacing logger.isDebugEnabled()/logger.debug(...) with logger.isInfoEnabled()/logger.info(...) in doStart() and doStop(), ensuring start/stop messages are visible at INFO level.
Refactor CI workflows and update dependencies
Codecov Report❌ Patch coverage is
... and 16 files with indirect coverage changes 🚀 New features to boost your workflow:
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This pull request introduces automated release notes generation using GitHub Copilot in the Maven publish workflow, updates dependency versions, and includes minor improvements to logging and configuration annotations. The main focus is on streamlining the release process and improving code clarity.
CI/CD & Release Automation:
.github/workflows/maven-publish.ymlto automatically generate release notes using GitHub Copilot and the Models API, formats them as markdown, and attaches them to GitHub releases instead of using auto-generated notes. Also ensures these notes are committed torelease-notes.mdfor future reference. [1] [2]Dependency Version Updates:
microsphere-javato version 0.2.8 andmicrosphere-loggingto 0.1.6 inmicrosphere-spring-parent/pom.xml.pom.xml.Code Quality & Logging Improvements:
LoggingSmartLifecyclefrom debug to info level for lifecycle events, making startup and shutdown more visible in logs.BeanListenersare only written if error logging is enabled, preventing unnecessary log output.Configuration Annotation Enhancement:
sourceattribute to the@ConfigurationPropertyannotation forRESET_BEAN_NAME_PROPERTY_NAME, improving configuration metadata. [1] [2]