revert: restore original codecov-cli release process#708
Open
thomasrockhu-codecov wants to merge 1 commit into
Open
revert: restore original codecov-cli release process#708thomasrockhu-codecov wants to merge 1 commit into
thomasrockhu-codecov wants to merge 1 commit into
Conversation
6 tasks
a1e2dd7 to
518d31f
Compare
❌ 1 Tests Failed:
View the full list of 1 ❄️ flaky test(s)
To view more test analytics, go to the Prevent Tests Dashboard |
The release process inherited from getsentry/prevent-cli (Craft +
build.yml + create-release.yml + release-codecov-cli.yml) is broken.
Roll back to the original codecov-cli release flow, adapted for the
current monorepo layout where the package lives under codecov-cli/.
Removed:
- .craft.yml
- .github/workflows/build.yml (Craft-driven build of both CLIs)
- .github/workflows/create-release.yml (getsentry/action-prepare-release)
- .github/workflows/release-codecov-cli.yml (PyPI publish triggered by Craft release)
- scripts/{bump-version.sh,build_alpine.sh,build_linux.sh,pre-build.sh,uv-installer-0.7.8.sha256sum}
Restored (adapted to codecov-cli/ subdirectory + uv):
- .github/workflows/create_release_pr.yml: workflow_dispatch bumps
codecov-cli/pyproject.toml on a release/<version> branch and opens
a PR into main.
- .github/workflows/create_release.yml: on merge of a release/* PR,
cuts the v<version> GitHub release.
- .github/workflows/release_flow.yml: on release creation, calls
build_for_pypi + build_assets, publishes to PyPI, and announces
the release via the GCS pub/sub topic.
- .github/workflows/build_for_pypi.yml: uv build of the codecov-cli
sdist + wheel.
- .github/workflows/build_assets.yml: pyinstaller binaries for
macOS / Ubuntu / Windows + alpine and linux arm via Docker.
- scripts/build_alpine_arm.sh and scripts/build_linux_arm.sh:
Docker entrypoints that build the codecovcli_<distro>_<arch>
binary out of codecov-cli/.
prevent-cli sources are left in place but are no longer part of the
release pipeline.
518d31f to
5f9bcf8
Compare
Contributor
Author
|
Addressed the CodeQL warnings about missing
Force-pushed as |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The release process inherited from the
getsentry/prevent-climigration (Craft +build.yml+create-release.yml+release-codecov-cli.yml) is broken. This PR rolls the release pipeline back to the originalcodecov/codecov-cliflow, adapted only as needed for the current monorepo layout where the package now lives undercodecov-cli/.prevent-cli/sources are intentionally left in place; this PR is scoped to the release pipeline only. A follow-up PR will deal with removing theprevent-clidirectory and flatteningcodecov-cli/back to the repo root.Removed (the Craft pipeline)
.craft.yml.github/workflows/build.yml(built both CLIs onrelease/**for Craft).github/workflows/create-release.yml(getsentry/action-prepare-releasedriver).github/workflows/release-codecov-cli.yml(fired after Craft published the release)scripts/{bump-version.sh,build_alpine.sh,build_linux.sh,pre-build.sh,uv-installer-0.7.8.sha256sum}Restored (the original release flow, adapted to
codecov-cli/+uv).github/workflows/create_release_pr.yml—workflow_dispatchbumpscodecov-cli/pyproject.tomlon arelease/<version>branch and opens a PR intomain..github/workflows/create_release.yml— on merge of arelease/*PR, cuts thev<version>GitHub release..github/workflows/release_flow.yml— on release creation, callsbuild_for_pypi+build_assets, publishes to PyPI, and announces the release via the GCS Pub/Sub topic..github/workflows/build_for_pypi.yml—uv buildof the codecov-cli sdist + wheel..github/workflows/build_assets.yml— pyinstaller binaries for macOS / Ubuntu / Windows + alpine and linux ARM via Docker.scripts/build_alpine_arm.sh,scripts/build_linux_arm.sh— Docker entrypoints that build thecodecovcli_<distro>_<arch>binary out ofcodecov-cli/.Secrets / vars that must exist (all pre-date the migration)
RELEASER_GPG_PRIVATE_KEYGH_RELEASE_TOKENCODECOV_RELEASE_PATCODECOV_GCP_WIDP,CODECOV_GCP_WIDSAGCLOUD_UPLOADER_PROJECT_ID,GCLOUD_UPLOADER_PUBSUB_TOPICIf any were rotated or removed during the prevent-cli migration, they'll need to be re-added.
Test plan
Create CLI Release PRviaworkflow_dispatchwith a throwaway version (e.g.99.0.0-test) to verify the release branch + PR are created againstcodecov-cli/pyproject.toml.release_flow.ymlruns end-to-end (build, PyPI publish — preferably first against TestPyPI, GCS Pub/Sub message).build_assets.ymlproducescodecovcli_macos,codecovcli_linux,codecovcli_windows.exe, and the alpine / linux ARM binaries.Made with Cursor