Skip to content

ci(make): ensure minimal PR before merge#11

Merged
xenoterracide merged 2 commits intodevelopfrom
chore/release-on-gh
Feb 6, 2026
Merged

ci(make): ensure minimal PR before merge#11
xenoterracide merged 2 commits intodevelopfrom
chore/release-on-gh

Conversation

@xenoterracide
Copy link
Owner

@xenoterracide xenoterracide commented Feb 6, 2026

  • Added toml artifact listing before release creation to verify outputs
  • Made merge command run full CI depending on existing PRs before
    updating
  • Introduced create-pr-minimal to open a temporary PR and defer Copilot
    message to post-CI

- Introduced `stagingPath` task to output the staging repository path for Maven artifacts.
- Updated GitHub Actions `publish.yml` to utilize the `stagingPath` task for generating release notes during tag creation.
Copilot AI review requested due to automatic review settings February 6, 2026 21:14
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@xenoterracide xenoterracide changed the title ci(publish): add release staging helper ops(publishing): create release from staging artifacts Feb 6, 2026
@xenoterracide xenoterracide merged commit dad5054 into develop Feb 6, 2026
9 checks passed
@xenoterracide xenoterracide deleted the chore/release-on-gh branch February 6, 2026 21:16
Copy link
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

Adds CI support for creating GitHub Releases from locally staged Maven artifacts by introducing a Gradle helper task and a new publish workflow step, while adjusting signing behavior during publishing.

Changes:

  • Comment out signAllPublications() in Gradle publishing configuration.
  • Add stagingPath Gradle task to print the expected staging repository path for the primary publication.
  • Add a GitHub Actions step to create a GitHub Release via gh when a tag is detected, uploading staged artifacts and generating notes.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.

File Description
build.gradle.kts Disables automatic signing and adds a stagingPath task for CI to locate staged artifacts.
.github/workflows/publish.yml Adds a tag-gated gh release create step intended to publish a GitHub Release from staged artifacts.

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

Comment on lines +55 to +58
- run: |
export STAGING=$(printf "%s" $(./gradlew stagingPath --quiet))
gh release create ${{ github.event.workflow_run.head_sha }} --generate-notes $STAGING/* --verify-tag
if: ${{ steps.detect-tag.outputs.is_tag == 'true' }}
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

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

gh release create expects the tag name as its first argument. This step passes github.event.workflow_run.head_sha, which is a commit SHA (and will fail --verify-tag even when a tag exists). Use the actual tag detected in the previous step (and expose it as an output) as the release/tag name.

Copilot uses AI. Check for mistakes.
Comment on lines +56 to +57
export STAGING=$(printf "%s" $(./gradlew stagingPath --quiet))
gh release create ${{ github.event.workflow_run.head_sha }} --generate-notes $STAGING/* --verify-tag
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

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

The STAGING path capture and globbing here are brittle: unquoted command substitution/variable expansion can break on whitespace, and $STAGING/* will be passed literally if the directory is missing/empty. Prefer capturing with quotes and verifying the directory contains files before calling gh release create (or enabling nullglob) so the workflow fails with a clear error.

Suggested change
export STAGING=$(printf "%s" $(./gradlew stagingPath --quiet))
gh release create ${{ github.event.workflow_run.head_sha }} --generate-notes $STAGING/* --verify-tag
STAGING="$(./gradlew stagingPath --quiet)"
if [ ! -d "$STAGING" ]; then
echo "Staging directory '$STAGING' does not exist or is not a directory" >&2
exit 1
fi
shopt -s nullglob
files=("$STAGING"/*)
if [ ${#files[@]} -eq 0 ]; then
echo "No files found in staging directory '$STAGING'" >&2
exit 1
fi
gh release create ${{ github.event.workflow_run.head_sha }} --generate-notes "${files[@]}" --verify-tag

Copilot uses AI. Check for mistakes.
@xenoterracide xenoterracide changed the title ops(publishing): create release from staging artifacts ci(make): ensure minimal PR before merge Feb 6, 2026
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.

1 participant