mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-07 10:06:39 +00:00
bcc6acab5f
The CI runner is Ubuntu, where the program is grub-mkimage and not grub2-mkimage, so the fixture built no loader; grub2.pm writes no configuration at all for a node whose loader is missing, setup died on the node every later stage needs, and all eight wire cases failed for that one reason. Both names are tried now, and the EFI and BIOS module trees under either /usr/lib/grub or /usr/lib/grub2. Where none of that exists the node is set with xnba instead, and the stages that read a grub2 config say which assertions they left out. The workflow installs grub-common and grub-efi-amd64-bin so the runner tests the grub2 path itself.
59 lines
2.6 KiB
YAML
59 lines
2.6 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 bats 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 grub-common grub-efi-amd64-bin
|
|
- 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 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'
|