Conversation
📝 WalkthroughWalkthroughThe PR adds flexibility to the container build workflow by introducing Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (2)📓 Common learnings📚 Learning: 2026-01-08T01:44:38.651ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
🔇 Additional comments (2)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/build.yml (1)
18-53: Missingcustom_taginput inworkflow_call.The
custom_taginput is defined forworkflow_dispatch(lines 50-53) but not forworkflow_call(lines 18-43). This means when this workflow is called by another workflow,inputs.custom_tag(referenced at line 335) will always be empty.For consistency with
ref(which is defined in both triggers), consider addingcustom_tagtoworkflow_call:Suggested fix
workflow_call: inputs: ref: description: 'Git ref to checkout (branch, tag, or SHA)' required: false type: string + custom_tag: + description: 'Custom tag for container image (e.g., v3.0.0)' + required: false + type: string skip_code_scans:
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/build.yml.github/workflows/container.yml
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 623
File: .github/workflows/build.yml:8-14
Timestamp: 2026-01-07T04:40:01.060Z
Learning: In the metaschema-java repository, the build workflow intentionally includes `main` in the `pull_request.branches` trigger even though CONTRIBUTING.md requires PRs to target `develop`. This is a defensive design to provide feedback if someone accidentally targets main, rather than silent failure. The UPLOAD_SCAN_SARIF logic also needs main for security scan results.
📚 Learning: 2025-12-13T21:16:12.281Z
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: Use branch naming: `feature/*` for new features and enhancements, `release/*` (format: `release/MAJOR.MINOR`) for release preparation, `fix/*` for bug fixes
Applied to files:
.github/workflows/build.yml
📚 Learning: 2025-12-13T21:16:12.281Z
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: All PRs must target the `develop` branch, not `main`. The `main` branch receives merges only from `develop` during releases.
Applied to files:
.github/workflows/build.yml
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: All PRs must be created from a personal fork and must target the develop branch (BLOCKING - required by CONTRIBUTING.md)
Applied to files:
.github/workflows/build.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Code
- GitHub Check: Website
🔇 Additional comments (5)
.github/workflows/build.yml (2)
8-9: LGTM on tag trigger addition.The
v*pattern correctly captures semantic versioning tags (e.g.,v1.0.0,v2.3.4-rc1), enabling container builds on release tags as intended.
334-335: Implementation correctly handles empty inputs on tag pushes.On tag pushes,
inputs.refandinputs.custom_tagare empty strings. The container workflow handles this correctly:
- Checkout uses
${{ inputs.ref || github.ref }}(line 37), which treats empty string as falsy and falls back to the tag ref- Docker metadata conditionally adds
custom_tagonly wheninputs.custom_tag != ''(line 71)- The
type=ref,event=tagmetadata rule (line 69) automatically generates tag-based image refsNo changes needed.
.github/workflows/container.yml (3)
10-17: LGTM on new workflow inputs.The
refandcustom_taginputs are well-defined with clear descriptions. Making them optional allows the workflow to function both when called with explicit values and when triggered automatically (falling back to defaults).
35-39: LGTM on checkout ref handling.The
inputs.ref || github.refpattern correctly falls back to the triggering ref when no explicit ref is provided, ensuring the workflow checks out the right commit for both manual and automated triggers.
66-71: LGTM on custom tag metadata.The
type=rawwithenable=${{ inputs.custom_tag != '' }}correctly:
- Adds the custom tag only when explicitly provided
- Coexists with
type=ref,event=tag(line 69) for automatic git tag detectionThis enables both automatic tagging on
v*tag pushes and manual override viaworkflow_dispatch.
Committer Notes
{Please provide a brief description of what this PR accomplishes. Be sure to reference any issues addressed. If the PR is a work-in-progress submitted for early review, please include [WIP] at the beginning of the title or mark the PR as
DRAFT.}All Submissions:
By submitting a pull request, you are agreeing to provide this contribution under the CC0 1.0 Universal public domain dedication.
Changes to Core Features:
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.