@@ -25,11 +25,18 @@ concurrency:
2525 cancel-in-progress : ${{ github.ref_name != 'main' && !startsWith(github.ref_name, 'release/') }}
2626jobs :
2727 build :
28- name : x86_64
29- runs-on : ubuntu-latest
28+ strategy :
29+ matrix :
30+ platform :
31+ - x86_64
32+ include :
33+ - platform : x86_64
34+ runner : ubuntu-24.04
35+ name : autosd-${{ matrix.platform }}
36+ runs-on : ${{ matrix.runner }}
3037 env :
31- AIB_SCRIPT_URL : https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/main /auto-image-builder.sh?ref_type=heads
32- AIB_CONTAINER_IMAGE : quay.io/centos-sig-automotive/automotive-image-builder:latest
38+ AIB_SCRIPT_URL : https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/1.3.0 /auto-image-builder.sh?ref_type=tags
39+ AIB_CONTAINER_IMAGE : quay.io/centos-sig-automotive/automotive-image-builder:1.3.0
3340 steps :
3441 - name : Clean disk space
3542 uses : eclipse-score/more-disk-space@v1
@@ -42,42 +49,39 @@ jobs:
4249 disk-cache : ${{ github.workflow }}
4350 repository-cache : true
4451 cache-save : ${{ github.event_name == 'push' }}
52+ - name : Shows kernel version
53+ run : |
54+ uname -a
4555 - name : Install System Dependencies
4656 run : |
4757 sudo apt-get update -y
48- sudo apt-get install -y podman curl qemu-system createrepo-c
49- - name : Build Showcases
50- run : |
51- bazel build --lockfile_mode=error --config autosd-x86_64 //images/autosd_x86_64:score-showcases
52- - name : Copy showcases folder
53- run : |
54- set -e
55- ls ./bazel-bin/showcases/showcases/showcases
56- cp -R ./bazel-bin/showcases/showcases/showcases ./images/autosd_x86_64/build/files/reference_integration/
57- - name : Install AIB Tools
58+ sudo apt-get install -y podman curl qemu-system createrepo-c tree
59+ - name : Build and Export Showcases OCI Image
5860 run : |
59- curl -o auto-image-builder.sh "$AIB_SCRIPT_URL"
60- chmod +x auto-image-builder.sh
61- working-directory : ./images/autosd_x86_64/build
62- - name : Build AutoSD QEMU (x86_64)
63- run : |
64- export AIB_LOCAL_CONTAINER_STORAGE=$PWD/_build/containers-storage
61+ bazel run --announce_rc --lockfile_mode=error --config autosd-${{ matrix.platform }} //images/autosd:image_load
6562
66- mkdir -p _build/containers-storage
67- sudo -E ./auto-image-builder.sh -c $AIB_CONTAINER_IMAGE build-builder --distro=autosd10-sig
63+ tree bazel-bin
64+ - name : Export OCI Archive
65+ run : |
66+ sudo podman run -it --rm \
67+ -v /var/run/docker.sock:/var/run/docker.sock \
68+ -v $PWD/images/autosd:/outputs \
69+ quay.io/containers/skopeo:latest copy \
70+ docker-daemon:score_showcases_autosd:latest \
71+ oci-archive:/outputs/score_showcases_autosd_latest.oci
6872
69- sudo -E ./auto-image-builder.sh -c $AIB_CONTAINER_IMAGE --verbose build \
70- --distro=autosd10-sig \
71- --target=qemu \
72- --define-file vars.yml \
73- --define-file vars-devel.yml \
74- image.aib.yml \
75- localhost/score:latest
73+ sudo chown -R $(id -u):$(id -u) images/autosd/
7674
77- sudo -E ./auto-image-builder.sh -c $AIB_CONTAINER_IMAGE --verbose to-disk-image localhost/score:latest _build/disk.qcow2
75+ stat images/autosd/score_showcases_autosd_latest.oci
76+ - name : Download AutoSD Image
77+ run : |
78+ wget \
79+ -L --tries=10 --retry-connrefused --waitretry=5 \
80+ -O disk.qcow2.xz \
81+ https://github.com/eclipse-autosd/eclipse-autosd/releases/download/dev/eclipse-autosd-bootc-qemu-${{ matrix.platform }}.qcow2.xz
7882
79- sudo chown $(id -u):$(id -u) _build/ disk.qcow2
80- working-directory : ./images/autosd_x86_64/build
83+ xz -d disk.qcow2.xz
84+ working-directory : ./images/autosd
8185 - name : Enable KVM group perms
8286 run : |
8387 echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
@@ -86,17 +90,28 @@ jobs:
8690 - name : Test QEMU image
8791 run : |
8892 sshcmd() {
89- sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2222 root@localhost $@
93+ sshpass -p "$SSH_PASSWORD" \
94+ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
95+ -p 2222 root@localhost \
96+ $@
97+ }
98+
99+ scpcmd() {
100+ sshpass -p "$SSH_PASSWORD" scp \
101+ -o StrictHostKeyChecking=no \
102+ -o UserKnownHostsFile=/dev/null \
103+ -P 2222 \
104+ $@
90105 }
91106
92- ./scripts/run_qemu
107+ QEMU_ARCH=${{ matrix.platform }} ./scripts/run_qemu
93108
94109 sshcmd 'cat /etc/os-release'
95- working-directory : ./images/autosd_x86_64/build
110+ scpcmd './score_showcases_autosd_latest.oci root@localhost:/tmp/score_showcases_autosd_latest.oci'
111+ sshcmd 'bootc switch --apply --transport oci-archive /tmp/score_showcases_autosd_latest.oci' || true
112+ sleep 5
113+ sshcmd 'bootc status'
114+ sshcmd '/showcases/bin/cli --examples all'
115+ working-directory : ./images/autosd
96116 env :
97117 SSH_PASSWORD : password
98- - name : Archive QEMU disk image (x86_64)
99- uses : actions/upload-artifact@v4
100- with :
101- name : autosd10-score-reference_integration-x86_64.qcow2
102- path : images/autosd_x86_64/build/_build/disk.qcow2
0 commit comments