Skip to content

ci: auto-upload AIO to Nexus on stable release#76

Merged
alandtse merged 2 commits into
devfrom
ci/release-auto-nexus-upload
Jun 2, 2026
Merged

ci: auto-upload AIO to Nexus on stable release#76
alandtse merged 2 commits into
devfrom
ci/release-auto-nexus-upload

Conversation

@alandtse
Copy link
Copy Markdown
Owner

@alandtse alandtse commented Jun 2, 2026

What

Turn the release-build Nexus step from a dry-run-of-the-wrong-artifact into a real AIO upload on stable releases:

  • Correctness: drop artifact_pattern: "CommunityShaders-*.7z" (the CORE archive) so aio mode uses its default CommunityShaders_AIO-*.7z — the actual fork distributable.
  • Auto-upload: dry_run: "false" → a published stable tag now uploads the AIO to mod 180419 automatically (matching the manual flow that shipped v1.6.1).
  • Pass UNEX_NEXUSMODS_SESSION_COOKIE (real upload needs it).

Safety

  • Pre-release tags still skipped (!contains(tag, '-')).
  • The reusable upload-nexus runs with check_existing → a version already on Nexus is skipped, so re-runs / re-published releases are idempotent.

Validated by the v1.6.1 manual upload (same aio path) succeeding end-to-end.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated release build workflow to perform actual artifact uploads instead of test deployments, with enhanced authentication configuration for improved deployment reliability.

Copilot AI review requested due to automatic review settings June 2, 2026 04:09
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 2, 2026

Review Change Stack

Warning

Review limit reached

@alandtse, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 20 minutes and 19 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 76b8b595-6a25-4488-885c-ddf17545a6b1

📥 Commits

Reviewing files that changed from the base of the PR and between cedf87e and 602d718.

📒 Files selected for processing (1)
  • .github/workflows/release-build.yaml
📝 Walkthrough

Walkthrough

This PR modifies the release build workflow to enable real uploads to Nexus instead of dry-run uploads. The nexus-dry-run job's configuration is updated to remove the custom artifact pattern, switch dry-run mode off, and pass the required session cookie secret to the reusable Nexus upload workflow.

Changes

Enable real Nexus uploads in release job

Layer / File(s) Summary
Enable real Nexus uploads in release job
.github/workflows/release-build.yaml
The step display name is changed from a dry-run indicator to generic "Nexus Upload". The reusable workflow inputs are updated to remove the custom artifact_pattern, switch dry_run from "true" to "false" for real uploads, and add UNEX_NEXUSMODS_SESSION_COOKIE to the secrets.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~5 minutes

Possibly related PRs

  • alandtse/open-shaders#69: Updates feature .ini files to disable autoupload, directly affecting which AIO artifacts are eligible for the real Nexus uploads now enabled by this workflow change.

Poem

🐰 From dry runs we leap, to uploads so real,
With secrets in hand and a manifest seal,
The Nexus awaits what we ship with such care,
No more just rehearsing—our shaders are there! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: automating AIO uploads to Nexus on stable releases, which aligns with switching from dry-run to live upload with correct artifact selection.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/release-auto-nexus-upload

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

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

Switches the release-build workflow's Nexus upload step from a dry-run of the CORE artifact to a real auto-upload of the AIO archive on stable releases, and wires in the session cookie secret required for real uploads.

Changes:

  • Renames step from "Nexus Upload (dry run)" to "Nexus Upload" and sets dry_run: "false".
  • Removes artifact_pattern override so aio mode uses its default CommunityShaders_AIO-*.7z.
  • Passes UNEX_NEXUSMODS_SESSION_COOKIE secret through to the reusable workflow.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/release-build.yaml (1)

191-197: 💤 Low value

Consider renaming the job ID to match its new behavior.

The job ID nexus-dry-run is now misleading since dry_run is set to "false" and it performs real uploads. Consider renaming to nexus-upload for clarity.

Note: If this job ID is referenced by branch protection rules or external status checks, renaming may require updating those references.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release-build.yaml around lines 191 - 197, Rename the
misleading job ID `nexus-dry-run` to `nexus-upload` to reflect that `dry_run:
"false"` performs real uploads; update the job definition name and any
references to the job ID used elsewhere (branch protection rules, external
status checks, workflows calling this job) to avoid broken links or checks, and
run CI/permissions checks after renaming to ensure external integrations still
reference the new `nexus-upload` ID.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/release-build.yaml:
- Around line 191-197: Rename the misleading job ID `nexus-dry-run` to
`nexus-upload` to reflect that `dry_run: "false"` performs real uploads; update
the job definition name and any references to the job ID used elsewhere (branch
protection rules, external status checks, workflows calling this job) to avoid
broken links or checks, and run CI/permissions checks after renaming to ensure
external integrations still reference the new `nexus-upload` ID.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 42edabf5-8472-4e84-a639-a60db34453e5

📥 Commits

Reviewing files that changed from the base of the PR and between a87f81c and cedf87e.

📒 Files selected for processing (1)
  • .github/workflows/release-build.yaml

The release-build Nexus job was a dry-run that also targeted the CORE
archive (artifact_pattern: CommunityShaders-*.7z) instead of the AIO. Now
that the aio upload is proven end-to-end (v1.6.1 shipped to mod 180419):

- Drop the artifact_pattern override so aio mode uses its default
  (CommunityShaders_AIO-*.7z) — the actual fork distributable.
- Flip dry_run to false so a published stable release auto-uploads the AIO
  to 180419 (the reusable workflow skips a version already on Nexus).
- Use `secrets: inherit` so the nested nexus-upload workflow receives the
  UNEX_* secrets. Nested reusable workflows don't auto-inherit repo secrets;
  the prior call passed only UNEX_APIKEY (enough for the dry-run version
  check) but a real upload also needs UNEX_NEXUSMODS_SESSION_COOKIE.

Pre-release tags are still skipped (the `-` guard).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alandtse alandtse force-pushed the ci/release-auto-nexus-upload branch from cedf87e to b72214a Compare June 2, 2026 04:12
The job id was still `nexus-dry-run` after flipping it to a real upload —
misleading. Rename to `nexus-upload` (display name already updated). No
other job/branch-protection references it (grep-verified), so the rename is
internal-only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 2, 2026 04:49
Copy link
Copy Markdown

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

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

@alandtse alandtse merged commit 629b1d2 into dev Jun 2, 2026
12 checks passed
@alandtse alandtse deleted the ci/release-auto-nexus-upload branch June 2, 2026 04:58
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