Repository navigation
[CHORE](ci) Point version-check workflow at MCD CodeArtifact - #747
John McCall (lowlydba) merged 6 commits into
Conversation
b8f550d to
2428234
Compare
🗺️ Schema reference docs preview is live!
Note ♻️ This preview updates automatically with each push to this PR. |
2428234 to
7983297
Compare
7983297 to
89c14df
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Use a read-only role or otherwise prevent untrusted pull requests from assuming the publish-capable role.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates the reusable package-version check workflow to use MCD CodeArtifact defaults.
Changes:
- Switches the default AWS account to MCD.
- Switches the default IAM role to the MCD CodeArtifact publish role.
- Leaves publishing workflow behavior unchanged.
File summaries
| File | Summary |
|---|---|
.github/workflows/reusable-check-python-package-versions.yaml |
Updates CodeArtifact defaults. The publish-capable role creates a critical security concern for pull-request workflows. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Francisco Jiménez (jjcfrancisco)
left a comment
There was a problem hiding this comment.
Lgtm
89c14df to
695d3f2
Compare
93e3e94 to
f014a46
Compare
f014a46 to
8f0db21
Compare
8f0db21 to
adede8f
Compare
|
John McCall (@lowlydba) I'm unable to merge b/c of DCO checks failing on two commits, |
Francisco Jiménez (jjcfrancisco)
left a comment
There was a problem hiding this comment.
Thanks for this!
Flips reusable-check-python-package-versions.yaml's aws_account_id/ aws_iam_role_name defaults from legacy CodeArtifact to MCD, reusing codeartifact-pypi-publish-oidc-overturemaps: MCD has no dedicated read-only role and won't get one, but the publish role already grants codeartifact:ReadFromRepository and its OIDC trust policy allows pull_request-context assumption in this repo. Closes #746 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Signed-off-by: John McCall <john@overturemaps.org>
This reverts commit 0a5f376. Signed-off-by: John McCall <john@overturemaps.org>
Signed-off-by: John McCall <john@overturemaps.org>
This reverts commit eed4eaa. Signed-off-by: John McCall <john@overturemaps.org>
4eb246a
adede8f to
4eb246a
Compare
# Description Removes the legacy CodeArtifact publish leg from `main-publish.yaml` so internal builds publish to the MCD account only. The pypi consumer cutover (OvertureMaps/ops-team#520) is complete, so the dual-publish groundwork from OvertureMaps/ops-team#466 is no longer needed. Beyond the `publish-legacy` job itself, `ca-legacy`'s CodeArtifact credentials also fed the `compute-version` step's index lookup. Removing `ca-legacy` outright would have broken version computation, so this replaces it with an equivalent `ca-mcd` step: the existing dedicated MCD read-only role for the PR smoke test, and the existing MCD publish role for real pushes (same pattern already proven in #747). Closes #767 # Reference 1. OvertureMaps/ops-team#562 2. OvertureMaps/ops-team#520 3. #747 # Testing `main-publish.yaml` also runs read-only on any PR that touches itself, as a smoke test for this exact wiring. On this PR, `Detect affected packages (test)`, every per-package `Build <package> (test)` job, and `Are we good?` all passed, confirming `compute-version` resolves correctly against the new `ca-mcd` step. # Checklist 1. [ ] Add relevant examples. 2. [ ] Add relevant counterexamples. 3. [ ] Update any counterexamples that became obsolete. For example, if a counterexample uses property `A` but is not intended to test property `A`'s validity, and you made a schema change that invalidates property `A` in that counterexample, fix the counterexample to align it with your schema change. 4. [ ] Update in-schema documentation using plain English written in complete sentences, if an update is required. 5. [ ] Update Docusaurus documentation, if an update is required. 6. [ ] Review change with Overture technical writer to ensure any advanced documentation needs will be taken care of, unless the change is trivial and would not affect the documentation. > [!NOTE] > This is a CI-only workflow change with no schema content, so the checklist above doesn't apply. # Documentation website [Docs preview for this PR.](https://dfhx9f55j8eg5.cloudfront.net/pr/768) <!--:robot:--> --------- Signed-off-by: John McCall <john@overturemaps.org>
Context
Part of the OvertureMaps/ops-team#520 MCD CodeArtifact cutover. #745 tracks this repo's full cutover; the legacy publish-step removal there stays blocked until consumers are confirmed off legacy. This PR only lands the version-check workflow's account default flip, which doesn't touch
main-publish.yaml's dual-publish behavior.Change
reusable-check-python-package-versions.yaml'saws_account_id/aws_iam_role_namedefaults move from legacy (505071440022,GithubActions_Schema_CodeArtifact_ReadOnly) to MCD (763944545891,codeartifact-pypi-readonly-oidc-overturemaps).That role is a dedicated read-only role added in OvertureMaps/omf-core-data-opentofu#120 (now merged), scoped to
GetAuthorizationToken/GetRepositoryEndpoint/ReadFromRepositoryonly, closing OvertureMaps/ops-team#521. It replaces an earlier draft of this PR that reused the publish-capable role, which Copilot's review correctly flagged as risky for apull_request-triggered check.Testing
I added a temporary version bump commit on this branch to trigger the modified CI workflow, and it ran successfully: https://github.com/OvertureMaps/schema/actions/runs/34978920990/job/104413801496?pr=747
The commit has been reverted ✅
Fixes #746