Skip to content

take over release notes from score main #655

take over release notes from score main

take over release notes from score main #655

# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
name: AutoSD - Build & Integration Test
on:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
push:
branches:
- main
# Do not flood CI with unneeded previous runs in PR
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: ${{ github.ref_name != 'main' && !startsWith(github.ref_name, 'release/') }}
jobs:
build:
strategy:
matrix:
platform:
- x86_64
include:
- platform: x86_64
runner: ubuntu-24.04
name: autosd-${{ matrix.platform }}
runs-on: ${{ matrix.runner }}
env:
AIB_SCRIPT_URL: https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/1.3.0/auto-image-builder.sh?ref_type=tags
AIB_CONTAINER_IMAGE: quay.io/centos-sig-automotive/automotive-image-builder:1.3.0
steps:
- name: Clean disk space
uses: eclipse-score/more-disk-space@v1
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.18.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
cache-save: ${{ github.event_name == 'push' }}
- name: Shows kernel version
run: |
uname -a
- name: Install System Dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y podman curl qemu-system createrepo-c tree
- name: Build and Export Showcases OCI Image
run: |
bazel run --announce_rc --lockfile_mode=error --config autosd-${{ matrix.platform }} //images/autosd:image_load
tree bazel-bin
- name: Export OCI Archive
run: |
sudo podman run -it --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $PWD/images/autosd:/outputs \
quay.io/containers/skopeo:latest copy \
docker-daemon:score_showcases_autosd:latest \
oci-archive:/outputs/score_showcases_autosd_latest.oci
sudo chown -R $(id -u):$(id -u) images/autosd/
stat images/autosd/score_showcases_autosd_latest.oci
- name: Download AutoSD Image
run: |
wget \
-L --tries=10 --retry-connrefused --waitretry=5 \
-O disk.qcow2.xz \
https://github.com/eclipse-autosd/eclipse-autosd/releases/download/dev/eclipse-autosd-bootc-qemu-${{ matrix.platform }}.qcow2.xz
xz -d disk.qcow2.xz
working-directory: ./images/autosd
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Test QEMU image
run: |
sshcmd() {
sshpass -p "$SSH_PASSWORD" \
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
-p 2222 root@localhost \
$@
}
scpcmd() {
sshpass -p "$SSH_PASSWORD" scp \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-P 2222 \
$@
}
QEMU_ARCH=${{ matrix.platform }} ./scripts/run_qemu
sshcmd 'cat /etc/os-release'
scpcmd './score_showcases_autosd_latest.oci root@localhost:/tmp/score_showcases_autosd_latest.oci'
sshcmd 'bootc switch --apply --transport oci-archive /tmp/score_showcases_autosd_latest.oci' || true
sleep 5
sshcmd 'bootc status'
sshcmd '/showcases/bin/cli --examples all'
working-directory: ./images/autosd
env:
SSH_PASSWORD: password