Skip to content

Log the Docker Task's Build-Base Leg In to Docker Hub - #3124

Merged
ptr727 merged 2 commits into
developfrom
feature/auto-1892
Oct 16, 2026
Merged

ptr727 merged 2 commits into
developfrom
feature/auto-1892

Conversation

@ptr727

@ptr727 ptr727 commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • build-docker-task.yml's docker-build-base job now runs the same "Require Docker Hub credentials" and "Login to Docker Hub" steps the build-docker job carries, ahead of the caller's hook. A composite action cannot read secrets, so before this a hook asked to push its base image had no credentials to push with.
  • The hook now also receives branch and platforms, the platform list the core builds the product images for, so a base build matches them rather than inferring them from push. The selection moves from the build-docker job's env to workflow-level env, so both jobs read one value. The handoff named branch and smoke, the issue offered either those or the resolved platforms, and the local review pass found smoke would make each hook re-derive a selection the file header says is decided once here. A composite action also reads that boolean as a string, so a hook copying the core's expression would never select multi-arch.
  • docs/reusable-workflows.md "The Docker Family" states the hook contract: the login before the hook, the four inputs it receives, and that the hook sets up its own QEMU and Buildx for a multi-arch list.
  • A caller hook declaring only push and ref gets a runner "Unexpected input(s)" warning until it declares the two new inputs, and the run does not fail.

A live Docker Hub push cannot be exercised from a local session, so verification is actionlint, markdownlint, editorconfig-checker, the prose and repo gates, spec/validate.py, and the unittest suite.

Closes on promotion: #1892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Standardized platform selection across Docker build jobs: eligible main builds target both AMD64 and ARM64, while other builds target AMD64.
    • Docker Hub credentials are validated before login, and base-image builds receive the selected branch and platform information.
  • Documentation
    • Clarified Docker Hub login requirements and the information and build setup available to multi-image build hooks.

ptr727 and others added 2 commits October 15, 2026 23:16
The docker-build-base job ran the caller's hook with no Docker Hub login,
and a composite action cannot read secrets, so a hook asked to push its
base image had no credentials to push with. The job now checks and uses
the same credentials build-docker does before the hook runs, and passes
the hook branch and smoke, the inputs the core selects its platforms
from, so a base build can match the product images built on it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The platform selection is decided once in the task, so the hook now
receives that resolved list instead of the smoke flag it would have to
re-derive the selection from. A composite action reads a boolean input
as a string, so a hook copying the core's expression would never select
multi-arch. The selection moves to workflow-level env so both jobs read
the one value.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 16, 2026 06:20
@ptr727

ptr727 commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head e8bcffc6ca4e35f4419204b5f2f8afe8bd3cebf9, the content this pull request carries at that commit against develop, and it recorded 0 findings.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 12b6aad6-7c02-4169-b4f3-e1a7896d9324
📥 Commits

Reviewing files that changed from the base of the PR and between c5ecaa6 and e8bcffc.

📒 Files selected for processing: 2
  • .github/workflows/build-docker-task.yml
  • docs/reusable-workflows.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

The Docker build workflow now defines platform selection at workflow scope. The base-image job validates Docker Hub credentials, logs in before the base-build hook, and passes branch and platform values. The reusable workflow documentation describes these inputs and the hook's QEMU and Buildx setup.

Changes: Docker Build Workflow

Layer / File(s) Summary
Platform selection and base-build hook setup
.github/workflows/build-docker-task.yml, docs/reusable-workflows.md
The workflow shares its platform selection across jobs, validates Docker Hub credentials, and logs in before invoking the base-build hook. The hook receives push, ref, branch, and platforms. The documentation describes the hook's QEMU and Buildx setup for multi-platform builds.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to e8bcf

No concrete merge-blocking failure is established. The first applicable Docker Hub push still needs normal release validation.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the main change: logging the Docker task's build-base job in to Docker Hub before running the hook.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The workflow’s top-level platform expression is invalid and must be moved to job scope before approval.

1 open finding
What changed in this PR

This PR enables Docker base-image hooks to authenticate with Docker Hub and receive the resolved build platforms, with the hook contract documented.

Changes:

  • Adds Docker Hub credential validation and login before the base hook.
  • Passes branch and platforms to the hook.
  • Documents the expanded hook contract.
File Summary
docs/​reusable-workflows.md Documents the Docker base-hook contract.
.github/​workflows/​build-docker-task.yml Adds authentication and hook inputs; requires fixing the invalid top-level inputs expression.

🧠 Review effort: Lite


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/build-docker-task.yml
@codecov

codecov Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop@c5ecaa6). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #3124   +/-   ##
==========================================
  Coverage           ?   63.94%           
==========================================
  Files              ?       17           
  Lines              ?     9145           
  Branches           ?        0           
==========================================
  Hits               ?     5848           
  Misses             ?     3297           
  Partials           ?        0           
Flag Coverage Δ
python-3.13 63.94% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ptr727

ptr727 commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ptr727
ptr727 merged commit ddaeefb into develop Oct 16, 2026
14 checks passed
@ptr727
ptr727 deleted the feature/auto-1892 branch October 16, 2026 06:33
ptr727 added a commit that referenced this pull request Oct 16, 2026
… Fixes to Main (#3146)

- #3135 makes `gh-write-guard` read a gh write's subcommand and target
the way gh parses them: the subcommand is found past flags before the
command and before the subcommand, an `R` inside a short-option cluster
is read as a target, `GH_REPO` is read as a target, a run-time
repository owner on a write fails closed, and a run-time word where `pr`
or `merge` goes fails closed beside `--admin` or where word splitting
may split it
- #3139 releases the bootstrap lock when a `bootstrap.ps1` run ends
rather than when its process does, so a second run typed at the same
pwsh prompt is no longer refused the lock
- #3130 matches tool names and the `all` keyword by case in the Windows
agents loaders, as the Linux loaders already do
- #3128 reads CodeRabbit's rate limit on a reply to an explicit review
command in `pr_review.py`
- #3126 reconciles VSCode-Server-DotNetCore in the hub after its resync
- #3124 logs the Docker task's build-base leg in to Docker Hub
- #3122 names the carried skill and the skipped review correctly
- #3120 states the subprocess encoding rule in `CODESTYLE.md`, where
carriers read Python style
- #3118 and #3111 move the release-guard tests' workflow-command checks
onto `runner_commands`, and test the alternatives wiring at the
`audit_repo` and `fidelity_pass` call sites
- #3116 stops the doc gates' printed names forging workflow commands
- #3113 adds a catalog snippet for the release-with-smoke caller
- #3109 moves the `workflow_reuse` fetch onto `audit.contents_text`
- #3105 accepts `.codecov.yml` as an alternative to `codecov.yml`
- #3103 adds a pip ecosystem to the carried Dependabot snippet
- #3100 prefers the venv's ruff and pyright for a declared pip directory
- #3098 tracks composite action pins in Dependabot
- #3096 reads an uppercase Markdown suffix as Markdown at every prose
gate branch

After this merges, the host-safety installer payload changes, so the
maintainer runs the installer after promotion.

Closes #1416
Closes #1425
Closes #1578
Closes #1874
Closes #1892
Closes #1899
Closes #2804
Closes #2850
Closes #2852
Closes #2854
Closes #2996
Closes #3065
Closes #3067
Closes #3069
Closes #3079
Closes #3080
Closes #3089
Closes #3093
Closes #3101
Closes #3106
Closes #3107
Closes #3137

🤖 Generated with [Claude Code](https://claude.com/claude-code)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added a pull-request smoke build that runs when relevant release files
change and reports the combined validation and build status.
* Repository audits now recognize `.codecov.yml` as an alternative to
`codecov.yml`.

* **Improvements**
* Python linting and type checks use tools from declared project
environments when available, with fallbacks for missing tools.
* Workflow and lint reports safely display unusual filenames and
command-like text.
* GitHub write-target checks now account for additional command forms
and fail closed when targets cannot be verified.
* Rate-limit detection now recognizes another CodeRabbit response
format.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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