mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-04 12:07:56 +00:00
da282043be
buildrpms_source_only.t's CLI half failed in CI: the runner has no Parallel::ForkManager, so buildrpms.pl aborted at compile time and never reached the option check the test is about. The module is needed only by the test suite -- buildrpms.pl is not a runtime dependency of any package -- so it goes in the workflow apt list. The same half also escaped its scratch tree. Before buildrpms.pl looks at @ARGV it rewrites the tracked Gitinfo in its working directory and creates $HOME/rpmbuild, so running it from the checkout left the tree dirty and reached into the developer's home to exercise argument parsing. It now runs from a staged copy with HOME pointed at the sandbox. Exit 2 is pinned rather than "non-zero", though perl also exits 2 on a compile abort -- which is exactly how this assertion stayed green in CI while the program could not load. The message assertion is what separates the two, and the comment now says so. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
54 lines
2.3 KiB
YAML
54 lines
2.3 KiB
YAML
name: xcat_test
|
|
on: [pull_request, workflow_dispatch]
|
|
jobs:
|
|
xcat_pr_test:
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install dependencies
|
|
run: sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests build-essential fakeroot reprepro devscripts debhelper libcapture-tiny-perl libfile-slurper-perl libjson-perl libparallel-forkmanager-perl libsoap-lite-perl libdbi-perl libcgi-pm-perl quilt openssh-server dpkg looptools genometools software-properties-common
|
|
- name: Run tests
|
|
run: perl github_action_xcat_test.pl
|
|
|
|
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; 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
|
|
env:
|
|
KAS_WORK_DIR: ${{ runner.temp }}/kas-work
|
|
KAS_BUILD_DIR: ${{ runner.temp }}/kas-build-x86_64
|
|
run: >-
|
|
kas shell xCAT-genesis-builder/oe/kas/x86_64.yml -c
|
|
'bitbake -n xcat-genesis-image xcat-genesis-extension-smoke'
|