Skip to content

ci: refactor pkg workflow release pipeline#174

Merged
simonbeaudoin0935 merged 12 commits into
mainfrom
development
Jun 23, 2026
Merged

ci: refactor pkg workflow release pipeline#174
simonbeaudoin0935 merged 12 commits into
mainfrom
development

Conversation

@simonbeaudoin0935

@simonbeaudoin0935 simonbeaudoin0935 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Move caller templates from .github/pkg-workflows/main/ to
    .github/pkg-workflows/qli-ci/ and update sync wiring. (since default branch is now qli-ci, not main)
  • Normalize caller workflow naming to the shorter form (Build, Release,
    Promote, Promote Prebuilt, PR Build).
  • Remove reliance on explicit suite inputs in build/release flows by deriving
    family and suite from debian-ref (*/<family>/<suite> convention).
  • Simplify pkg-build-reusable-workflow outputs by removing the passthrough
    finalize job and exposing producer outputs directly.
  • Gate the Test job in pkg-build-reusable-workflow on selected build path
    success (Debian Debusine path vs Ubuntu/forced Docker path).
  • Refactor pkg-release-reusable-workflow to:
    • keep build-first flow,
    • keep environment approval at family release jobs,
    • flatten Ubuntu release logic by inlining apt-artifactory upload,
    • remove cross-repo dispatch/S3 hop,
    • unify post-release metadata/provenance persistence after release.
  • Tighten promote behavior by requiring explicit debian-branch inputs and
    shortening autogenerated promotion PR text.
  • Refresh docs (AGENTS.md, README.md, docs/reusable-workflows.md) for the
    updated branch convention and workflow interfaces.

Commit Stack

  1. b6abced Align caller templates to qli-ci
  2. 7b0f683 Refactor build reusable resolution
  3. 5fea4f6 Refactor release reusable workflow
  4. d416120 Tighten promote workflow inputs
  5. 8a56e68 Update docs for branch conventions

Validation

  • No manual workflow run was triggered as part of this history cleanup step.

@simonbeaudoin0935 simonbeaudoin0935 Jun 17, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reduced the name length for better visibility in the UI.
The resolve-suite job is not necessary to happen here anymore, its all done in the pkg-build-reusable-workflow

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

  • Reduced the name length for better visibility in the UI.
  • Suite is no longer an input parameter, its infered from branch name

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reduced the name length for better visibility in the UI.

set -euo pipefail

target_suite="$SUITE_INPUT"
normalize_ref() {

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.

Can be its own script.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It will be once this lands. Immediately after I'll factorize into scripts, I am of the opinion too that its growing out of control, but wanna keep the refactor separate in this PR

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

  • Reduced the name length for better visibility in the UI.
  • Deleted default branch name since since its error prone, a user can easily forget to change the default which is almost never the right choice anyway.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

  • Reduced the name length for better visibility in the UI.
  • Suite is no longer an input parameter, its infered from branch name
  • Deleted default branch name since since its error prone, a user can easily forget to change the default which is almost never the right choice anyway.
  • Added QSC_API_KEY secret passing here since we do the qartifactory upload from the pkg-release-reusable-workflow itself as opposed to before where we had a hop from this repo to qcom-distro-images

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

No more default branch, need the debian-branch explicitely

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Adapt to sync from the .github/pkg-workflows/qli-ci instead of main folder

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reformulated the huge promotion PR body text to be shorted and concised

run:
shell: bash
steps:
- name: Resolve family and suite from branch

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.

Duplicate code. a common script will help

Comment thread .github/workflows/pkg-build-reusable-workflow.yml Outdated
keerthi-go
keerthi-go previously approved these changes Jun 17, 2026
keerthi-go
keerthi-go previously approved these changes Jun 17, 2026
Move pkg workflow caller templates from main/ to qli-ci/.

Update template names, job labels, and sync path references.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Derive family and suite from debian-ref branch naming.

Remove finalize passthrough and gate Test on selected build.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Run source prep before test build and gate family release jobs.

Flatten Ubuntu upload path and unify post-release persistence.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Require explicit debian-branch input across promote workflow calls.

Polish and shorten autogenerated promotion PR messaging.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Document the qcom/<family>/<suite> branch parsing model.

Refresh workflow docs and agent guidance for new interfaces.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Add shared branch family/suite resolver script.

Reuse it in pkg-build and pkg-release workflows.

Update docs for last-two-segments parsing rule.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Remove srcpkg-artifact support from pkg-build-reusable-workflow.

Keep build source flow branch-based via debian-ref only.

Update pkg-release wiring and reusable workflow docs.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Remove unused job-index plumbing from build reusable workflow.

Set retention-days on upload-artifact steps and sync docs.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Run the Debian release job container as root so checkout can

write runner command files under /__w/_temp without EACCES.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Remove .github/TO_PASTE_IN_UPSTREAM_REPO during workflow sync

for both default and managed packaging branches.

Also stage .github/ changes so folder deletions are committed.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Delete any workflow file containing pull_request_target during

workflow sync on default, packaging, and other branches.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>
Enumerate refs from refs/remotes/origin/* to avoid treating

the parent remote ref as a branch named origin.

Keep an explicit origin guard in both branch lists.

Signed-off-by: Simon Beaudoin <sbeaudoi@qti.qualcomm.com>

@keerthi-go keerthi-go 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.

Looks good.

@simonbeaudoin0935 simonbeaudoin0935 merged commit fa25ac6 into main Jun 23, 2026
11 checks passed
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