Skip to content

Commit 7852c22

Browse files
Strip srcpkg artifact build path
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>
1 parent 177ffb5 commit 7852c22

3 files changed

Lines changed: 2 additions & 69 deletions

File tree

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

Lines changed: 1 addition & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,6 @@ on:
5858
type: boolean
5959
default: false
6060

61-
srcpkg-artifact:
62-
description: |
63-
Name of a GitHub Actions artifact containing a pre-prepared source tree
64-
used as the build source checkout. When set, debian-ref checkout is
65-
skipped and the artifact is downloaded instead for both Docker and
66-
Debusine build paths. Used for packages like pkg-linux-qcom where the
67-
source tree is assembled at CI time rather than managed in a single
68-
git repository.
69-
type: string
70-
default: ""
71-
7261
assemble-orig:
7362
description: |
7463
When true, generate-source-package creates the .orig.tar.gz directly
@@ -230,29 +219,13 @@ jobs:
230219
scripts
231220
232221
- name: Checkout Repository
233-
if: ${{ inputs.srcpkg-artifact == '' }}
234222
uses: actions/checkout@v5
235223
with:
236224
ref: ${{ inputs.debian-ref }}
237225
path: package-repo
238226
fetch-depth: 0
239227
fetch-tags: true
240228

241-
- name: Download pre-prepared source tree
242-
if: ${{ inputs.srcpkg-artifact != '' }}
243-
uses: actions/download-artifact@v8
244-
with:
245-
name: ${{ inputs.srcpkg-artifact }}
246-
path: /tmp/srcpkg-artifact
247-
248-
- name: Extract pre-prepared source tree
249-
if: ${{ inputs.srcpkg-artifact != '' }}
250-
run: |
251-
# Single *.tar.gz in the artifact; glob decouples from producer naming.
252-
mkdir package-repo
253-
tar xzf /tmp/srcpkg-artifact/*.tar.gz \
254-
-C package-repo --strip-components=1 --no-same-owner
255-
256229
- name: Collect source package metadata
257230
id: metadata
258231
run: |
@@ -318,35 +291,13 @@ jobs:
318291
lib
319292
320293
- name: Checkout Repository
321-
if: ${{ inputs.srcpkg-artifact == '' }}
322294
uses: actions/checkout@v5
323295
with:
324296
ref: ${{ inputs.debian-ref }}
325297
path: srcpkg
326298
fetch-depth: 0
327299
fetch-tags: true
328300

329-
- name: Download pre-prepared source tree
330-
if: ${{ inputs.srcpkg-artifact != '' }}
331-
uses: actions/download-artifact@v8
332-
with:
333-
name: ${{ inputs.srcpkg-artifact }}
334-
path: /tmp/srcpkg-artifact
335-
336-
- name: Extract pre-prepared source tree
337-
if: ${{ inputs.srcpkg-artifact != '' }}
338-
run: |
339-
# The artifact is a tar.gz archive created by the caller to preserve
340-
# Unix execute permissions on kernel build scripts. zip format (used
341-
# by actions/upload-artifact) strips execute bits; tar does not.
342-
# --strip-components=1 extracts the top-level directory directly into
343-
# srcpkg/ without depending on its name inside the archive.
344-
# The artifact contains exactly one *.tar.gz, so the glob below stays
345-
# unambiguous while decoupling this step from the producer's filename.
346-
mkdir srcpkg
347-
tar xzf /tmp/srcpkg-artifact/*.tar.gz \
348-
-C srcpkg --strip-components=1 --no-same-owner
349-
350301
- name: Prepare release
351302
if: ${{ inputs.release }}
352303
env:
@@ -458,29 +409,13 @@ jobs:
458409
lib
459410
460411
- name: Checkout Repository
461-
if: ${{ needs.resolve.outputs.family == 'debian' && needs.resolve.outputs.force_docker_build != 'true' && inputs.srcpkg-artifact == '' }}
412+
if: ${{ needs.resolve.outputs.family == 'debian' && needs.resolve.outputs.force_docker_build != 'true' }}
462413
uses: actions/checkout@v5
463414
with:
464415
ref: ${{ inputs.debian-ref }}
465416
path: srcpkg
466417
fetch-depth: 1
467418

468-
- name: Download pre-prepared source tree
469-
if: ${{ needs.resolve.outputs.family == 'debian' && inputs.srcpkg-artifact != '' }}
470-
uses: actions/download-artifact@v8
471-
with:
472-
name: ${{ inputs.srcpkg-artifact }}
473-
path: /tmp/srcpkg-artifact
474-
475-
- name: Extract pre-prepared source tree
476-
if: ${{ needs.resolve.outputs.family == 'debian' && inputs.srcpkg-artifact != '' }}
477-
run: |
478-
# Single *.tar.gz in the artifact; glob decouples from the
479-
# producer's filename (see build-job extract step for rationale).
480-
mkdir srcpkg
481-
tar xzf /tmp/srcpkg-artifact/*.tar.gz \
482-
-C srcpkg --strip-components=1 --no-same-owner
483-
484419
- name: Validate installability from Debusine CI workspace
485420
# Temporarily disabled while dependency repository injection is unresolved.
486421
if: ${{ false }}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,6 @@ jobs:
222222
debian-ref: ${{ inputs.debian-branch }}
223223
release: true
224224
debusine-parent-workspace: ${{ inputs.debusine-parent-workspace }}
225-
srcpkg-artifact: ${{ needs.prepare-release-source.outputs.srcpkg_artifact }}
226225
secrets:
227226
DEBUSINE_USER: ${{ secrets.DEBUSINE_USER }}
228227
DEBUSINE_TOKEN: ${{ secrets.DEBUSINE_TOKEN }}

docs/reusable-workflows.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ flowchart TD
4949
| `job-index` | string | No | `"0"` | Optional matrix index used to keep Debusine child workspace names unique |
5050
| `release` | boolean | No | `false` | Whether to prepare the release bundle before generating the Debian release source package |
5151
| `debusine-parent-workspace` | string | No | `ci` | Parent Debusine workspace used to create child CI workspaces for Debian builds |
52-
| `srcpkg-artifact` | string | No | `""` | Optional pre-prepared source-tree artifact used instead of checking out `debian-ref` |
5352

5453
### Secrets
5554

@@ -180,7 +179,7 @@ reusable workflow: split on `/`, take the last two fields as
180179
### Workflow Steps
181180

182181
1. **Prepare release source**: For Ubuntu branches, finalize changelog and create local release commit/tag, then upload the prepared git repo as an artifact
183-
2. **Build and test once**: Reuse `pkg-build-reusable-workflow` (`release=true`) and feed the prepared source artifact when Ubuntu
182+
2. **Build and test once**: Reuse `pkg-build-reusable-workflow` (`release=true`) with `debian-branch` as the build source ref
184183
3. **Environment gate + provenance file**: Require `pkg-release-approval` after build/test and generate provenance from the exact built source state
185184
4. **Debian release path**: For Debian and `test-run=false`, publish Debusine CI workspace to prod, push git state, then publish provenance
186185
5. **Ubuntu release path**: Push git state atomically (branch + tag), publish provenance, and upload previously-built Docker artifacts to S3

0 commit comments

Comments
 (0)