mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-24 16:54:03 +00:00
771da0e09e
The OpenEmbedded metadata job ran on every pull request and took about 20 minutes. It reads only xCAT-genesis-builder/oe and xCAT-genesis-scripts, and it pins its upstream sources to fixed commits. A pull request that changes neither directory gets the same result each time. The job moves unchanged to its own workflow, which runs only when those paths or the workflow file change. xcat_pr_test stays in xcat_test.yml and runs on every pull request, because a required check that does not run blocks the merge.
55 lines
2.2 KiB
YAML
55 lines
2.2 KiB
YAML
name: genesis_openembedded
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'xCAT-genesis-builder/oe/**'
|
|
- 'xCAT-genesis-scripts/**'
|
|
- '.github/workflows/genesis_openembedded.yml'
|
|
workflow_dispatch:
|
|
jobs:
|
|
genesis_openembedded:
|
|
name: OpenEmbedded metadata
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.12'
|
|
cache: pip
|
|
cache-dependency-path: xCAT-genesis-builder/oe/requirements.txt
|
|
- name: Install OpenEmbedded host dependencies
|
|
run: >-
|
|
sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y
|
|
--no-install-recommends --no-install-suggests
|
|
build-essential chrpath cpio diffstat file gawk git locales
|
|
lz4 openssl socat texinfo unzip wget xz-utils zstd
|
|
- name: Install KAS
|
|
run: python -m pip install -r xCAT-genesis-builder/oe/requirements.txt
|
|
- name: Enable BitBake user namespaces
|
|
run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
|
|
- name: Validate every architecture configuration
|
|
shell: bash
|
|
env:
|
|
KAS_WORK_DIR: ${{ runner.temp }}/kas-work
|
|
run: |
|
|
set -euo pipefail
|
|
for architecture in x86 x86_64 ppc64 ppc64le armv7hf aarch64 riscv64 s390x; do
|
|
export KAS_BUILD_DIR="${RUNNER_TEMP}/kas-build-${architecture}"
|
|
configuration="xCAT-genesis-builder/oe/kas/${architecture}.yml"
|
|
kas dump "${configuration}" >/dev/null
|
|
kas shell "${configuration}" -c 'bitbake -p'
|
|
done
|
|
- name: Validate the image task graph
|
|
shell: bash
|
|
env:
|
|
KAS_WORK_DIR: ${{ runner.temp }}/kas-work
|
|
KAS_BUILD_DIR: ${{ runner.temp }}/kas-build-x86_64
|
|
run: |
|
|
set -euo pipefail
|
|
kas shell xCAT-genesis-builder/oe/kas/x86_64.yml -c \
|
|
'bitbake -n xcat-genesis-image xcat-genesis-extension-smoke'
|
|
export KAS_BUILD_DIR="${RUNNER_TEMP}/kas-build-s390x"
|
|
kas shell xCAT-genesis-builder/oe/kas/s390x.yml -c \
|
|
'bitbake -n xcat-genesis-image xcat-genesis-extension-smoke'
|