Skip to content

Commit 48438c8

Browse files
committed
CI: Add ARM (DONT MERGE)
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
1 parent f93506d commit 48438c8

File tree

7 files changed

+133
-541
lines changed

7 files changed

+133
-541
lines changed

.github/workflows/checkstyle.yaml

Lines changed: 0 additions & 64 deletions
This file was deleted.

.github/workflows/codeql.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

.github/workflows/scripts/qemu-4-build-vm.sh

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ while [[ $# -gt 0 ]]; do
6565
esac
6666
done
6767

68-
set -eu
68+
set -u
69+
set -x
6970

7071
function run() {
7172
LOG="/var/tmp/build-stderr.txt"
@@ -288,22 +289,27 @@ function rpm_build_and_install() {
288289
function deb_build_and_install() {
289290
extra="${1:-}"
290291

291-
echo "##[group]Autogen.sh"
292-
run ./autogen.sh
293-
echo "##[endgroup]"
294-
295-
echo "##[group]Configure"
296-
run ./configure \
292+
# echo "##[group]Autogen.sh"
293+
echo "begin"
294+
sudo yum -y install gdb || true
295+
df -h
296+
bash -c 'gdb -ex=r --batch --args ./autogen.sh' &
297+
sleep 1
298+
sudo dmesg
299+
# echo "##[endgroup]"
300+
301+
# echo "##[group]Configure"
302+
./configure \
297303
--prefix=/usr \
298304
--enable-pyzfs \
299-
--enable-debuginfo $extra
300-
echo "##[endgroup]"
305+
--enable-debuginfo $extra 2>&1
306+
# echo "##[endgroup]"
301307

302-
echo "##[group]Build"
308+
# echo "##[group]Build"
303309
run make native-deb-kmod native-deb-utils
304-
echo "##[endgroup]"
310+
# echo "##[endgroup]"
305311

306-
echo "##[group]Install"
312+
# echo "##[group]Install"
307313
# Do kmod install. Note that when you build the native debs, the
308314
# packages themselves are placed in parent directory '../' rather than
309315
# in the source directory like the rpms are.
@@ -339,18 +345,27 @@ fi
339345
# almalinux9.5
340346
# fedora42
341347
source /etc/os-release
342-
if which hostnamectl &> /dev/null ; then
348+
if which hostnamectl &> /dev/null ; then
343349
# Fedora 42+ use hostnamectl
344-
sudo hostnamectl set-hostname "$ID$VERSION_ID"
345-
sudo hostnamectl set-hostname --pretty "$ID$VERSION_ID"
350+
sudo hostnamectl set-hostname "$ID$VERSION_ID" || true
351+
if ! sudo hostnamectl set-hostname --pretty "$ID$VERSION_ID" ; then
352+
echo "Couldn't set hostname"
353+
fi
346354
else
347355
sudo hostname "$ID$VERSION_ID"
348356
fi
349357

350358
# save some sysinfo
351359
uname -a > /var/tmp/uname.txt
352360

353-
cd $HOME/zfs
361+
ls -l
362+
363+
if [ ! -e META ] ; then
364+
# We're not already in our ZFS source dir, so we must be in a VM rather
365+
# than running nativity on a runner.
366+
cd $HOME/zfs
367+
fi
368+
354369
export PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
355370

356371
extra=""

.github/workflows/zfs-arm.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: zfs-arm
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
inputs:
8+
fedora_kernel_ver:
9+
type: string
10+
required: false
11+
default: ""
12+
description: "(optional) Experimental kernel version to install on Fedora (like '6.14' or '6.13.3-0.rc3')"
13+
14+
jobs:
15+
zfs-arm:
16+
runs-on: ubuntu-24.04-arm
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
- name: Install dependencies
22+
timeout-minutes: 20
23+
run: .github/workflows/scripts/qemu-3-deps-vm.sh ubuntu24
24+
25+
- name: Build modules
26+
timeout-minutes: 30
27+
run: .github/workflows/scripts/qemu-4-build-vm.sh --enable-debug ubuntu24
28+
29+
- name: Run tests
30+
timeout-minutes: 270
31+
run: .github/workflows/scripts/qemu-6-tests.sh ubuntu24 1/1
32+
33+
- name: Prepare artifacts
34+
if: always()
35+
timeout-minutes: 10
36+
run: .github/workflows/scripts/qemu-7-prepare.sh
37+
38+
- uses: actions/upload-artifact@v4
39+
id: artifact-upload
40+
if: always()
41+
with:
42+
name: Logs-functional-${{ matrix.os }}
43+
path: /tmp/qemu-${{ matrix.os }}.tar
44+
if-no-files-found: ignore
45+
46+
- name: Test Summary
47+
if: always()
48+
run: .github/workflows/scripts/qemu-8-summary.sh '${{ steps.artifact-upload.outputs.artifact-url }}'
49+
50+
cleanup:
51+
if: always()
52+
name: Cleanup
53+
runs-on: ubuntu-latest
54+
needs: [ zfs-arm ]
55+
56+
steps:
57+
- uses: actions/checkout@v4
58+
with:
59+
ref: ${{ github.event.pull_request.head.sha }}
60+
- uses: actions/download-artifact@v4
61+
- name: Generating summary
62+
run: .github/workflows/scripts/qemu-9-summary-page.sh
63+
- name: Generating summary...
64+
run: .github/workflows/scripts/qemu-9-summary-page.sh 2
65+
- name: Generating summary...
66+
run: .github/workflows/scripts/qemu-9-summary-page.sh 3
67+
- name: Generating summary...
68+
run: .github/workflows/scripts/qemu-9-summary-page.sh 4
69+
- name: Generating summary...
70+
run: .github/workflows/scripts/qemu-9-summary-page.sh 5
71+
- name: Generating summary...
72+
run: .github/workflows/scripts/qemu-9-summary-page.sh 6
73+
- name: Generating summary...
74+
run: .github/workflows/scripts/qemu-9-summary-page.sh 7
75+
- name: Generating summary...
76+
run: .github/workflows/scripts/qemu-9-summary-page.sh 8
77+
- name: Generating summary...
78+
run: .github/workflows/scripts/qemu-9-summary-page.sh 9
79+
- name: Generating summary...
80+
run: .github/workflows/scripts/qemu-9-summary-page.sh 10
81+
- name: Generating summary...
82+
run: .github/workflows/scripts/qemu-9-summary-page.sh 11
83+
- name: Generating summary...
84+
run: .github/workflows/scripts/qemu-9-summary-page.sh 12
85+
- name: Generating summary...
86+
run: .github/workflows/scripts/qemu-9-summary-page.sh 13
87+
- name: Generating summary...
88+
run: .github/workflows/scripts/qemu-9-summary-page.sh 14
89+
- name: Generating summary...
90+
run: .github/workflows/scripts/qemu-9-summary-page.sh 15
91+
- name: Generating summary...
92+
run: .github/workflows/scripts/qemu-9-summary-page.sh 16
93+
- name: Generating summary...
94+
run: .github/workflows/scripts/qemu-9-summary-page.sh 17
95+
- name: Generating summary...
96+
run: .github/workflows/scripts/qemu-9-summary-page.sh 18
97+
- name: Generating summary...
98+
run: .github/workflows/scripts/qemu-9-summary-page.sh 19
99+
- uses: actions/upload-artifact@v4
100+
with:
101+
name: Summary Files
102+
path: out-*

0 commit comments

Comments
 (0)