Skip to content

Commit bb3e8a7

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

File tree

7 files changed

+131
-540
lines changed

7 files changed

+131
-540
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: 29 additions & 15 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,26 @@ 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]"
292+
# echo "##[group]Autogen.sh"
293+
echo "begin"
294+
sudo yum -y install gdb || true
295+
bash -c 'gdb -ex=r --batch --args ./autogen.sh' &
296+
sleep 1
297+
sudo dmesg
298+
# echo "##[endgroup]"
294299

295-
echo "##[group]Configure"
296-
run ./configure \
300+
# echo "##[group]Configure"
301+
./configure \
297302
--prefix=/usr \
298303
--enable-pyzfs \
299-
--enable-debuginfo $extra
300-
echo "##[endgroup]"
304+
--enable-debuginfo $extra 2>&1
305+
# echo "##[endgroup]"
301306

302-
echo "##[group]Build"
307+
# echo "##[group]Build"
303308
run make native-deb-kmod native-deb-utils
304-
echo "##[endgroup]"
309+
# echo "##[endgroup]"
305310

306-
echo "##[group]Install"
311+
# echo "##[group]Install"
307312
# Do kmod install. Note that when you build the native debs, the
308313
# packages themselves are placed in parent directory '../' rather than
309314
# in the source directory like the rpms are.
@@ -339,18 +344,27 @@ fi
339344
# almalinux9.5
340345
# fedora42
341346
source /etc/os-release
342-
if which hostnamectl &> /dev/null ; then
347+
if which hostnamectl &> /dev/null ; then
343348
# Fedora 42+ use hostnamectl
344-
sudo hostnamectl set-hostname "$ID$VERSION_ID"
345-
sudo hostnamectl set-hostname --pretty "$ID$VERSION_ID"
349+
sudo hostnamectl set-hostname "$ID$VERSION_ID" || true
350+
if ! sudo hostnamectl set-hostname --pretty "$ID$VERSION_ID" ; then
351+
echo "Couldn't set hostname"
352+
fi
346353
else
347354
sudo hostname "$ID$VERSION_ID"
348355
fi
349356

350357
# save some sysinfo
351358
uname -a > /var/tmp/uname.txt
352359

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

356370
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)