Repository navigation
[EMB-589] Support automated development package builds and Cloudsmith commit tagging - #13
Open
Bryan Foley (bryanfoley) wants to merge 2 commits into
Open
Bryan Foley (bryanfoley) wants to merge 2 commits into
Bryan Foley (bryanfoley) wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The README documents an incorrect Cloudsmith nightly repository name.
1 open finding
What changed in this PR
Adds automated development-package publishing for JIRA-named branches and commit-based Cloudsmith tagging.
Changes:
- Generates development versions from JIRA ticket numbers.
- Tags uploaded Debian packages with the short commit SHA.
- Documents the new release behavior.
| File | Description |
|---|---|
.github/workflows/prepare_env.yml |
Detects JIRA branches and configures development releases. |
.github/workflows/release_pkg.yml |
Adds commit SHA tags to Cloudsmith uploads. |
README.md |
Documents development builds and package tagging. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| The `RELEASE_VERSION` will be `999.999.999` for a regular commit to a non-master branch. For a merge to a master branch, it will get the nightly build format `<yyyy.mm.dd>-merge-<branch>`. For a tag in a branch, it will take the tag version (if properly formatted). | ||
| The `RELEASE_REPO` will have the Cloudsmith target repository to upload the package: `night-builds` for a merge to a master branch, `packages-released` for a tag without the `-dev` in a master branch suffix and `packages-dev` for a tag with the `-dev` suffix in a non-master branch. | ||
| The `RELEASE_VERSION` will be `999.999.999` for a regular commit to a non-master branch without a JIRA ticket. If the development branch matches a JIRA ticket prefix/pattern (e.g. `EMB-589-feature`), it will be formatted as `<ticket_number>.<mmdd>.<hhmmss>-dev`. For a merge to a master branch, it will get the nightly build format `<yyyy.mm.dd>-merge-<branch>`. For a tag in a branch, it will take the tag version (if properly formatted). | ||
| The `RELEASE_REPO` will have the Cloudsmith target repository to upload the package: `night-builds` for a merge to a master branch, `packages-released` for a tag without the `-dev` in a master branch suffix, and `packages-dev` for a development branch with a JIRA ticket or a tag with the `-dev` suffix. |
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
EMB-589,SEM-1234,CES_1234), settingRELEASE_REPO="packages-dev"andRELEASE_VERSION="<ticket_number>.<mmdd>.<hhmmss>-dev".pull_requestsynchronize).--tags "${SHORT_SHA}") when uploading Debian packages to Cloudsmith.README.mdto describe the new dev build and tagging behavior.Behavior Comparison
RELEASE_REPORELEASE_VERSIONRELEASE_REPORELEASE_VERSIONpushEMB-589-automated-dev-package-buildsnone999.999.999packages-dev589.<mmdd>.<hhmmss>-devpackages-dev(tagged with short commit hash)pull_requestEMB-589-automated-dev-package-buildsnone999.999.999packages-dev589.<mmdd>.<hhmmss>-devpackages-dev(tagged with short commit hash)pushorPRSEM-1234-feature/CES_4321_fixnone999.999.999packages-dev1234...-dev/4321...-devpackages-dev(tagged with short commit hash)pushorPRfeature/EMB-589-testnone999.999.999packages-dev589.<mmdd>.<hhmmss>-devpackages-dev(tagged with short commit hash)pushorPRrefactor-cleanupnone999.999.999none(unchanged)999.999.999(unchanged)pushmain/master/stablenightly-builds<YYYY.MM.DD>-merge-mainnightly-builds(unchanged)<YYYY.MM.DD>-merge-main(unchanged)nightly-builds(unchanged)push(tag)v1.2.3packages-released1.2.3packages-released(unchanged)1.2.3(unchanged)packages-released(unchanged)push(tag)v1.2.3-devpackages-dev1.2.3-devpackages-dev(unchanged)1.2.3-dev(unchanged)packages-dev(unchanged)Changes
.github/workflows/prepare_env.yml:(^|/)([A-Za-z]{2,10})[-_]([0-9]+)onDEV_BRANCH="${GITHUB_HEAD_REF:-${CURRENT_BRANCH}}".RELEASE_REPO="packages-dev"andRELEASE_VERSION="${JIRA_NUMBER}.$(date +%m%d.%H%M%S)-dev".none/999.999.999..github/workflows/release_pkg.yml:${SHORT_SHA}from${{ github.event.pull_request.head.sha || github.sha }}.--tags "${SHORT_SHA}"tocloudsmith push debfor Buster and Bookworm uploads.README.md: