Repository navigation
[ci] Enable BAR publishing for real-signed builds - #1530
Conversation
Remove the stale BAR publishing feature gate so publishing follows the same official-build condition as real signing. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Enables automatic BAR publishing for real-signed builds by removing the now-stale barPublishingEnabled variable gate and aligning the publish stage condition with the existing “real-sign” criteria used by signing. This keeps BAR validation/manual workflows and documentation intact while making real-signed publishing happen automatically.
Changes:
- Removed the
barPublishingEnabledvariable and related “publishing disabled” messaging. - Updated the
publish_signed_packagesstage condition to run automatically under the same real-sign conditions as the signing stage. - Updated publishing documentation to reflect external setup requirements (without referencing the removed gate).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docs/publishing-signed-packages.md | Removes references to the barPublishingEnabled gate and documents external prerequisites for BAR publishing. |
| build/ci/variables.yml | Drops the stale barPublishingEnabled variable while retaining BAR feed/config variables. |
| build/ci/stage-publish-signed-artifacts.yml | Removes the barPublishingEnabled condition gate so publish runs automatically for real-signed builds (and still supports manual validation mode). |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
|
@dalexsoto review |
dalexsoto
left a comment
There was a problem hiding this comment.
Removing barPublishingEnabled enables production publishing before the required Darc default-channel mapping exists. Fresh Maestro queries find no mapping for android-libraries/main, and validation build 14995889 registered BAR build 327604 but selected channels: []; the normal path passes -RequireDefaultChannels true, so a real-signed official build with missing packages will fail promotion. Please create and verify the intended channel/feed mapping and non-validation promotion path, or retain a gate until those prerequisites are complete.
Continue using configured Darc default channels without requiring a mapping, so official builds register successfully until the channel is configured. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f43cbf0d-6b25-442c-bb49-409e3066d704
|
@dalexsoto Addressed in With the current empty mapping, official builds can register assets in BAR without failing or publishing them. Once the Validation: changed YAML parses successfully, the focused publisher suite passes all 18 tests, and a direct check confirms the vendored script still uses |
dalexsoto
left a comment
There was a problem hiding this comment.
Two independent publishing blockers remain:
publish_signed_packagesdepends only onsign_artifacts;standard_testsandextended_testsare sibling stages, sosucceeded()does not include them. An official build can register and eventually publish packages while required tests are failed or still running.- The setup documentation provisions only an
android-libraries/maindefault-channel mapping, but the enabled condition also covers everyrelease/*branch. Darc resolves mappings against the build's exact branch, so following the documented setup leaves release builds registration-only with zero channels.
Please gate production publishing on all required test stages (while allowing intentionally skipped extended tests), and provision/document release-branch mappings or narrow the publishing condition accordingly.
Document that each main or release branch intended to publish needs its own default-channel mapping. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f43cbf0d-6b25-442c-bb49-409e3066d704
|
@dalexsoto Thanks. The branch-specific behavior is intentional: Darc default-channel mappings are configured per exact branch, so We are also intentionally not adding dependencies on Re-requesting review with those intended behaviors documented. |
Android libraries ship from main; release branch real-sign eligibility does not make those branches publishing channels. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f43cbf0d-6b25-442c-bb49-409e3066d704
|
Correction after confirming the repository's release workflow: I reverted the overly broad documentation clarification in |
|
@dalexsoto stamp |
dalexsoto
left a comment
There was a problem hiding this comment.
Stamping as requested by @jonathanpeppers; no code review performed.
Summary
barPublishingEnabledgate and variablepublish_signed_packagesautomatically under the same real-sign condition as signingValidation
dotnet test build\publishing\SignedPackagePublisher.Tests\SignedPackagePublisher.Tests.csproj --configuration Release --nologo(18 passed)