Skip to content

Commit 5cb9bd9

Browse files
committed
CI: Add ARM (DONT MERGE)
Signed-off-by: Tony Hutter <[email protected]>
1 parent f93506d commit 5cb9bd9

File tree

7 files changed

+142
-546
lines changed

7 files changed

+142
-546
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: 38 additions & 21 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,33 @@ 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+
df -h | true
295+
free -h | true
296+
for i in `seq 1 30` ; do
297+
echo "i: $i"
298+
sleep 1
299+
done
300+
which gdb || true
301+
sudo apt-get -y install gdb || true
302+
bash -c 'gdb -ex=r --batch --args ./autogen.sh' &
303+
sleep 1
304+
sudo dmesg
305+
# echo "##[endgroup]"
306+
307+
# echo "##[group]Configure"
308+
./configure \
297309
--prefix=/usr \
298310
--enable-pyzfs \
299-
--enable-debuginfo $extra
300-
echo "##[endgroup]"
311+
--enable-debuginfo $extra 2>&1
312+
# echo "##[endgroup]"
301313

302-
echo "##[group]Build"
314+
# echo "##[group]Build"
303315
run make native-deb-kmod native-deb-utils
304-
echo "##[endgroup]"
316+
# echo "##[endgroup]"
305317

306-
echo "##[group]Install"
318+
# echo "##[group]Install"
307319
# Do kmod install. Note that when you build the native debs, the
308320
# packages themselves are placed in parent directory '../' rather than
309321
# in the source directory like the rpms are.
@@ -338,26 +350,31 @@ fi
338350
# rhel8.10
339351
# almalinux9.5
340352
# fedora42
341-
source /etc/os-release
342-
if which hostnamectl &> /dev/null ; then
343-
# Fedora 42+ use hostnamectl
344-
sudo hostnamectl set-hostname "$ID$VERSION_ID"
345-
sudo hostnamectl set-hostname --pretty "$ID$VERSION_ID"
346-
else
347-
sudo hostname "$ID$VERSION_ID"
348-
fi
349353

350354
# save some sysinfo
351355
uname -a > /var/tmp/uname.txt
352356

353-
cd $HOME/zfs
357+
for i in 1 2 3 4 5 6 7 8 9 10 ; do
358+
echo "iii: $i"
359+
sleep 0.5
360+
done
361+
362+
ls -l
363+
364+
if [ ! -e META ] ; then
365+
# We're not already in our ZFS source dir, so we must be in a VM rather
366+
# than running nativity on a runner.
367+
cd $HOME/zfs
368+
fi
369+
354370
export PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
355371

356372
extra=""
357373
if [ -n "$ENABLE_DEBUG" ] ; then
358374
extra="--enable-debug"
359375
fi
360376

377+
361378
# build
362379
case "$OS" in
363380
freebsd*)

.github/workflows/zfs-arm.yml

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

0 commit comments

Comments
 (0)