Skip to content

Commit d39200e

Browse files
committed
pkg-release: upload proposed debs and provenance_<suite>.json to S3 (Ubuntu path)
Add two new jobs and fold provenance S3 upload into the persistance job: - ubuntu-s3-proposed: runs after build-and-test (before approval gate), uploads debs/ to S3 so external consumers can fetch and validate before approving the release. - persistance: runner changed to lecore-prd-u2404-arm64-xlrg-od-ephem (self-hosted, has AWS credentials). Two new steps appended at the end upload provenance_<suite>.json to the same S3 path after the release completes. No separate ubuntu-s3-provenance job needed. S3 layout: s3://qli-prd-lecore-gh-artifacts/qualcomm-linux/pkg/proposed/<run_id>/ provenance_<suite>.json <- uploaded by persistance post-release debs/ <- uploaded by ubuntu-s3-proposed pre-approval *.deb Final job graph: build-and-test -> debian-release (approval gate) -+-> persistance build-and-test -> ubuntu-release (approval gate) -+ (uploads provenance to S3) build-and-test -> ubuntu-s3-proposed (no gate) -+ Signed-off-by: Keerthi Gowda <kbalehal@qti.qualcomm.com>
1 parent fa25ac6 commit d39200e

1 file changed

Lines changed: 55 additions & 1 deletion

File tree

.github/workflows/pkg-release-reusable-workflow.yml

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ jobs:
487487
- build-and-test
488488
- debian-release
489489
- ubuntu-release
490-
runs-on: ubuntu-latest
490+
runs-on: lecore-prd-u2404-arm64-xlrg-od-ephem
491491
if: ${{ always() && ((needs.build-and-test.outputs.family == 'ubuntu' && needs.ubuntu-release.result == 'success') || (needs.build-and-test.outputs.family == 'debian' && !inputs.test-run && needs.debian-release.result == 'success')) }}
492492
permissions:
493493
contents: read
@@ -654,3 +654,57 @@ jobs:
654654
git pull --rebase origin main
655655
done
656656
fi
657+
658+
- name: Stage provenance for S3 upload
659+
if: ${{ needs.build-and-test.outputs.family == 'ubuntu' }}
660+
env:
661+
SUITE: ${{ needs.build-and-test.outputs.suite }}
662+
run: |
663+
set -euxo pipefail
664+
mkdir -p s3-provenance
665+
cp build/provenance.json "s3-provenance/provenance_${SUITE}.json"
666+
667+
- name: Upload provenance to S3
668+
if: ${{ needs.build-and-test.outputs.family == 'ubuntu' }}
669+
uses: qualcomm-linux/upload-private-artifact-action@aws-v4
670+
with:
671+
s3_bucket: qli-prd-lecore-gh-artifacts
672+
path: s3-provenance
673+
destination: qualcomm-linux/pkg/proposed/${{ github.run_id }}/
674+
675+
ubuntu-s3-proposed:
676+
name: Upload Proposed Debs to S3 (Ubuntu)
677+
if: ${{ needs.build-and-test.outputs.family == 'ubuntu' }}
678+
needs:
679+
- build-and-test
680+
runs-on: lecore-prd-u2404-arm64-xlrg-od-ephem
681+
defaults:
682+
run:
683+
shell: bash
684+
steps:
685+
- name: Download Docker build artifacts
686+
uses: actions/download-artifact@v8
687+
with:
688+
name: docker-build-area
689+
path: .
690+
691+
- name: Extract Docker build artifacts
692+
run: |
693+
set -euxo pipefail
694+
mkdir -p build-area
695+
tar -C build-area -xzf docker-build-area.tgz
696+
697+
- name: Stage debs for S3 proposed upload
698+
env:
699+
SUITE: ${{ needs.build-and-test.outputs.suite }}
700+
run: |
701+
set -euxo pipefail
702+
mkdir -p s3-proposed/debs
703+
find build-area -maxdepth 1 -name "*.deb" -exec cp {} s3-proposed/debs/ \;
704+
705+
- name: Upload proposed debs and provenance to S3
706+
uses: qualcomm-linux/upload-private-artifact-action@aws-v4
707+
with:
708+
s3_bucket: qli-prd-lecore-gh-artifacts
709+
path: s3-proposed
710+
destination: qualcomm-linux/pkg/proposed/${{ github.run_id }}/

0 commit comments

Comments
 (0)