Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
2ff35a9
Initial commit
bjordiscollaku Apr 20, 2026
5662e28
ci: add Canonical Ubuntu kernel mirror and build pipeline
bjordiscollaku Apr 20, 2026
71391cd
ci: add Canonical Ubuntu kernel mirror and build pipeline
bjordiscollaku Apr 20, 2026
783e63d
ci: add Canonical Ubuntu kernel mirror and build pipeline
bjordiscollaku Apr 20, 2026
14a423a
ci: use docker-pkg-build container for kernel build
bjordiscollaku Apr 20, 2026
0e148ca
docs: update README with docker-pkg-build pipeline and current workfl…
bjordiscollaku Apr 20, 2026
9a9e99e
ci: switch to ubuntu-24.04-arm GitHub-hosted runner (temporary)
bjordiscollaku Apr 20, 2026
3b2e174
ci: add quilt/rsync deps and extraction verification to sync job
bjordiscollaku Apr 20, 2026
a4d61cf
fix: use exact source_package_name match for Launchpad API queries
bjordiscollaku Apr 20, 2026
8454a04
ci: improve sync job robustness on GitHub-hosted runners
bjordiscollaku Apr 20, 2026
602506f
fix: set SRC_DIR correctly when dpkg-source extracts to explicit dir
bjordiscollaku Apr 20, 2026
79d64ec
fix: set SRC_DIR correctly for dpkg-source explicit output dir
bjordiscollaku Apr 20, 2026
4cc55c7
fix: create debian->debian.master symlink if missing before build
bjordiscollaku Apr 20, 2026
bf48944
docs: document debian.master/ and debian/ symlink in source tree layout
bjordiscollaku Apr 20, 2026
a5f3038
fix: add actions:write permission for workflow dispatch in fetch-sour…
bjordiscollaku Apr 20, 2026
df30588
fix: remove sudo inside docker container and add actions:write permis…
bjordiscollaku Apr 20, 2026
2ac5363
fix: handle force re-sync when suite branch content is unchanged
bjordiscollaku Apr 20, 2026
2cbbf05
docs: make upstream source URLs suite-generic with noble as example
bjordiscollaku Apr 20, 2026
3eeef41
fix: create debian->debian.master symlink in sync job before commit
bjordiscollaku Apr 20, 2026
0076781
fix: enable deb-src in pkg-builder container for apt-get build-dep
bjordiscollaku Apr 20, 2026
65c445c
build(deps): bump actions/upload-artifact from 4 to 7
dependabot[bot] Apr 20, 2026
f34f02a
build(deps): bump actions/checkout from 4 to 6
dependabot[bot] Apr 20, 2026
0540649
fix: use ./kernel-src/ (local path) for apt-get build-dep
bjordiscollaku Apr 21, 2026
aa4cc81
fix: use 'apt-get build-dep linux' instead of local path
bjordiscollaku Apr 21, 2026
157ffdb
debug+fix: use make -f for rules and add directory diagnostics
bjordiscollaku Apr 21, 2026
6f6022f
fix: run debian/reconstruct to generate debian/rules before build
bjordiscollaku Apr 21, 2026
068e308
fix: switch sync source from Launchpad source package to Launchpad git
bjordiscollaku Apr 21, 2026
efeb8ea
ci: add full Launchpad git URL and git tag to sync job summary
bjordiscollaku Apr 21, 2026
f472cb7
ci: create GitHub Release with .deb assets + clarify upstream source …
bjordiscollaku Apr 21, 2026
fcb047d
ci: conditional S3 upload + README cleanup
bjordiscollaku Apr 21, 2026
48fdfc5
fix: find and copy .deb files inside container after build
bjordiscollaku Apr 21, 2026
c288d52
docs+fix: add Launchpad API explanation to README; find .deb inside c…
bjordiscollaku Apr 21, 2026
e22e547
fix: use single-quoted bash -c to prevent outer-shell expansion in do…
bjordiscollaku Apr 22, 2026
0db9e08
ci: remove dead else branch in deb-src sed block
bjordiscollaku Apr 22, 2026
f260dd5
fix: generate debian/control and certs before kernel build
bjordiscollaku Apr 22, 2026
3178da7
ci: remove native build mode, always build in docker container
bjordiscollaku Apr 22, 2026
bf20f48
fix(sync): authenticate git ls-remote and drop stale build_mode field
bjordiscollaku Apr 22, 2026
bab1f0e
fix(sync): increase Launchpad API page size to 300 for noble
bjordiscollaku Apr 22, 2026
e8b67f3
docs: update README for docker-only build, sync fixes, and build notes
bjordiscollaku Apr 22, 2026
46c59e8
refactor: replace debian/control pre-step with debian/rules clean
bjordiscollaku Apr 23, 2026
faf781c
ci: add debian/changelog safety net after debian/rules clean
bjordiscollaku Apr 23, 2026
be5a12b
ci: add runner input with three options to build-kernel.yml
bjordiscollaku Apr 23, 2026
c8e4ff5
ci: add runner input with fromJSON mapping to build-kernel.yml
bjordiscollaku Apr 23, 2026
d546e35
ci: add runner input dropdown with three options to build-kernel.yml
bjordiscollaku Apr 23, 2026
0caf483
ci: validate kernel_version tag exists before starting build
bjordiscollaku Apr 24, 2026
e722b73
ci: switch daily default suite from noble to resolute
bjordiscollaku Apr 24, 2026
60ac7d9
ci: checkout from tag when kernel_version is provided
bjordiscollaku Apr 24, 2026
88f24fb
ci: move tag validation before checkout and clarify checkout comment
bjordiscollaku Apr 24, 2026
43b0b40
ci: switch daily default suite from resolute to questing
bjordiscollaku Apr 24, 2026
96ce5b7
docs: update manual trigger flow examples with actual questing versions
bjordiscollaku Apr 24, 2026
c76cfb6
docs: update kernel versions in supported suites table
bjordiscollaku Apr 24, 2026
ddbb06b
docs: fix Ubuntu version numbers for questing and resolute suites
bjordiscollaku Apr 24, 2026
2ac305e
docs: correct resolute dtbs_install note to reflect observed behavior
bjordiscollaku Apr 24, 2026
5f14ee8
docs: fix suite version numbers and clean up resolute note
bjordiscollaku Apr 25, 2026
0ba4870
feat(sync): add custom_git_url input to fetch-source-pkg workflow
bjordiscollaku Apr 27, 2026
d56bd13
feat: support custom branch names with base suite derivation
bjordiscollaku Apr 27, 2026
d54a66e
feat: make resolute-qcom the daily default sync target
bjordiscollaku Apr 27, 2026
a1840ef
docs: fix build-kernel suite input default and wording in README
bjordiscollaku Apr 27, 2026
57a963f
fix: handle Ubuntu-qcom-* tag format for resolute-qcom repo
bjordiscollaku Apr 27, 2026
d4b5ac3
refactor: make git_tag_prefix an internal variable, not a user input
bjordiscollaku Apr 27, 2026
b790896
fix: remove suite terminology from build-kernel.yml
bjordiscollaku Apr 27, 2026
8939cfa
docs: remove all suite references for resolute-qcom; use branch termi…
bjordiscollaku Apr 27, 2026
b9d64d0
fix: allow syncing official suites by clearing custom_git_url
bjordiscollaku Apr 27, 2026
149411f
docs: clarify suite input is a branch name in README tables
bjordiscollaku Apr 27, 2026
9a4f110
fix: change custom_git_url default to empty string
bjordiscollaku Apr 27, 2026
1648b20
fix: set qcom as default flavour for resolute-qcom builds
bjordiscollaku Apr 28, 2026
0a7c703
ux: shorten workflow input descriptions; revert custom_git_url defaul…
bjordiscollaku Apr 28, 2026
ee59b7e
feat: replace rsync snapshot with git fetch + fast-forward mirror
bjordiscollaku Apr 28, 2026
84d20cc
fix: add retry logic and depth limit to git fetch in sync job
bjordiscollaku Apr 28, 2026
9b7b3c8
feat: replace git fetch with full git clone for Launchpad mirror
bjordiscollaku Apr 28, 2026
773260f
feat: full git clone from Launchpad with retry and buffer tuning
bjordiscollaku Apr 28, 2026
46a3be3
fix: add --depth=200 to clone — full history exceeds GitHub push limit
bjordiscollaku Apr 28, 2026
f6f77f7
feat: full git clone + push for complete Canonical history mirror
bjordiscollaku Apr 28, 2026
c55ec76
fix: switch to --depth=1 — full clone exceeds GitHub 2GB push limit
bjordiscollaku Apr 28, 2026
e97b97c
fix: add --no-thin to git push to fix 'did not receive expected object'
bjordiscollaku Apr 28, 2026
cbd7c97
revert: restore original shallow clone + rsync sync approach
bjordiscollaku Apr 28, 2026
cd2a62d
fix: production runner S3/gh issues + default daily builds to lecore-…
bjordiscollaku Apr 28, 2026
7b99835
docs: update README to reflect lecore-production as active build runner
bjordiscollaku Apr 28, 2026
ee49fc2
chore: sync workflows from qcom-build-utils
qcom-service-bot May 21, 2026
32337d1
Merge pull request #4 from qualcomm-linux/sync/qcom-build-utils-workf…
simonbeaudoin0935 May 21, 2026
297e9f0
chore: sync workflows from qcom-build-utils
qcom-service-bot May 23, 2026
eb09ecd
Merge pull request #5 from qualcomm-linux/sync/qcom-build-utils-workf…
simonbeaudoin0935 May 23, 2026
3cc5e31
chore: sync workflows from qcom-build-utils (#6)
qcom-service-bot May 28, 2026
bde4d7c
chore: sync workflows from qcom-build-utils
qcom-service-bot Jun 9, 2026
8c1ae9d
Merge pull request #8 from qualcomm-linux/sync/qcom-build-utils-workf…
simonbeaudoin0935 Jun 9, 2026
8591672
ci: remove vestigial qcom-build-utils pkg-* workflows
bjordiscollaku Jun 19, 2026
e4a89bc
Update fetch-source-pkg.yml to remove chron job
bjordiscollaku Jun 23, 2026
3f85ef8
Reference aws-v4 tag for upload artifacts
bjordiscollaku Jun 23, 2026
ec20c58
chore: remove qcom-preflight-checks workflow
qcom-service-bot Jun 24, 2026
6ec2e6b
ci: preserve Canonical kernel history with verbatim-tag mirror
bjordiscollaku Jun 24, 2026
6dcfd70
docs: split README into an audience-scoped doc set
bjordiscollaku Jun 24, 2026
fc601e6
ci: default manual kernel builds to resolute-qcom-devel
bjordiscollaku Jul 1, 2026
791b790
ci(build-kernel): always build binary-indep to produce linux-qcom-hea…
bjordiscollaku Jul 6, 2026
a69e95e
ci: add devel_prs input, workflow_call trigger, and premerge-pr build…
bjordiscollaku Jul 6, 2026
075bef7
ci: remove redundant arch, flavor, runner inputs from build-kernel.yml
bjordiscollaku Jul 6, 2026
333713e
ci: add skip_s3 input to build-kernel.yml and use it in premerge-pr.yml
bjordiscollaku Jul 6, 2026
485fa4b
ci: remove stale runner comment and fix SUITE default mismatch
bjordiscollaku Jul 6, 2026
d4a55f8
ci: remove stale arch/flavor/runner fields from fetch-source-pkg disp…
bjordiscollaku Jul 6, 2026
8ecf401
docs: update PIPELINE.md for pr-build-pipeline changes
bjordiscollaku Jul 6, 2026
d907a88
ci: fix premerge PR check design and harden devel_prs
bjordiscollaku Jul 7, 2026
8ccb117
ci: add daily 15:00 PST kernel build
bjordiscollaku Jul 11, 2026
d949d2d
ci(sync-mirror): detect mirrored tags from the remote, not local clone
bjordiscollaku Jul 14, 2026
1e15892
docs: clarify and streamline PIPELINE.md
bjordiscollaku Jul 11, 2026
ed5879e
scripts: add Qualcomm copyright header
bjordiscollaku Jul 13, 2026
bcaba7e
docs(security): point issue link at this repository
bjordiscollaku Jul 13, 2026
dcb97b0
Update project documentation wording
bjordiscollaku Jul 17, 2026
d58f9a0
Merge pull request #45 from qualcomm-linux/docs/update-project-docume…
abickett Jul 17, 2026
1f42b3f
ci(build-kernel): support building the -dbgsym.ddeb via dbgsym input
GuanquanTian Jul 28, 2026
cdcc350
ci(build-kernel): build all flavours (qcom + qcom-rt)
GuanquanTian Jul 29, 2026
2573a26
ci(build-kernel): separate qcom-rt packages into output/rt/
GuanquanTian Jul 30, 2026
c50bebf
ci(build-kernel): share linux-qcom-headers/-tools into output/rt/
GuanquanTian Jul 31, 2026
75955ff
ci(build-kernel): flavours as space-separated names, indep always bui…
GuanquanTian Aug 5, 2026
8dc11cf
ci(build-kernel): only create output/rt/ when qcom-rt is actually built
GuanquanTian Aug 11, 2026
3683b51
Merge pull request #77 from GuanquanTian/ci/fix-output-rt-dir
shoudil Aug 12, 2026
f31b4bf
ci: gate premerge kernels on distro image validation
bjordiscollaku Aug 17, 2026
6d53414
ci: install GitHub CLI for distro validation
bjordiscollaku Aug 20, 2026
9d8538d
ci: derive distro callback metadata
bjordiscollaku Aug 21, 2026
c5e2662
ci: expose image prefix in premerge Check Run
bjordiscollaku Aug 21, 2026
92c603d
test(ci): exercise fork premerge distro validation
bjordiscollaku Aug 25, 2026
e2fe998
fix(ci): temporarily disable Canonical FIT image generation
bjordiscollaku Aug 25, 2026
375d005
Merge pull request #91 from qualcomm-linux/fix/disable-canonical-fit-…
shoudil Aug 26, 2026
c1f7ae7
Merge branch 'qualcomm-linux:main' into test/fork-premerge-distro-smoke
bjordiscollaku Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
27 changes: 27 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pr_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
## Pull Request

**Description**
A clear and concise description of what this pull request does.

**Related Issue**
Link to the issue that this pull request addresses (e.g., `Fixes #123`).

**Type of Change**
Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Documentation update

**Checklist**
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

**Additional Context**
Add any other context or screenshots about the pull request here.
11 changes: 11 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # This points to .github/workflows
schedule:
interval: "daily"
6 changes: 6 additions & 0 deletions .github/workflows/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# List of workflows and actions
This folder contains workflows that are helpful for maintaining a smooth and secure development process. The workflows should be enabled for open-source projects.

Workflows:
1. `qcom-preflight-checks.yml` - This workflow runs several preflight checks, including copyight, email, repolinter, and security checks. See [qualcomm/qcom-actions](https://github.com/qualcomm/qcom-actions)
2. `stale-issues.yaml` - This workflow will periodically run every 30 days to check for stalled issues and PRs. If the workflow detects any stalled issues and/or PRs, it will automatically leave just a comment to draw attention.
186 changes: 186 additions & 0 deletions .github/workflows/bootstrap-history.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# SPDX-License-Identifier: BSD-3-Clause
#
# bootstrap-history.yml
#
# One-time, automated bootstrap of a suite branch with the COMPLETE Canonical
# kernel history from Launchpad. Run this ONCE per suite (via "Run workflow");
# thereafter fetch-source-pkg.yml keeps it current incrementally.
#
# This exists because the steady-state sync is incremental and therefore needs a
# real-history base to exist first, but the branch starts with no usable history
# (the legacy pipeline stored flattened snapshots with no upstream ancestry).
#
# How it works (single shot)
# ──────────────────────────
# scripts/seed-history.sh does a FULL `git clone` of the upstream history
# (Launchpad's shallow/deepen path is broken, but it can serve a full clone),
# then pushes the seed in <2 GB slices (GitHub caps a single push at 2 GB) with
# the upstream upload tags mirrored verbatim.
#
# * The seed is pushed to a <suite>-seed branch (e.g. resolute-qcom-seed),
# NEVER the live branch -- a human reviews and promotes it.
# * The cloned repo is cached (actions/cache); if the publish fails, a manual
# re-dispatch restores the cache and skips re-downloading the history.

name: "Bootstrap: Seed Canonical Kernel History"

on:
workflow_dispatch:
inputs:
suite:
description: "Suite to seed (e.g. resolute-qcom, noble, questing, resolute). Pushed to <suite>-seed."
required: false
default: "resolute-qcom"
type: string
custom_git_url:
description: "Git URL to seed from. Leave empty to use the official Ubuntu kernel repo for the base suite."
required: false
default: ""
type: string

permissions:
contents: write # push the seeded branch and tags

jobs:
bootstrap:
name: "Seed ${{ inputs.suite }}-seed"
runs-on: ubuntu-24.04-arm
timeout-minutes: 350

steps:
# -----------------------------------------------------------------------
# 1. Free disk space -- a full kernel history is multi-GB.
# -----------------------------------------------------------------------
- name: Free up runner disk space
run: |
sudo rm -rf \
/usr/share/dotnet /usr/local/lib/android /opt/ghc \
/opt/hostedtoolcache/CodeQL /usr/local/share/boost \
"$AGENT_TOOLSDIRECTORY" 2>/dev/null || true
sudo apt-get clean
df -h /

# -----------------------------------------------------------------------
# 2. Check out this repo just for the scripts/ helpers.
# -----------------------------------------------------------------------
- name: Checkout CI scripts
uses: actions/checkout@v6

# -----------------------------------------------------------------------
# 3. Resolve the seed configuration (URL, tag prefix, seed branch).
# -----------------------------------------------------------------------
- name: Resolve configuration
id: cfg
env:
SUITE: ${{ inputs.suite || 'resolute-qcom' }}
CUSTOM_GIT_URL: ${{ inputs.custom_git_url }}
run: |
BASE_SUITE="$(echo "${SUITE}" | cut -d'-' -f1)"

if [ -n "${CUSTOM_GIT_URL}" ]; then
UPSTREAM_URL="${CUSTOM_GIT_URL}"
UPSTREAM_PREFIX="Ubuntu-qcom"
elif echo "${SUITE}" | grep -q '-'; then
# A custom (suffixed) suite with no URL given defaults to the
# Qualcomm-Ubuntu carmel-team repository for that base suite.
UPSTREAM_URL="https://git.launchpad.net/~carmel-team/ubuntu/+source/linux/+git/${BASE_SUITE}"
UPSTREAM_PREFIX="Ubuntu-qcom"
else
UPSTREAM_URL="https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/${BASE_SUITE}"
UPSTREAM_PREFIX="Ubuntu"
fi

{
echo "suite=${SUITE}"
echo "upstream_url=${UPSTREAM_URL}"
echo "upstream_prefix=${UPSTREAM_PREFIX}"
echo "seed_branch=${SUITE}-seed"
echo "cache_path=${RUNNER_TEMP}/history-seed"
} >> "$GITHUB_OUTPUT"

# Seed pushed to <suite>-seed (NOT the live branch); tags mirrored verbatim.
echo "Suite ${SUITE} -> seed branch ${SUITE}-seed from ${UPSTREAM_URL} (tags ${UPSTREAM_PREFIX}-* verbatim)"

# -----------------------------------------------------------------------
# 4. Restore a previously-cloned seed (so a retry after a failed publish
# skips re-downloading the multi-GB history).
# -----------------------------------------------------------------------
- name: Restore cached clone
uses: actions/cache/restore@v4
with:
path: ${{ steps.cfg.outputs.cache_path }}
key: history-seed-${{ steps.cfg.outputs.suite }}-${{ github.run_id }}
restore-keys: |
history-seed-${{ steps.cfg.outputs.suite }}-

# -----------------------------------------------------------------------
# 5. Full-clone the history and publish the seed. Capture the exit code so
# the clone can be cached before the job is failed on a publish error.
# -----------------------------------------------------------------------
- name: Seed history
id: seed
env:
MIRROR_URL: https://x-access-token:${{ github.token }}@github.com/${{ github.repository }}.git
UPSTREAM_URL: ${{ steps.cfg.outputs.upstream_url }}
BRANCH: ${{ steps.cfg.outputs.seed_branch }}
UPSTREAM_PREFIX: ${{ steps.cfg.outputs.upstream_prefix }}
WORKDIR: ${{ steps.cfg.outputs.cache_path }}
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"

set +e
bash scripts/seed-history.sh
rc=$?
set -e

echo "rc=${rc}" >> "$GITHUB_OUTPUT"
if [ "${rc}" -eq 0 ]; then
echo "status=complete" >> "$GITHUB_OUTPUT"
else
echo "status=failed" >> "$GITHUB_OUTPUT"
fi

# -----------------------------------------------------------------------
# 6. On failure, cache the cloned history so a manual re-dispatch can reuse
# it instead of re-downloading from the slow Launchpad server.
# -----------------------------------------------------------------------
- name: Cache clone for retry
if: steps.seed.outputs.status == 'failed'
uses: actions/cache/save@v4
with:
path: ${{ steps.cfg.outputs.cache_path }}
key: history-seed-${{ steps.cfg.outputs.suite }}-${{ github.run_id }}

# -----------------------------------------------------------------------
# 7. Surface a publish/clone failure as a red job, AFTER the clone is cached.
# -----------------------------------------------------------------------
- name: Fail on seed error
if: steps.seed.outputs.status == 'failed'
env:
SEED_RC: ${{ steps.seed.outputs.rc }}
run: |
echo "::error::seed-history.sh failed (rc=${SEED_RC})." \
"The clone is cached; investigate and re-dispatch to retry the publish."
exit 1

# -----------------------------------------------------------------------
# 8. Summary.
# -----------------------------------------------------------------------
- name: Print summary
if: always()
env:
SEED_BRANCH: ${{ steps.cfg.outputs.seed_branch }}
SEED_STATUS: ${{ steps.seed.outputs.status || 'failed' }}
run: |
{
echo "## Bootstrap Summary"
echo ""
echo "| Field | Value |"
echo "|-------|-------|"
echo "| Seed branch | \`${SEED_BRANCH}\` |"
echo "| Status | \`${SEED_STATUS}\` |"
if [ "${SEED_STATUS}" = "complete" ]; then
echo "| Result | Seed pushed -- review and promote \`${SEED_BRANCH}\` to the live branch |"
fi
} >> "$GITHUB_STEP_SUMMARY"
Loading
Loading