From c57b28a2482df45db01ed80611fd89027e22ba34 Mon Sep 17 00:00:00 2001 From: Leonardo Rossetti Date: Tue, 28 Apr 2026 08:20:21 -0300 Subject: [PATCH] autosd builds using bootc Signed-off-by: Leonardo Rossetti --- .bazelrc | 1 - .github/workflows/build_and_test_autosd.yml | 95 ++++--- MODULE.bazel.lock | 260 ++++++++++-------- bazel_common/score_basic_bazel.MODULE.bazel | 17 +- .../score_gcc_toolchains.MODULE.bazel | 4 +- bazel_common/score_images.MODULE.bazel | 24 +- images/{autosd_x86_64 => autosd}/BUILD.bazel | 26 +- .../build => autosd}/scripts/run_qemu | 6 +- images/autosd_x86_64/build/.gitignore | 11 - images/autosd_x86_64/build/README.md | 96 ------- .../build/files/bluechi-agent-main.conf | 15 - .../build/files/bluechi-agent-qm.conf | 15 - .../build/files/bluechi-controller.conf | 26 -- .../build/files/lola-ipc-pub.service | 26 -- .../build/files/lola-ipc-sub.service | 26 -- .../autosd_x86_64/build/files/lola-ipc-test | 40 --- .../build/files/lola-ipc-test.service | 21 -- .../files/reference_integration/.gitkeep | 0 images/autosd_x86_64/build/image.aib.yml | 135 --------- images/autosd_x86_64/build/vars-devel.yml | 13 - images/autosd_x86_64/build/vars.yml | 13 - 21 files changed, 245 insertions(+), 625 deletions(-) rename images/{autosd_x86_64 => autosd}/BUILD.bazel (75%) rename images/{autosd_x86_64/build => autosd}/scripts/run_qemu (85%) delete mode 100644 images/autosd_x86_64/build/.gitignore delete mode 100644 images/autosd_x86_64/build/README.md delete mode 100644 images/autosd_x86_64/build/files/bluechi-agent-main.conf delete mode 100644 images/autosd_x86_64/build/files/bluechi-agent-qm.conf delete mode 100644 images/autosd_x86_64/build/files/bluechi-controller.conf delete mode 100644 images/autosd_x86_64/build/files/lola-ipc-pub.service delete mode 100644 images/autosd_x86_64/build/files/lola-ipc-sub.service delete mode 100755 images/autosd_x86_64/build/files/lola-ipc-test delete mode 100644 images/autosd_x86_64/build/files/lola-ipc-test.service delete mode 100644 images/autosd_x86_64/build/files/reference_integration/.gitkeep delete mode 100644 images/autosd_x86_64/build/image.aib.yml delete mode 100644 images/autosd_x86_64/build/vars-devel.yml delete mode 100644 images/autosd_x86_64/build/vars.yml diff --git a/.bazelrc b/.bazelrc index 23a7658adc..05a6f5ba36 100644 --- a/.bazelrc +++ b/.bazelrc @@ -54,7 +54,6 @@ build:autosd-x86_64 --config=_common build:autosd-x86_64 --force_pic build:autosd-x86_64 --platforms=@score_bazel_platforms//:x86_64-linux-autosd10 build:autosd-x86_64 --extra_toolchains=@score_autosd10_x86_64_toolchain//:x86_64-linux-autosd10 -build:autosd-x86_64 --extra_toolchains=@rules_rpm//toolchain:linux_x86_64 # Ferrocene Rust coverage config build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Cinstrument-coverage diff --git a/.github/workflows/build_and_test_autosd.yml b/.github/workflows/build_and_test_autosd.yml index 293b8eb21e..1eecce4683 100644 --- a/.github/workflows/build_and_test_autosd.yml +++ b/.github/workflows/build_and_test_autosd.yml @@ -25,11 +25,18 @@ concurrency: cancel-in-progress: ${{ github.ref_name != 'main' && !startsWith(github.ref_name, 'release/') }} jobs: build: - name: x86_64 - runs-on: ubuntu-latest + 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/main/auto-image-builder.sh?ref_type=heads - AIB_CONTAINER_IMAGE: quay.io/centos-sig-automotive/automotive-image-builder:latest + 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 @@ -42,42 +49,39 @@ jobs: 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 - - name: Build Showcases - run: | - bazel build --lockfile_mode=error --config autosd-x86_64 //images/autosd_x86_64:score-showcases - - name: Copy showcases folder - run: | - set -e - ls ./bazel-bin/showcases/showcases/showcases - cp -R ./bazel-bin/showcases/showcases/showcases ./images/autosd_x86_64/build/files/reference_integration/ - - name: Install AIB Tools + sudo apt-get install -y podman curl qemu-system createrepo-c tree + - name: Build and Export Showcases OCI Image run: | - curl -o auto-image-builder.sh "$AIB_SCRIPT_URL" - chmod +x auto-image-builder.sh - working-directory: ./images/autosd_x86_64/build - - name: Build AutoSD QEMU (x86_64) - run: | - export AIB_LOCAL_CONTAINER_STORAGE=$PWD/_build/containers-storage + bazel run --announce_rc --lockfile_mode=error --config autosd-${{ matrix.platform }} //images/autosd:image_load - mkdir -p _build/containers-storage - sudo -E ./auto-image-builder.sh -c $AIB_CONTAINER_IMAGE build-builder --distro=autosd10-sig + 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 -E ./auto-image-builder.sh -c $AIB_CONTAINER_IMAGE --verbose build \ - --distro=autosd10-sig \ - --target=qemu \ - --define-file vars.yml \ - --define-file vars-devel.yml \ - image.aib.yml \ - localhost/score:latest + sudo chown -R $(id -u):$(id -u) images/autosd/ - sudo -E ./auto-image-builder.sh -c $AIB_CONTAINER_IMAGE --verbose to-disk-image localhost/score:latest _build/disk.qcow2 + 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 - sudo chown $(id -u):$(id -u) _build/disk.qcow2 - working-directory: ./images/autosd_x86_64/build + 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 @@ -86,17 +90,28 @@ jobs: - name: Test QEMU image run: | sshcmd() { - sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2222 root@localhost $@ + 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 \ + $@ } - ./scripts/run_qemu + QEMU_ARCH=${{ matrix.platform }} ./scripts/run_qemu sshcmd 'cat /etc/os-release' - working-directory: ./images/autosd_x86_64/build + 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 - - name: Archive QEMU disk image (x86_64) - uses: actions/upload-artifact@v4 - with: - name: autosd10-score-reference_integration-x86_64.qcow2 - path: images/autosd_x86_64/build/_build/disk.qcow2 diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index a147c37387..e8bede55e6 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -86,6 +86,8 @@ "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", + "https://bcr.bazel.build/modules/bazel_jar_jar/0.1.7/MODULE.bazel": "d2736a1dbfd8f72befc532823b5112f2597a28064ce4aac280c65bee7d8830a0", + "https://bcr.bazel.build/modules/bazel_jar_jar/0.1.7/source.json": "f894f62528821f749b8d57fb8fb737b13f6cfacde422c88019d4c48077ad0d96", "https://bcr.bazel.build/modules/bazel_lib/3.0.0-beta.1/MODULE.bazel": "407729e232f611c3270005b016b437005daa7b1505826798ea584169a476e878", "https://bcr.bazel.build/modules/bazel_lib/3.0.0-rc.0/MODULE.bazel": "d6e00979a98ac14ada5e31c8794708b41434d461e7e7ca39b59b765e6d233b18", "https://bcr.bazel.build/modules/bazel_lib/3.0.0/MODULE.bazel": "22b70b80ac89ad3f3772526cd9feee2fa412c2b01933fea7ed13238a448d370d", @@ -234,9 +236,11 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.36.0/source.json": "0823f097b127e0201ae55d85647c94095edfe27db0431a7ae880dcab08dfaa04", + "https://bcr.bazel.build/modules/gazelle/0.37.0/MODULE.bazel": "d1327ba0907d0275ed5103bfbbb13518f6c04955b402213319d0d6c0ce9839d4", + "https://bcr.bazel.build/modules/gazelle/0.37.0/source.json": "b3adc10e2394e7f63ea88fb1d622d4894bfe9ec6961c493ae9a887723ab16831", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/google_benchmark/1.8.4/MODULE.bazel": "c6d54a11dcf64ee63545f42561eda3fd94c1b5f5ebe1357011de63ae33739d5e", + "https://bcr.bazel.build/modules/google_benchmark/1.8.5/MODULE.bazel": "9ba9b31b984022828a950e3300410977eda2e35df35584c6b0b2d0c2e52766b7", "https://bcr.bazel.build/modules/google_benchmark/1.9.5/MODULE.bazel": "8a85cfd90b1e45e6e68f1aa2aa9efce3c04add57df732571d7fd54c07e7c5143", "https://bcr.bazel.build/modules/google_benchmark/1.9.5/source.json": "0bd357fd9db30ee31d5eb4c78b1086ce3d79b4423ce76de19e8a2fa7b2fa2e10", "https://bcr.bazel.build/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "a4b7e46393c1cdcc5a00e6f85524467c48c565256b22b5fae20f84ab4a999a68", @@ -252,7 +256,9 @@ "https://bcr.bazel.build/modules/googletest/1.17.0/MODULE.bazel": "dbec758171594a705933a29fcf69293d2468c49ec1f2ebca65c36f504d72df46", "https://bcr.bazel.build/modules/grpc-java/1.62.2/MODULE.bazel": "99b8771e8c7cacb130170fed2a10c9e8fed26334a93e73b42d2953250885a158", "https://bcr.bazel.build/modules/grpc-java/1.66.0/MODULE.bazel": "86ff26209fac846adb89db11f3714b3dc0090fb2fb81575673cc74880cda4e7e", - "https://bcr.bazel.build/modules/grpc-java/1.66.0/source.json": "f841b339ff8516c86c3a5272cd053194dd0cb2fdd63157123835e1157a28328d", + "https://bcr.bazel.build/modules/grpc-java/1.69.0/MODULE.bazel": "53887af6a00b3b406d70175d3d07e84ea9362016ff55ea90b9185f0227bfaf98", + "https://bcr.bazel.build/modules/grpc-java/1.78.0/MODULE.bazel": "48f790fbb95625245295df1283e0dba344a4e30b4a9a9cefbabfa92bd84f3691", + "https://bcr.bazel.build/modules/grpc-java/1.78.0/source.json": "36c3a83c5ddeb864d7a4b97801456c464077f80a8216354ac1a71f7ce8699771", "https://bcr.bazel.build/modules/grpc-proto/0.0.0-20240627-ec30f58/MODULE.bazel": "88de79051e668a04726e9ea94a481ec6f1692086735fd6f488ab908b3b909238", "https://bcr.bazel.build/modules/grpc-proto/0.0.0-20240627-ec30f58/source.json": "5035d379c61042930244ab59e750106d893ec440add92ec0df6a0098ca7f131d", "https://bcr.bazel.build/modules/grpc/1.41.0/MODULE.bazel": "5bcbfc2b274dabea628f0649dc50c90cf36543b1cfc31624832538644ad1aae8", @@ -260,6 +266,7 @@ "https://bcr.bazel.build/modules/grpc/1.62.1/MODULE.bazel": "2998211594b8a79a6b459c4e797cfa19f0fb8b3be3149760ec7b8c99abfd426f", "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.2/MODULE.bazel": "0fa2b0fd028ce354febf0fe90f1ed8fecfbfc33118cddd95ac0418cc283333a0", "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.3/MODULE.bazel": "f6047e89faf488f5e3e65cb2594c6f5e86992abec7487163ff6b623526e543b0", + "https://bcr.bazel.build/modules/grpc/1.69.0/MODULE.bazel": "4e26e05c9e1ef291ccbc96aad8e457b1b8abedbc141623831629da2f8168eef6", "https://bcr.bazel.build/modules/grpc/1.70.1/MODULE.bazel": "b800cd8e3e7555c1e61cba2e02d3a2fcf0e91f66e800db286d965d3b7a6a721a", "https://bcr.bazel.build/modules/grpc/1.70.1/source.json": "e2977ea6cf9f2755418934d4ae134a6569713dd200fd7aded86a4b7f1b86efc9", "https://bcr.bazel.build/modules/jq.bzl/0.1.0/MODULE.bazel": "2ce69b1af49952cd4121a9c3055faa679e748ce774c7f1fda9657f936cae902f", @@ -279,8 +286,9 @@ "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/MODULE.bazel": "02201d2921dadb4ec90c4980eca4b2a02904eddcf6fa02f3da7594fb7b0d821c", "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/source.json": "f50efc07822f5425bd1d3e40e977484f9c0142463052717d40ec85cd6744243e", + "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/MODULE.bazel": "789706a714855f92c5c8cfcf1ef32bbb64dcd3b7c9066756ad7986ec59709d29", + "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/source.json": "aadf3f53e08b72376506b7c4ea3d167010c9efb160d7d6e1e304ed646bac1b36", "https://bcr.bazel.build/modules/opencensus-proto/0.4.1/MODULE.bazel": "4a2e8b4d0b544002502474d611a5a183aa282251e14f6a01afe841c0c1b10372", - "https://bcr.bazel.build/modules/opencensus-proto/0.4.1/source.json": "a7d956700a85b833c43fc61455c0e111ab75bab40768ed17a206ee18a2bbe38f", "https://bcr.bazel.build/modules/opentelemetry-cpp/1.14.2/MODULE.bazel": "089a5613c2a159c7dfde098dabfc61e966889c7d6a81a98422a84c51535ed17d", "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/MODULE.bazel": "b7379a140f538cea3f749179a2d481ed81942cc6f7b05a6113723eb34ac3b3e7", "https://bcr.bazel.build/modules/opentelemetry-cpp/1.16.0/source.json": "da0cf667713b1e48d7f8912b100b4e0a8284c8a95717af5eb8c830d699e61cf5", @@ -309,6 +317,7 @@ "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", "https://bcr.bazel.build/modules/protobuf/23.1/MODULE.bazel": "88b393b3eb4101d18129e5db51847cd40a5517a53e81216144a8c32dfeeca52a", "https://bcr.bazel.build/modules/protobuf/24.4/MODULE.bazel": "7bc7ce5f2abf36b3b7b7c8218d3acdebb9426aeb35c2257c96445756f970eb12", + "https://bcr.bazel.build/modules/protobuf/25.6/MODULE.bazel": "fc0ae073b47c7ede88b825ff79e64f1c058967c7a87a86cdf4abecd9e0516625", "https://bcr.bazel.build/modules/protobuf/26.0.bcr.1/MODULE.bazel": "8f04d38c2da40a3715ff6bdce4d32c5981e6432557571482d43a62c31a24c2cf", "https://bcr.bazel.build/modules/protobuf/26.0.bcr.2/MODULE.bazel": "62e0b84ca727bdeb55a6fe1ef180e6b191bbe548a58305ea1426c158067be534", "https://bcr.bazel.build/modules/protobuf/26.0/MODULE.bazel": "8402da964092af40097f4a205eec2a33fd4a7748dc43632b7d1629bfd9a2b856", @@ -324,8 +333,9 @@ "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4.bcr.2/MODULE.bazel": "c4bd2c850211ff5b7dadf9d2d0496c1c922fdedc303c775b01dfd3b3efc907ed", - "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4.bcr.2/source.json": "4cc97f70b521890798058600a927ce4b0def8ee84ff2a5aa632aabcb4234aa0b", "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4/MODULE.bazel": "b8913c154b16177990f6126d2d2477d187f9ddc568e95ee3e2d50fc65d2c494a", + "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/MODULE.bazel": "4bf09676b62fa587ae07e073420a76ec8766dcce7545e5f8c68cfa8e484b5120", + "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/source.json": "c19071ebc4b53b5f1cfab9c66eefaf6e4179eb8a998970d07b1077687e777f29", "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34", "https://bcr.bazel.build/modules/pybind11_bazel/2.13.6/MODULE.bazel": "2d746fda559464b253b2b2e6073cb51643a2ac79009ca02100ebbc44b4548656", @@ -392,6 +402,7 @@ "https://bcr.bazel.build/modules/rules_java/5.5.0/MODULE.bazel": "486ad1aa15cdc881af632b4b1448b0136c76025a1fe1ad1b65c5899376b83a50", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", "https://bcr.bazel.build/modules/rules_java/6.3.0/MODULE.bazel": "a97c7678c19f236a956ad260d59c86e10a463badb7eb2eda787490f4c969b963", + "https://bcr.bazel.build/modules/rules_java/6.3.1/MODULE.bazel": "5a3471c8b84d53d58d5f6e316313680d7dd2c70afac696dbe14b761b0b5c6a06", "https://bcr.bazel.build/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6", "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", "https://bcr.bazel.build/modules/rules_java/7.0.6/MODULE.bazel": "6ddb07d9857a1a3accc9f6d005f20c969c4659c7710e6269a51db3527e0ea969", @@ -436,8 +447,6 @@ "https://bcr.bazel.build/modules/rules_nodejs/6.3.3/MODULE.bazel": "b66eadebd10f1f1b25f52f95ab5213a57e82c37c3f656fcd9a57ad04d2264ce7", "https://bcr.bazel.build/modules/rules_nodejs/6.5.2/MODULE.bazel": "7f9ea68a0ce6d82905ce9f74e76ab8a8b4531ed4c747018c9d76424ad0b3370d", "https://bcr.bazel.build/modules/rules_nodejs/6.5.2/source.json": "6a6ca0940914d55c550d1417cad13a56c9900e23f651a762d8ccc5a64adcf661", - "https://bcr.bazel.build/modules/rules_oci/2.3.0/MODULE.bazel": "49075197960c924c0a4d759b7c765c3d00a41d2fdd4a943b42823c1d016ab4ec", - "https://bcr.bazel.build/modules/rules_oci/2.3.0/source.json": "47710c28446211b5e61a24015a4669c50c6862d5f91e6bdbc710de8d750cf613", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", "https://bcr.bazel.build/modules/rules_pkg/1.1.0/MODULE.bazel": "9db8031e71b6ef32d1846106e10dd0ee2deac042bd9a2de22b4761b0c3036453", @@ -604,6 +613,7 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.4.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.9.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.9.1/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_jar_jar/0.1.7/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_lib/3.0.0-beta.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_lib/3.0.0-rc.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_lib/3.0.0/MODULE.bazel": "not found", @@ -694,8 +704,10 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.33.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.34.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.36.0/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.37.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.5/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.9.5/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20240819-fe8ba054a/MODULE.bazel": "not found", @@ -708,12 +720,15 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googletest/1.17.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc-java/1.62.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc-java/1.66.0/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc-java/1.69.0/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc-java/1.78.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc-proto/0.0.0-20240627-ec30f58/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.41.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.56.3.bcr.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.62.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.66.0.bcr.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.66.0.bcr.3/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.69.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/grpc/1.70.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/jq.bzl/0.1.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/jq.bzl/0.4.0/MODULE.bazel": "not found", @@ -726,6 +741,7 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/nlohmann_json/3.12.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/nlohmann_json/3.6.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opencensus-cpp/0.0.0-20230502-50eb5de/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opencensus-proto/0.4.1.bcr.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opencensus-proto/0.4.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-cpp/1.14.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/opentelemetry-cpp/1.16.0/MODULE.bazel": "not found", @@ -749,6 +765,7 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/21.7/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/23.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/24.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/25.6/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/26.0.bcr.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/26.0.bcr.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/26.0/MODULE.bazel": "not found", @@ -764,6 +781,7 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protobuf/3.19.6/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.0.4.bcr.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.0.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/protoc-gen-validate/1.2.1.bcr.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/pybind11_bazel/2.11.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/pybind11_bazel/2.12.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/pybind11_bazel/2.13.6/MODULE.bazel": "not found", @@ -820,6 +838,7 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/5.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/6.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/6.3.0/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/6.3.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/6.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/6.5.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.0.6/MODULE.bazel": "not found", @@ -857,7 +876,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.3.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.3.3/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.5.2/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_oci/2.3.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/0.7.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/1.0.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/1.1.0/MODULE.bazel": "not found", @@ -1459,6 +1477,127 @@ ] } }, + "@@bazel_jar_jar+//internal:non_module_deps.bzl%non_module_deps": { + "general": { + "bzlTransitiveDigest": "r/h5xwdmMWgz6zQLAhgSqRALuC2PllWuv7rbKW+srx8=", + "usagesDigest": "P1uSZ4XnqOp90Mkh0A4Nrjx12Bgz/iceROnSbTsawGk=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "jvm__jarjar_abrams_assembly": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", + "attributes": { + "urls": [ + "https://repo1.maven.org/maven2/com/eed3si9n/jarjarabrams/jarjar-abrams-assembly_2.12/1.14.0/jarjar-abrams-assembly_2.12-1.14.0.jar" + ], + "sha256": "75f86f7588136d6ca92d6fed8d58e6666e04c507b71de378527c053fd2a151c2" + } + }, + "jvm__com_twitter__scalding_args": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", + "attributes": { + "urls": [ + "https://repo1.maven.org/maven2/com/twitter/scalding-args_2.12/0.17.4/scalding-args_2.12-0.17.4.jar" + ], + "sha256": "e0de2ad8ef344bb11a2854275b5b85a1adb17f0e0ed9740177d940a602cd977b" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "bazel_features+", + "bazel_features_globals", + "bazel_features++version_extension+bazel_features_globals" + ], + [ + "bazel_features+", + "bazel_features_version", + "bazel_features++version_extension+bazel_features_version" + ], + [ + "bazel_jar_jar+", + "bazel_tools", + "bazel_tools" + ], + [ + "bazel_tools", + "rules_java", + "rules_java+" + ], + [ + "protobuf+", + "proto_bazel_features", + "bazel_features+" + ], + [ + "rules_cc+", + "bazel_skylib", + "bazel_skylib+" + ], + [ + "rules_cc+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_cc+", + "cc_compatibility_proxy", + "rules_cc++compatibility_proxy+cc_compatibility_proxy" + ], + [ + "rules_cc+", + "platforms", + "platforms" + ], + [ + "rules_cc+", + "rules_cc", + "rules_cc+" + ], + [ + "rules_cc++compatibility_proxy+cc_compatibility_proxy", + "rules_cc", + "rules_cc+" + ], + [ + "rules_java+", + "bazel_features", + "bazel_features+" + ], + [ + "rules_java+", + "bazel_skylib", + "bazel_skylib+" + ], + [ + "rules_java+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_java+", + "com_google_protobuf", + "protobuf+" + ], + [ + "rules_java+", + "compatibility_proxy", + "rules_java++compatibility_proxy+compatibility_proxy" + ], + [ + "rules_java+", + "rules_cc", + "rules_cc+" + ], + [ + "rules_java++compatibility_proxy+compatibility_proxy", + "rules_java", + "rules_java+" + ] + ] + } + }, "@@cel-spec+//:extensions.bzl%non_module_dependencies": { "general": { "bzlTransitiveDigest": "HJ0coYuNJK10my1jrB0u1DP0J7aCSCc/W6ZO2m2YgLI=", @@ -1714,7 +1853,7 @@ "@@googleapis+//:extensions.bzl%switched_rules": { "general": { "bzlTransitiveDigest": "vG6fuTzXD8MMvHWZEQud0MMH7eoC4GXY0va7VrFFh04=", - "usagesDigest": "e35GdW0O28c9b4JK+hvV9lFEKnEOewLjVV+trojfyk4=", + "usagesDigest": "GgS9fFQ+jq1T8XmP/+O39Kr+uPlDWkWIZFIy6ex93WA=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -1878,95 +2017,6 @@ "recordedRepoMappingEntries": [] } }, - "@@grpc+//bazel:grpc_deps.bzl%grpc_repo_deps_ext": { - "general": { - "bzlTransitiveDigest": "GbHDgwVPlaxzthAlwXLJg3En9/rJTwRoP55jkfIutKo=", - "usagesDigest": "7dDSXJVRfj7BLfa5iUZ+8xRMy3KmxOEyK9R6rHpmU6M=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "google_cloud_cpp": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "sha256": "e53ba3799c052d97acac9a6a6b27af24ce822dbde7bfde973bac9e5da714e6b2", - "strip_prefix": "google-cloud-cpp-2.33.0", - "urls": [ - "https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.33.0.tar.gz", - "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.33.0.tar.gz" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "grpc+", - "bazel_tools", - "bazel_tools" - ], - [ - "grpc+", - "com_github_grpc_grpc", - "grpc+" - ] - ] - } - }, - "@@grpc-java+//:repositories.bzl%grpc_java_repositories_extension": { - "general": { - "bzlTransitiveDigest": "t23er4sRJVComO8B6/OsxFvQU1OlXURvcojO8MbQviI=", - "usagesDigest": "Sa5QQaLepBN1KrxpoHFrKfnZPhhFIY8XIS4JoUpKC2s=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "com_github_cncf_xds": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "strip_prefix": "xds-e9ce68804cb4e64cab5a52e3c8baf840d4ff87b7", - "sha256": "0d33b83f8c6368954e72e7785539f0d272a8aba2f6e2e336ed15fd1514bc9899", - "urls": [ - "https://github.com/cncf/xds/archive/e9ce68804cb4e64cab5a52e3c8baf840d4ff87b7.tar.gz" - ] - } - }, - "io_grpc_grpc_proto": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "sha256": "729ac127a003836d539ed9da72a21e094aac4c4609e0481d6fc9e28a844e11af", - "strip_prefix": "grpc-proto-4f245d272a28a680606c0739753506880cf33b5f", - "urls": [ - "https://github.com/grpc/grpc-proto/archive/4f245d272a28a680606c0739753506880cf33b5f.zip" - ] - } - }, - "envoy_api": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "sha256": "c4c9c43903e413924b0cb08e9747f3c3a0727ad221a3c446a326db32def18c60", - "strip_prefix": "data-plane-api-1611a7304794e13efe2d26f8480a2d2473a528c5", - "urls": [ - "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/1611a7304794e13efe2d26f8480a2d2473a528c5.tar.gz", - "https://github.com/envoyproxy/data-plane-api/archive/1611a7304794e13efe2d26f8480a2d2473a528c5.tar.gz" - ], - "patch_args": [ - "-p1" - ], - "patches": [ - "@@grpc-java+//:buildscripts/data-plane-api-no-envoy.patch" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "grpc-java+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@os_autosd_toolchain+//autosd_10_gcc:extensions.bzl%autosd_10_gcc_extension": { "general": { "bzlTransitiveDigest": "q8IPfdy2EuBM6Vu7apobuLWsHXnMTmp4aAD6ESXr5rg=", @@ -2785,22 +2835,6 @@ ] } }, - "@@rules_rpm+//toolchain:extensions.bzl%rpm_toolchain": { - "general": { - "bzlTransitiveDigest": "sVM9H/0ylP/87FERTHeMVpdD/8K7C9NhONd5gVMMvM0=", - "usagesDigest": "xtpDMFWWytkgBirVnBRf1pnWtePsr0zNSusP+FbGGjI=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "rpm_toolchain": { - "repoRuleId": "@@rules_rpm+//toolchain:rpm_toolchain.bzl%rpm_toolchain_repo", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [] - } - }, "@@rules_rust+//crate_universe:extensions.bzl%crate": { "general": { "bzlTransitiveDigest": "QFw4rUOVVppN+YQbx7Cj8rV0vbbeUtQlXskUCAuKOw0=", diff --git a/bazel_common/score_basic_bazel.MODULE.bazel b/bazel_common/score_basic_bazel.MODULE.bazel index 24a9092147..33c6423c8e 100644 --- a/bazel_common/score_basic_bazel.MODULE.bazel +++ b/bazel_common/score_basic_bazel.MODULE.bazel @@ -15,13 +15,13 @@ bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "rules_shell", version = "0.6.0") bazel_dep(name = "rules_cc", version = "0.2.16") bazel_dep(name = "rules_pkg", version = "1.2.0") -bazel_dep(name = "rules_rpm", version = "0.1.0") -git_override( - module_name = "rules_rpm", - commit = "71324b1502db978001cc5c11a46fcb603b401ce6", - remote = "https://github.com/eclipse-score/inc_os_autosd.git", - strip_prefix = "toolchain/rpm", -) +# bazel_dep(name = "rules_rpm", version = "0.1.0") +# git_override( +# module_name = "rules_rpm", +# commit = "a78e559cf81754c199c926229dc6b4443e1ff149", +# remote = "https://github.com/eclipse-score/inc_os_autosd.git", +# strip_prefix = "toolchain/rpm", +# ) bazel_dep(name = "flatbuffers", version = "25.9.23") git_override( @@ -29,3 +29,6 @@ git_override( commit = "187240970746d00bbd26b0f5873ed54d2477f9f3", remote = "https://github.com/google/flatbuffers.git", ) + +# https://github.com/grpc/grpc-java/issues/12165 +bazel_dep(name = "grpc-java", version = "1.78.0") diff --git a/bazel_common/score_gcc_toolchains.MODULE.bazel b/bazel_common/score_gcc_toolchains.MODULE.bazel index 8c67b7f393..50958ddeb2 100644 --- a/bazel_common/score_gcc_toolchains.MODULE.bazel +++ b/bazel_common/score_gcc_toolchains.MODULE.bazel @@ -53,8 +53,8 @@ autosd_10_gcc = use_extension("@os_autosd_toolchain//autosd_10_gcc:extensions.bz use_repo(autosd_10_gcc, "autosd_10_gcc_repo") # Register the RPM toolchain -rpm_toolchain = use_extension("@rules_rpm//toolchain:extensions.bzl", "rpm_toolchain") -use_repo(rpm_toolchain, "rpm_toolchain") +# rpm_toolchain = use_extension("@rules_rpm//toolchain:extensions.bzl", "rpm_toolchain") +# use_repo(rpm_toolchain, "rpm_toolchain") use_repo( gcc, diff --git a/bazel_common/score_images.MODULE.bazel b/bazel_common/score_images.MODULE.bazel index a7a24d7f64..abc54d4e04 100644 --- a/bazel_common/score_images.MODULE.bazel +++ b/bazel_common/score_images.MODULE.bazel @@ -1,4 +1,9 @@ -bazel_dep(name = "rules_oci", version = "2.3.0") +bazel_dep(name = "rules_oci", version = "2.3.1") +git_override( + module_name = "rules_oci", + remote = "https://github.com/bazel-contrib/rules_oci.git", + tag = "v2.3.1", +) oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( @@ -9,14 +14,19 @@ oci.pull( tag = "22.04", ) oci.pull( - name = "centos_stream10", - digest = "sha256:01858c09da8f130c718c37673b83aaaf65c6493e66f4c674caffcffe9ed4c225", - image = "quay.io/centos/centos", + name = "eclipse_autosd10_qemu_amd64", + digest = "sha256:137551aa303c2f53a4423f06f805e546e07060ecac41b139f4f43c204787f713", + image = "ghcr.io/eclipse-autosd/eclipse-autosd-bootc-qemu", platforms = ["linux/amd64"], - tag = "stream10", + tag = "latest", +) +use_repo( + oci, + "eclipse_autosd10_qemu_amd64", + "eclipse_autosd10_qemu_amd64_linux_amd64", + "ubuntu_22_04", + "ubuntu_22_04_linux_amd64", ) -use_repo(oci, "centos_stream10", "centos_stream10_linux_amd64") -use_repo(oci, "ubuntu_22_04", "ubuntu_22_04_linux_amd64") http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") diff --git a/images/autosd_x86_64/BUILD.bazel b/images/autosd/BUILD.bazel similarity index 75% rename from images/autosd_x86_64/BUILD.bazel rename to images/autosd/BUILD.bazel index c447a161e5..391599e716 100644 --- a/images/autosd_x86_64/BUILD.bazel +++ b/images/autosd/BUILD.bazel @@ -1,5 +1,3 @@ -load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load") - # ******************************************************************************* # Copyright (c) 2024 Contributors to the Eclipse Foundation # @@ -12,18 +10,7 @@ load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load") # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_rpm//:defs.bzl", "rpm_package") - -rpm_package( - name = "score-showcases", - data = [ - "//showcases", - ], - data_dir = "/usr/share/score/examples", - description = "Eclipse S-CORE Reference Integration Showcases", - summary = "Eclipse S-CORE Reference Integration Showcases", - version = "0.6.0", -) +load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load") sh_binary( name = "run", @@ -39,9 +26,16 @@ sh_binary( }, ) -oci_image( +alias( name = "image", - base = "@centos_stream10_linux_amd64", + actual = select({ + "@platforms//cpu:x86_64": ":image_amd64", + }), +) + +oci_image( + name = "image_amd64", + base = "@eclipse_autosd10_qemu_amd64", tars = [ "//showcases:showcases_pkg_tar", ], diff --git a/images/autosd_x86_64/build/scripts/run_qemu b/images/autosd/scripts/run_qemu similarity index 85% rename from images/autosd_x86_64/build/scripts/run_qemu rename to images/autosd/scripts/run_qemu index bb7f65f739..c636114daa 100755 --- a/images/autosd_x86_64/build/scripts/run_qemu +++ b/images/autosd/scripts/run_qemu @@ -12,7 +12,9 @@ # ******************************************************************************* #!/bin/bash -/usr/bin/qemu-system-x86_64 \ +QEMU_ARCH=${QEMU_ARCH:=x86_64} + +/usr/bin/qemu-system-${QEMU_ARCH} \ -drive file=/usr/share/OVMF/OVMF_CODE_4M.fd,if=pflash,format=raw,unit=0,readonly=on \ -drive file=/usr/share/OVMF/OVMF_VARS_4M.fd,if=pflash,format=raw,unit=1,snapshot=on,readonly=off \ -enable-kvm \ @@ -24,4 +26,4 @@ -netdev user,id=n0,hostfwd=tcp::2222-:22 \ -daemonize \ -display none \ --drive file=_build/disk.qcow2,index=0,media=disk,format=qcow2,if=virtio,id=rootdisk,snapshot=off +-drive file=disk.qcow2,index=0,media=disk,format=qcow2,if=virtio,id=rootdisk,snapshot=off diff --git a/images/autosd_x86_64/build/.gitignore b/images/autosd_x86_64/build/.gitignore deleted file mode 100644 index b8ef0612db..0000000000 --- a/images/autosd_x86_64/build/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -_build/ -rpms/ -outputs/ -auto-image-builder.sh - -*.qcow2 -*.img - - -!files/reference_integration/.gitkeep -files/reference_integration diff --git a/images/autosd_x86_64/build/README.md b/images/autosd_x86_64/build/README.md deleted file mode 100644 index 744b67fe7a..0000000000 --- a/images/autosd_x86_64/build/README.md +++ /dev/null @@ -1,96 +0,0 @@ -AutoSD MCO LoLa Demo -==================== - -## Background and Basic Info - -This demo build an AutoSD image using [Automotive-Image-Builder](https://gitlab.com/CentOS/automotive/src/automotive-image-builder). -This image comes pre-populated with the S-core's [communication](https://github.com/eclipse-score/communication) project packaged as RPM in a [COPR](https://copr.fedorainfracloud.org/coprs/pingou/score-playground/) repository as well as the [QM](https://github.com/containers/qm) project. - -The image is pre-configured to allow the communication project to send and receive messages within the root partition but also between the root partition and the QM partition. - - -Some things to know about this demo: -- The RPM packaging, currently, doesn't rely on Bazel. This is something that is being fixed, but in the current stage it is not there yet. -- Baselibs and communication have had to get some patches, some of which have already been sent upstream: - - Missing headers: https://github.com/eclipse-score/communication/pull/64 - - Missing headers: https://github.com/eclipse-score/baselibs/pull/19 - - Compilation issues on newer GCC + support for Linux ARM64: https://github.com/eclipse-score/baselibs/pull/22 - - Fix dangling references and compiler warnings for newer GCC: https://github.com/eclipse-score/communication/pull/68 - - Fix Google benchmark main function scope: https://github.com/eclipse-score/communication/pull/67 -- Other changes have not yet been sent upstream: - - Add the ability to configure the path where communication opens the shared memory segments: https://github.com/eclipse-score/communication/commit/127a64f07f48e1d69783dc20f217da813115dbe6 (not the final version of this change) - -The goal of this last commit is to avoid having to mount the entire `/dev/shm` into the QM partition and instead mount just a subfolder: `/dev/shm/lola_qm`. - - -## Building It - -A linux system is required to build this image but Ubuntu -and an OCI compliant container manager (docker, podman) should be enough. - -Download the builder script: - -``` -$ curl -o auto-image-builder.sh \ - "https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/main/auto-image-builder.sh" -$ chmod +x automotive-image-builder -``` - -Build a qemu image by running: - -``` -sudo ./auto-image-builder.sh build \ ---define-file vars.yml \ ---define-file vars-devel.yml \ ---target qemu \ ---export qcow2 \ ---distro autosd10 lola-demo.aib.yml \ -autosd10-lola-x86_64.qcow2 -``` - -Change the image perms (if needed) since `sudo` was used: - -``` -sudo chown $(logname) autosd10-lola-x86_64.qcow2 -``` - -## Running/Testing the Demo - -You can run the qcow2 image with your qemu tool of choice and login into the image (either directly or over ssh) -with `root / password` (developer access defined by `vars-devel`). - -The image contains Systemd service defintions for LoLa, in both host and QM environemnts: - -- lola-ipc-sub.service -- lola-ipc-pub.service - -They can be used in the same environment or between them, to exemplify its mixed critical orchestration integration. - -For example, to run the publisher in the host environment while receiving messages in the QM one: - - -Start the subscriber in the QM partition: - -``` -# start the service -podman exec -it qm systemctl start lola-ipc-sub - -# check status -podman exec -it qm systemctl status lola-ipc-sub - -# get logs -podman exec -it qm journalctl -u lola-ipc-sub.service -``` - - -Start a publisher in the host environment: - -``` -systemctl start lola-ipc-pub -``` - -Check the QM process logs again with: - -``` -podman exec -it qm journalctl -u lola-ipc-sub.service -``` diff --git a/images/autosd_x86_64/build/files/bluechi-agent-main.conf b/images/autosd_x86_64/build/files/bluechi-agent-main.conf deleted file mode 100644 index 63a52a150c..0000000000 --- a/images/autosd_x86_64/build/files/bluechi-agent-main.conf +++ /dev/null @@ -1,15 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -[bluechi-agent] -NodeName=agent-main -ControllerAddress=unix:path=/run/bluechi/bluechi.sock diff --git a/images/autosd_x86_64/build/files/bluechi-agent-qm.conf b/images/autosd_x86_64/build/files/bluechi-agent-qm.conf deleted file mode 100644 index ec97e88021..0000000000 --- a/images/autosd_x86_64/build/files/bluechi-agent-qm.conf +++ /dev/null @@ -1,15 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -[bluechi-agent] -NodeName=agent-qm -ControllerAddress=unix:path=/run/bluechi/bluechi.sock diff --git a/images/autosd_x86_64/build/files/bluechi-controller.conf b/images/autosd_x86_64/build/files/bluechi-controller.conf deleted file mode 100644 index de800486c7..0000000000 --- a/images/autosd_x86_64/build/files/bluechi-controller.conf +++ /dev/null @@ -1,26 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -[bluechi-controller] -ControllerPort=2020 -UseTCP=true -UseUDS=true -LogLevel=DEBUG -AllowedNodeNames=agent-main,agent-qm - -[node agent-main] -Allowed=true -AllowDependenciesOn=agent-main,agent-qm - -[node agent-qm] -Allowed=true -AllowDependenciesOn=agent-main,agent-qm diff --git a/images/autosd_x86_64/build/files/lola-ipc-pub.service b/images/autosd_x86_64/build/files/lola-ipc-pub.service deleted file mode 100644 index 8fe536b493..0000000000 --- a/images/autosd_x86_64/build/files/lola-ipc-pub.service +++ /dev/null @@ -1,26 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -[Unit] -Description=LoLa IPC Publisher -After=network.target - -[Service] -Type=simple -WorkingDirectory=/usr/share/lola/examples -ExecStart=/usr/bin/ipc_bridge_cpp --mode skeleton --num-cycles 5 --cycle-time 1000 --service_instance_manifest mw_com_config.json -Restart=on-failure -RestartSec=5 -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/images/autosd_x86_64/build/files/lola-ipc-sub.service b/images/autosd_x86_64/build/files/lola-ipc-sub.service deleted file mode 100644 index d1a108ec78..0000000000 --- a/images/autosd_x86_64/build/files/lola-ipc-sub.service +++ /dev/null @@ -1,26 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -[Unit] -Requires=bluechi-proxy@agent-main_lola-ipc-pub.service -Description=LoLa IPC Subscriber -After=network.target - -[Service] -WorkingDirectory=/usr/share/lola/examples -ExecStart=/usr/bin/ipc_bridge_cpp --mode proxy --num-cycles 5 --cycle-time 1000 --service_instance_manifest mw_com_config.json -Restart=on-failure -RestartSec=5 -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/images/autosd_x86_64/build/files/lola-ipc-test b/images/autosd_x86_64/build/files/lola-ipc-test deleted file mode 100755 index 6ec3e45772..0000000000 --- a/images/autosd_x86_64/build/files/lola-ipc-test +++ /dev/null @@ -1,40 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -#!/bin/bash -set -e - -BOOTSTRAP=${1:-false} -BOOSTRAP=$(echo "${BOOTSTRAP}" | tr '[:upper:]' '[:lower:]') - -if [[ "${BOOTSTRAP}" == "true" ]]; then - podman exec -it qm systemctl start lola-ipc-sub.service - systemctl start lola-ipc-pub.service - - sleep 60 -fi - -# check publisher logs -journalctl -u lola-ipc-pub | cat | grep -qE 'Sending sample: [0-9]+' -if [ "$?" -ne "0" ]; then - echo Could not match 'Sending sample: [0-9]+' from lola-ipc-pub.service logs. - exit $? -fi - -# check subscriber logs -podman exec -it qm journalctl -u lola-ipc-sub.service | cat | grep -qE 'Received sample: [0-9]+' -if [ "$?" -ne "0" ]; then - echo Could not match 'Received sample: [0-9]+' from lola-ipc-sub.service logs - exit $? -fi - -exit 0 diff --git a/images/autosd_x86_64/build/files/lola-ipc-test.service b/images/autosd_x86_64/build/files/lola-ipc-test.service deleted file mode 100644 index 428a8b19ce..0000000000 --- a/images/autosd_x86_64/build/files/lola-ipc-test.service +++ /dev/null @@ -1,21 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -[Unit] -Requires=bluechi-proxy@agent-qm_lola-ipc-sub.service -Requires=bluechi-proxy@agent-main_lola-ipc-pub.service -After=proxy@agent-main_lola-ipc-pub.service - -[Service] -Type=oneshot -ExecStart=/bin/bash /usr/bin/lola-ipc-test -RemainAfterExit=yes diff --git a/images/autosd_x86_64/build/files/reference_integration/.gitkeep b/images/autosd_x86_64/build/files/reference_integration/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/images/autosd_x86_64/build/image.aib.yml b/images/autosd_x86_64/build/image.aib.yml deleted file mode 100644 index 85ab0496e9..0000000000 --- a/images/autosd_x86_64/build/image.aib.yml +++ /dev/null @@ -1,135 +0,0 @@ -# ******************************************************************************* -# 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: score-autosd -image: - selinux_mode: permissive -content: - enable_repos: - - devel - repos: - - id: epel - baseurl: https://dl.fedoraproject.org/pub/epel/10/Everything/$arch/ - rpms: - # For testing the image only: - - openssh-server - - openssh-clients - # bluechi packages - - bluechi-selinux - - bluechi-controller - - bluechi-agent - - bluechi-ctl - make_dirs: - - path: /etc/containers/systemd/qm.container.d - mode: 0755 - parents: true - exist_ok: true - - path: /usr/share/score/examples - mode: 0755 - parents: true - exist_ok: true - # Configure shared socket directory via tmpfiles - add_files: - - path: /usr/lib/tmpfiles.d/lola_disc.conf - text: | - # Lola service discovery folder - D! /tmp/mw_com_lola 0755 root root - - path: /etc/containers/systemd/qm.container.d/10-lola-ipc.conf - text: | - # Mount shared IPC directory for lola - [Container] - Volume=/dev/shm:/dev/shm - Volume=/tmp/mw_com_lola:/tmp/mw_com_lola - - path: /etc/containers/systemd/qm.container.d/11-bluechi-socket.conf - text: | - [Container] - Volume=/run/bluechi:/run/bluechi - # bluechi files - - path: /etc/bluechi/controller.conf.d/0-main.conf - source_path: files/bluechi-controller.conf - - path: /etc/bluechi/agent.conf.d/0-main.conf - source_path: files/bluechi-agent-main.conf - # lola service files - - path: /etc/systemd/system/lola-ipc-pub.service - source_path: files/lola-ipc-pub.service - # lola test script - - path: /usr/bin/lola-ipc-test - source_path: files/lola-ipc-test - # showcases - - path: /usr/share/score/examples - source_glob: "files/reference_integration/**/*" - preserve_path: true - max_files: 50 - chmod_files: - - path: /usr/bin/lola-ipc-test - mode: "0755" - # the following is a workaround because copied files lost their permissions - - path: /usr/share/score/examples/showcases/bin/cli - mode: "0755" - recursive: true - - path: /usr/share/score/examples/showcases/bin/control_daemon - mode: "0755" - recursive: true - - path: /usr/share/score/examples/showcases/bin/cpp_supervised_app - mode: "0755" - recursive: true - - path: /usr/share/score/examples/showcases/bin/ipc_bridge_cpp - mode: "0755" - recursive: true - - path: /usr/share/score/examples/showcases/bin/launch_manager - mode: "0755" - recursive: true - - path: /usr/share/score/examples/showcases/bin/lifecycle_signal.sh - mode: "0755" - recursive: true - - path: /usr/share/score/examples/showcases/bin/orch_per_example - mode: "0755" - recursive: true - - path: /usr/share/score/examples/showcases/bin/rust_supervised_app - mode: "0755" - recursive: true - # Required for testing the image only: - systemd: - enabled_services: - # Enable ssh daemon - - sshd.service - # bluechi services - - bluechi-controller.service - - bluechi-agent.service -qm: - memory_limit: - max: infinity - high: infinity - content: - enable_repos: - - devel - repos: - - id: epel - baseurl: https://dl.fedoraproject.org/pub/epel/10/Everything/$arch/ - rpms: - - bluechi-agent - add_files: - # lola service files - - path: /etc/systemd/system/lola-ipc-sub.service - source_path: files/lola-ipc-sub.service - # bluechi files - - path: /etc/bluechi/agent.conf.d/0-qm.conf - source_path: files/bluechi-agent-qm.conf - systemd: - enabled_services: - - bluechi-agent -auth: - # Required for testing the image only: - sshd_config: - PasswordAuthentication: true - PermitRootLogin: true diff --git a/images/autosd_x86_64/build/vars-devel.yml b/images/autosd_x86_64/build/vars-devel.yml deleted file mode 100644 index 66dbb6d410..0000000000 --- a/images/autosd_x86_64/build/vars-devel.yml +++ /dev/null @@ -1,13 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -root_password: $6$xoLqEUz0cGGJRx01$H3H/bFm0myJPULNMtbSsOFd/2BnHqHkMD92Sfxd.EKM9hXTWSmELG8cf205l6dktomuTcgKGGtGDgtvHVXSWU. diff --git a/images/autosd_x86_64/build/vars.yml b/images/autosd_x86_64/build/vars.yml deleted file mode 100644 index 5f3c012108..0000000000 --- a/images/autosd_x86_64/build/vars.yml +++ /dev/null @@ -1,13 +0,0 @@ -# ******************************************************************************* -# 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 -# ******************************************************************************* -disable_ipv6: false