diff --git a/.github/workflows/build_and_test_autosd.yml b/.github/workflows/build_and_test_autosd.yml index 46b1d47087..6ad6a755d7 100644 --- a/.github/workflows/build_and_test_autosd.yml +++ b/.github/workflows/build_and_test_autosd.yml @@ -23,7 +23,6 @@ on: paths: - 'integration/**' - jobs: build: name: x86_64 @@ -41,43 +40,44 @@ jobs: sudo apt-get update -y sudo apt-get install -y podman curl qemu-system createrepo-c - - name: Build Lola Demo + - name: Build Showcases RPMs run: | - bazel build --config=autosd-x86_64 //images/autosd_x86_64:lola-demo - working-directory: ./integration + bazel build --config autosd-x86_64 //images/autosd_x86_64:score-reference-integration + working-directory: ./integration/images/autosd_x86_64 - name: Copy RPMs run: | set -e mkdir -p ./images/autosd_x86_64/build/rpms - cp bazel-out/k8-fastbuild/bin/images/autosd_x86_64/lola-demo-1.0.0-1.x86_64.rpm ./images/autosd_x86_64/build/rpms - cp bazel-out/k8-fastbuild/bin/images/autosd_x86_64/lola-demo-1.0.0-1.src.rpm ./images/autosd_x86_64/build/rpms + cp bazel-bin/images/autosd_x86_64/score-reference-integration-0.6.0-1.x86_64.rpm ./images/autosd_x86_64/build/rpms createrepo_c ./images/autosd_x86_64/build/rpms/ ls -l ./images/autosd_x86_64/build/rpms/ working-directory: ./integration - name: Install AIB Tools run: | - curl -o auto-image-builder.sh "https://gitlab.com/lrossett/automotive-image-builder/-/raw/script-fix/auto-image-builder.sh?ref_type=heads" + curl -o auto-image-builder.sh "https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/main/auto-image-builder.sh?ref_type=heads" chmod +x auto-image-builder.sh - - curl -o automotive-image-runner "https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/main/automotive-image-runner" - chmod +x automotive-image-runner working-directory: ./integration/images/autosd_x86_64/build - - - name: Build lola-demo.aib.yml + + - name: Build AutoSD QEMU (x86_64) run: | - sudo ./auto-image-builder.sh build-deprecated \ - --distro autosd10 \ - --mode package \ - --target qemu \ - --export qcow2 \ + export AIB_LOCAL_CONTAINER_STORAGE=$PWD/_build/containers-storage + + mkdir -p _build/containers-storage + sudo -E ./auto-image-builder.sh build-builder --distro=autosd10-sig + + sudo -E ./auto-image-builder.sh build \ + --distro=autosd10-sig \ + --target=qemu \ --define-file vars.yml \ --define-file vars-devel.yml \ image.aib.yml \ - disk.qcow2 + localhost/score:latest + + sudo -E ./auto-image-builder.sh to-disk-image localhost/score:latest _build/disk.qcow2 - sudo chown $(id -u) disk.qcow2 + sudo chown $(id -u):$(id -u) _build/disk.qcow2 working-directory: ./integration/images/autosd_x86_64/build - name: Enable KVM group perms @@ -91,18 +91,16 @@ jobs: sshcmd() { sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2222 root@localhost $@ } + ./scripts/run_qemu + sshcmd 'cat /etc/os-release' - sleep 10 - sshcmd 'bluechictl start agent-qm lola-ipc-sub.service' - sleep 5 - # sshcmd '/usr/bin/lola-ipc-test' Disabled until correct exmaples deployed working-directory: ./integration/images/autosd_x86_64/build env: SSH_PASSWORD: password - - name: Archive QEMU disk image + - name: Archive QEMU disk image (x86_64) uses: actions/upload-artifact@v4 with: name: autosd10-score-reference_integration-x86_64.qcow2 - path: integration/images/autosd_x86_64/build/disk.qcow2 + path: integration/images/autosd_x86_64/build/_build/disk.qcow2 diff --git a/integration/bazel_common/score_gcc_toolchains.MODULE.bazel b/integration/bazel_common/score_gcc_toolchains.MODULE.bazel index 5dca055929..5cc05b0792 100644 --- a/integration/bazel_common/score_gcc_toolchains.MODULE.bazel +++ b/integration/bazel_common/score_gcc_toolchains.MODULE.bazel @@ -61,26 +61,19 @@ bazel_dep(name = "os_autosd_toolchain", version = "0.0.1") # override with git git_override( module_name = "os_autosd_toolchain", - remote = "https://github.com/odra/inc_os_autosd.git", - branch = "repo-new-structure", + remote = "https://github.com/eclipse-score/inc_os_autosd.git", + branch = "main", strip_prefix = "toolchain" - ) autosd_10_gcc = use_extension("@os_autosd_toolchain//autosd_10_gcc:extensions.bzl", "autosd_10_gcc_extension") use_repo(autosd_10_gcc, "autosd_10_gcc_repo") - -autosd_9_gcc = use_extension("@os_autosd_toolchain//autosd_9_gcc:extensions.bzl", "autosd_9_gcc_extension") -use_repo(autosd_9_gcc, "autosd_9_gcc_repo") - - # Register the RPM toolchain rpm_toolchain = use_extension("@rules_rpm//toolchains:extensions.bzl", "rpm_toolchain") use_repo(rpm_toolchain, "rpm_toolchain") - use_repo(eb, "gcc_toolchain", "gcc_toolchain_gcc") use_repo( gcc, "score_gcc_x86_64_toolchain", -) \ No newline at end of file +) diff --git a/integration/images/autosd_x86_64/BUILD.bazel b/integration/images/autosd_x86_64/BUILD.bazel index 82e9bd66d0..7d57b6b322 100644 --- a/integration/images/autosd_x86_64/BUILD.bazel +++ b/integration/images/autosd_x86_64/BUILD.bazel @@ -12,23 +12,41 @@ # ******************************************************************************* load("@rules_rpm//rpm:defs.bzl", "rpm_package") -# TODO: Shall use targets from use-cases -# Bring back files once we cleanup scrample integration soon +alias( + name = "image", + actual = "//showcases:showcases_all", + visibility = ["//visibility:public"], +) + rpm_package( - name = "lola-demo", + name = "score-reference-integration", + description = "Eclipse S-CORE Reference Integration", + summary = "Eclipse S-CORE Reference Integration", + version = "0.6.0", binaries = [ - "@score_scrample//src:scrample", + "//showcases/cli:cli", + "//showcases/kyron:kyron_example", + "//showcases/orchestration_persistency:orch_per_example", + "@score_scrample//src:scrample" + ], + config_dir = "/etc/score", + data = [ + "//showcases/kyron:kyron.score.json", + "//showcases/orchestration_persistency:orch_per.score.json" + ], + data_dir = "/usr/share/score/examples", +) + +sh_binary( + name = "run", + srcs = ["//runners/docker_x86_64/scripts:run_docker.sh"], + env={ + "OCI_IMAGE": "quay.io/centos/centos:stream10" + }, + args = [ + "$(location :image)", + ], + data = [ + ":image", ], - config_dir = "/etc/lola", - # data = [ - # "@score_communication//score/mw/com/example/ipc_bridge:etc/mw_com_config.json", - # ], - data_dir = "/usr/share/lola/examples", - description = "LOLA middleware communication libraries for development including core communication, configuration components, and example client/server binaries for testing", - # libraries = [ - # "@score_communication//score/mw/com:com", - # "@score_communication//score/mw/com:config_schema", - # ], - summary = "LOLA Demo", - version = "1.0.0", ) diff --git a/integration/images/autosd_x86_64/build/image.aib.yml b/integration/images/autosd_x86_64/build/image.aib.yml index 0e673538c9..01ff154a4f 100644 --- a/integration/images/autosd_x86_64/build/image.aib.yml +++ b/integration/images/autosd_x86_64/build/image.aib.yml @@ -39,7 +39,7 @@ content: - bluechi-agent - bluechi-ctl # score - - lola-demo + - score-reference-integration make_dirs: - path: /etc/containers/systemd/qm.container.d @@ -101,7 +101,7 @@ qm: rpms: - boost-devel - bluechi-agent - - lola-demo + - score-reference-integration add_files: # lola service files - path: /etc/systemd/system/lola-ipc-sub.service diff --git a/integration/images/autosd_x86_64/build/scripts/run_qemu b/integration/images/autosd_x86_64/build/scripts/run_qemu index 039b242a86..bb7f65f739 100755 --- a/integration/images/autosd_x86_64/build/scripts/run_qemu +++ b/integration/images/autosd_x86_64/build/scripts/run_qemu @@ -24,4 +24,4 @@ -netdev user,id=n0,hostfwd=tcp::2222-:22 \ -daemonize \ -display none \ --drive file=disk.qcow2,index=0,media=disk,format=qcow2,if=virtio,id=rootdisk,snapshot=off +-drive file=_build/disk.qcow2,index=0,media=disk,format=qcow2,if=virtio,id=rootdisk,snapshot=off diff --git a/integration/runners/docker_x86_64/scripts/run_docker.sh b/integration/runners/docker_x86_64/scripts/run_docker.sh index a96b5f3109..3db33a2038 100755 --- a/integration/runners/docker_x86_64/scripts/run_docker.sh +++ b/integration/runners/docker_x86_64/scripts/run_docker.sh @@ -17,8 +17,11 @@ set -euo pipefail OVERLAY_TREE=$1 OVERLAY_ABS_PATH=$(realpath ${OVERLAY_TREE}) +OCI_IMAGE=${OCI_IMAGE:=ubuntu:22.04} + echo "Starting docker with overlay image: ${OVERLAY_ABS_PATH}" + docker run --rm -it \ -v "${OVERLAY_ABS_PATH}:/showcases" \ - ubuntu:22.04 \ + ${OCI_IMAGE} \ bash -c "/showcases/bin/cli; exec bash" diff --git a/integration/score_starter b/integration/score_starter index 91779a779d..c1d02d6716 100755 --- a/integration/score_starter +++ b/integration/score_starter @@ -13,8 +13,8 @@ mEntries = [ ("Run Linux x86_64 Docker", "bazel --output_user_root=build/linux-x86_64 run --config linux-x86_64 //images/linux_x86_64:run", "linux-x86_64"), ("Run Elektrobit Corbos aarch64 QEMU", "bazel --output_user_root=build/eb-aarch64 build --config eb-aarch64 //images/ebclfsa_aarch64/scrample_integration:run", "eb-aarch64"), - ("Build Autosd x86_64 RPM", - "bazel --output_user_root=build/autosd-x86_64 build --config autosd-x86_64 //images/autosd_x86_64:lola-demo", "autosd-x86_64"), + ("Run Autosd x86_64 QEMU", + "bazel --output_user_root=build/autosd-x86_64 build --config autosd-x86_64 //images/autosd_x86_64:image", "autosd-x86_64"), ("Exit", "exit 0", "exit"), ] diff --git a/integration/showcases/kyron/BUILD b/integration/showcases/kyron/BUILD index 8cf41fc43e..a39af18d5b 100644 --- a/integration/showcases/kyron/BUILD +++ b/integration/showcases/kyron/BUILD @@ -1,6 +1,8 @@ load("@rules_rust//rust:defs.bzl", "rust_binary") load("//bazel_common:bundlers.bzl", "score_pkg_bundle") +exports_files(["kyron.score.json"]) + rust_binary( name = "kyron_example", srcs = ["main.rs"], diff --git a/integration/showcases/orchestration_persistency/BUILD b/integration/showcases/orchestration_persistency/BUILD index 16abb3ed3e..5343c8808e 100644 --- a/integration/showcases/orchestration_persistency/BUILD +++ b/integration/showcases/orchestration_persistency/BUILD @@ -14,6 +14,8 @@ load("@rules_rust//rust:defs.bzl", "rust_binary") load("//bazel_common:bundlers.bzl", "score_pkg_bundle") +exports_files(["orch_per.score.json"]) + rust_binary( name = "orch_per_example", srcs = ["main.rs"],