From 84f8ae0b012acda2bd9ca77550d88edda06e2b67 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 01:15:36 +0100 Subject: [PATCH 001/443] RHEL docker workflow, which pushes and fetches from GitHub registry. --- .github/workflows/rpm-builder.yml | 136 ++++++++++++++++++ ...lefish-base.cuttlefish-host-resources.init | 17 ++- base/rhel/cuttlefish.service | 15 ++ docker/rpm-builder/Dockerfile | 38 +++++ docker/rpm-builder/buildscript.sh | 9 ++ tools/buildutils/build_packages.sh | 32 ++++- tools/rpmbuild/.gitignore | 2 + tools/rpmbuild/BUILD/.gitkeep | 0 tools/rpmbuild/BUILDROOT/.gitkeep | 0 tools/rpmbuild/RPMS/.gitkeep | 0 tools/rpmbuild/SPECS/cuttlefish_base.spec | 114 +++++++++++++++ .../SPECS/cuttlefish_integration.spec | 67 +++++++++ .../SPECS/cuttlefish_orchestration.spec | 88 ++++++++++++ tools/rpmbuild/SPECS/cuttlefish_user.spec | 93 ++++++++++++ tools/rpmbuild/SRPMS/.gitkeep | 0 15 files changed, 603 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/rpm-builder.yml create mode 100644 base/rhel/cuttlefish.service create mode 100644 docker/rpm-builder/Dockerfile create mode 100644 docker/rpm-builder/buildscript.sh create mode 100644 tools/rpmbuild/.gitignore create mode 100644 tools/rpmbuild/BUILD/.gitkeep create mode 100644 tools/rpmbuild/BUILDROOT/.gitkeep create mode 100644 tools/rpmbuild/RPMS/.gitkeep create mode 100644 tools/rpmbuild/SPECS/cuttlefish_base.spec create mode 100644 tools/rpmbuild/SPECS/cuttlefish_integration.spec create mode 100644 tools/rpmbuild/SPECS/cuttlefish_orchestration.spec create mode 100644 tools/rpmbuild/SPECS/cuttlefish_user.spec create mode 100644 tools/rpmbuild/SRPMS/.gitkeep diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml new file mode 100644 index 00000000000..2fedd360b81 --- /dev/null +++ b/.github/workflows/rpm-builder.yml @@ -0,0 +1,136 @@ +name: RPM Builder + +on: + push: + enable_docker_cache: + required: true + type: boolean + default: true + workflow_call: + inputs: + enable_docker_cache: + required: false + type: boolean + default: false + +env: + DOCKER_REGISTRY: ghcr.io + DOCKER_IMAGE: ${{ GITHUB.ACTOR }}/rpm-builder + +jobs: + # /root/.cache/bazel + build-docker-image: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + attestations: write + id-token: write + + steps: + + # https://github.com/actions/checkout + - name: Get latest code + uses: actions/checkout@v4 + + - name: Setup Buildx + id: buildx + if: ${{ inputs.enable_docker_cache }} + uses: 'docker/setup-buildx-action@v3' + with: + driver: 'docker-container' + driver-opts: 'image=moby/buildkit:master,network=host' + + # https://github.com/docker/login-action + - name: Log in to the Container registry + uses: 'docker/login-action@v3' + with: + registry: ${{ ENV.DOCKER_REGISTRY }} + username: ${{ GITHUB.ACTOR }} + password: ${{ SECRETS.GITHUB_TOKEN }} + + # https://github.com/docker/metadata-action + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: 'docker/metadata-action@v5' + with: + images: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} + tags: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + + # https://github.com/marketplace/actions/build-and-push-docker-images + - name: Build and push Docker image + if: ${{ !inputs.enable_docker_cache }} + id: push-image + uses: 'docker/build-push-action@v6' + with: + context: . + # cache-from: type=gha + # cache-to: type=gha,mode=max + file: docker/rpm-builder/Dockerfile + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + platforms: linux/amd64 + + - name: Build and push Docker images with cache + if: ${{ inputs.enable_docker_cache }} + id: push-image-cached + uses: 'docker/build-push-action@v6' + with: + context: . + cache-from: type=gha + cache-to: type=gha,mode=max + file: docker/rpm-builder/Dockerfile + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + platforms: linux/amd64 + + # https://github.com/actions/attest-build-provenance + - name: Generate artifact attestation + uses: 'actions/attest-build-provenance@v2' + with: + subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true + + build-rpm-specs: + needs: build-docker-image + runs-on: ubuntu-latest + + # https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container#example-defining-credentials-for-a-container-registry + container: + image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' + ports: [80, 8443] + credentials: + username: ${{ GITHUB.ACTOR }} + password: ${{ SECRETS.GITHUB_TOKEN }} + + steps: + + - name: Check for dockerenv file + run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) + + - name: Check for dockerenv file + run: /home/runner/buildscript.sh + + # https://github.com/actions/upload-artifact + - name: Retain Artifacts (*.rpm) + id: retain-rpm + uses: 'actions/upload-artifact@v4' + with: + name: android-cuttlefish-rpm + path: | + ./tools/rpmbuild/RPMS/*.rpm + retention-days: 14 + + # https://github.com/actions/upload-artifact + - name: Retain Artifacts (*.srpm) + id: retain-srpm + uses: 'actions/upload-artifact@v4' + with: + name: android-cuttlefish-srpm + path: | + ./tools/rpmbuild/SRPMS/*.srpm + retention-days: 14 diff --git a/base/debian/cuttlefish-base.cuttlefish-host-resources.init b/base/debian/cuttlefish-base.cuttlefish-host-resources.init index 6956fceff2c..4080aac444f 100755 --- a/base/debian/cuttlefish-base.cuttlefish-host-resources.init +++ b/base/debian/cuttlefish-base.cuttlefish-host-resources.init @@ -28,6 +28,16 @@ # Make sure calls to this script get redirected to systemctl when # using systemd +### BEGIN INIT INFO +# Provides: cuttlefish-host-resources +# Required-Start: $syslog +# Required-Stop: $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start daemon at boot time +# Description: Enable service provided by daemon. +### END INIT INFO + # some system may not support bridge type by default modprobe bridge @@ -359,7 +369,12 @@ case "$1" in # Nothing to do; we reread configuration on each invocation ;; status) - rh_status + # command `rh_status` may not be available. + if command -v rh_status > /dev/null ; then + rh_status + else + systemctl status cuttlefish.service + fi ;; shutdown) stop diff --git a/base/rhel/cuttlefish.service b/base/rhel/cuttlefish.service new file mode 100644 index 00000000000..e4434668361 --- /dev/null +++ b/base/rhel/cuttlefish.service @@ -0,0 +1,15 @@ +[Unit] +Description=Cuttlefish Host Resources +After=syslog.target network.target +Requires=libvirtd.service +StartLimitIntervalSec=0 + +[Service] +Type=simple +Restart=always +RestartSec=1 +ExecStart=/etc/rc.d/init.d/cuttlefish-host-resources start + +[Install] +WantedBy=multi-user.target + diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile new file mode 100644 index 00000000000..2d7374adf95 --- /dev/null +++ b/docker/rpm-builder/Dockerfile @@ -0,0 +1,38 @@ +# Dockerfile for building RPM packages. +# https://hub.docker.com/_/rockylinux +# source ~/.bash_profile +FROM rockylinux/rockylinux:9.5 AS builder +ARG BAZEL_VERSION=7.6.0 +EXPOSE 80/tcp 8443/tcp +VOLUME "/home/runner" + +LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ +org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ +org.opencontainers.image.title="RPM Builder" \ +org.opencontainers.image.description="RPM builder image based on Rocky Linux" \ +org.opencontainers.image.authors="Martin Zeitler" \ +org.opencontainers.image.vendor="Google" \ +org.opencontainers.image.version="latest" \ +org.opencontainers.image.licenses="MIT" + +# Build and runtime dependencies. +# RUN dnf -y swap curl-minimal curl-full +# RUN dnf -y swap coreutils-single coreutils +# RUN dnf -y install dpkg-dev devscripts vim-enhanced +# RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch +RUN dnf -y upgrade && dnf -y install sudo rpm-build git nginx golang-bin curl-devel qemu-kvm \ +systemd-journal-remote protobuf-devel protobuf-compiler --enablerepo crb && \ +dnf list installed && dnf clean all + +# Install `bazelisk`. +RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ +echo "export GOPATH=${HOME}/go" >> ~/.bashrc && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bashrc && \ +source ~/.bashrc && go install github.com/bazelbuild/bazelisk@latest +# RUN $GOPATH/bin/bazelisk version + +RUN adduser runner + +# Entrypoint Script. +COPY ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh +# ENTRYPOINT [ "/buildscript.sh" ] + diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh new file mode 100644 index 00000000000..9cc5b26adcc --- /dev/null +++ b/docker/rpm-builder/buildscript.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +cd /root || exit +# git clone git@github.com:syslogic/android-cuttlefish.git +git clone https://github.com/syslogic/android-cuttlefish.git +cd android-cuttlefish || exit +git switch rpm-workflow + +./tools/buildutils/build_packages.sh diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index ddf4f8427d4..f5fa3ec79dc 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -1,7 +1,9 @@ -#!/usr/bin/env bash +#!/bin/bash set -e -x +REPO_DIR="$(realpath "$(dirname "$0")/../..")" + function install_debuild_dependencies() { echo "Installing debuild dependencies" sudo apt-get update @@ -22,11 +24,27 @@ function build_package() { popd } -REPO_DIR="$(realpath "$(dirname "$0")/../..")" -INSTALL_BAZEL="$(dirname $0)/installbazel.sh" +function build_spec() { + local specfile="${REPO_DIR}/tools/rpmbuild/SPECS/$1" + echo "Installing package dependencies" + sudo dnf builddep --skip-unavailable $specfile + echo "Building packages" + rpmbuild --define "_topdir `pwd`/tools/rpmbuild" -v -ba $specfile +} -command -v bazel &> /dev/null || sudo "${INSTALL_BAZEL}" -install_debuild_dependencies +if [[ -f /bin/dnf ]]; then + build_spec cuttlefish_base.spec + build_spec cuttlefish_user.spec + build_spec cuttlefish_integration.spec + build_spec cuttlefish_orchestration.spec + exit 0 +else + INSTALL_BAZEL="$(dirname $0)/installbazel.sh" + command -v bazel &> /dev/null || sudo "${INSTALL_BAZEL}" + install_debuild_dependencies + build_package "${REPO_DIR}/base" + build_package "${REPO_DIR}/frontend" + exit 0 +fi +exit 1 -build_package "${REPO_DIR}/base" -build_package "${REPO_DIR}/frontend" diff --git a/tools/rpmbuild/.gitignore b/tools/rpmbuild/.gitignore new file mode 100644 index 00000000000..3a195fe6650 --- /dev/null +++ b/tools/rpmbuild/.gitignore @@ -0,0 +1,2 @@ +*.srpm +*.rpm diff --git a/tools/rpmbuild/BUILD/.gitkeep b/tools/rpmbuild/BUILD/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tools/rpmbuild/BUILDROOT/.gitkeep b/tools/rpmbuild/BUILDROOT/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tools/rpmbuild/RPMS/.gitkeep b/tools/rpmbuild/RPMS/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tools/rpmbuild/SPECS/cuttlefish_base.spec b/tools/rpmbuild/SPECS/cuttlefish_base.spec new file mode 100644 index 00000000000..3b914d4b052 --- /dev/null +++ b/tools/rpmbuild/SPECS/cuttlefish_base.spec @@ -0,0 +1,114 @@ +Name: cuttlefish-base +Version: 0.9.29 +Release: 1%{?dist} +Summary: Cuttlefish Android Virtual Device + +License: Apache License 2.0 +URL: https://github.com/google/android-cuttlefish + +BuildArch: x86_64 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: curl-devel, openssl-devel, protobuf-devel, protobuf-compiler + +Requires: shadow-utils, redhat-lsb-core, ebtables-legacy, iproute +Requires: iptables-legacy, bridge-utils, dnsmasq, libfdt, e2fsprogs, ebtables, iptables, bsdtar +Requires: libcurl, libdrm, mesa-libGL, libusb, libXext, net-tools, openssl, python3, util-linux +Requires: curl >= 7.63.0, glibc >= 2.34, libgcc >= 3.0, libstdc++ >= 11 +Requires: fmt-devel, gflags-devel, jsoncpp-devel, protobuf-devel, openssl-devel, libxml2-devel +#Requires: f2fs-tools, libx11-6, libz3-4 +# libwayland-client0, libwayland-server0 +Requires: wayland-utils + + +%description +Cuttlefish Android Virtual Device +Contains set of tools and binaries required to boot up and manage +Cuttlefish Android Virtual Device that are used in all deployments. + +%prep +%define workdir `pwd` + + +%build +cd ../../../base/cvd +bazel build cuttlefish:cvd --spawn_strategy=local + + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p %{buildroot}/usr/bin +mkdir -p %{buildroot}/usr/lib/cuttlefish-common/bin +mkdir -p %{buildroot}/etc/default +mkdir -p %{buildroot}/etc/rc.d/init.d +mkdir -p %{buildroot}/etc/NetworkManager/conf.d +mkdir -p %{buildroot}/etc/modules-load.d +mkdir -p %{buildroot}/etc/security/limits.d +mkdir -p %{buildroot}/lib/systemd/system +mkdir -p %{buildroot}/lib/udev/rules.d/ + +%define srcpath ../../../base/host/packages/cuttlefish-base +install -m 655 %{srcpath}/etc/NetworkManager/conf.d/99-cuttlefish.conf %{buildroot}/etc/NetworkManager/conf.d/99-cuttlefish.conf +install -m 655 %{srcpath}/etc/modules-load.d/cuttlefish-common.conf %{buildroot}/etc/modules-load.d/cuttlefish-common.conf +install -m 655 %{srcpath}/etc/security/limits.d/1_cuttlefish.conf %{buildroot}/etc/security/limits.d/1_cuttlefish.conf + +%define srcpath ../../../base/debian +install -m 655 %{srcpath}/cuttlefish-base.cuttlefish-host-resources.default %{buildroot}/etc/default/cuttlefish-host-resources +install -m 655 %{srcpath}/cuttlefish-base.cuttlefish-host-resources.init %{buildroot}/etc/rc.d/init.d/cuttlefish-host-resources + +%define srcpath ../../../base/rhel +install -m 655 %{srcpath}/cuttlefish.service %{buildroot}/lib/systemd/system/cuttlefish.service + +%define srcpath ../../../base/cvd/bazel-bin +install -m 755 %{srcpath}/cuttlefish/cvd %{buildroot}/usr/lib/cuttlefish-common/bin/cvd + +%define srcpath ../../../base/host/deploy +install -m 655 %{srcpath}/install_zip.sh %{buildroot}/usr/bin/install_zip.sh +install -m 655 %{srcpath}/unpack_boot_image.py %{buildroot}/usr/lib/cuttlefish-common/bin/unpack_boot_image.py +install -m 655 %{srcpath}/capability_query.py %{buildroot}/usr/lib/cuttlefish-common/bin/capability_query.py + +%define srcpath ../../../base/debian +install -m 655 %{srcpath}/cuttlefish-integration.udev %{buildroot}/lib/udev/rules.d/60-cuttlefish-integration.rules + +%post +ln -sf /usr/lib/cuttlefish-common/bin/cvd /usr/bin/cvd +getent group cvdnetwork > /dev/null 2>&1 || groupadd --system cvdnetwork +udevadm control --reload-rules && udevadm trigger +systemctl restart NetworkManager +systemctl daemon-reload +systemctl start cuttlefish + +%preun +systemctl stop cuttlefish +rm /usr/bin/cvd + + +%postun +udevadm control --reload-rules && udevadm trigger +systemctl restart NetworkManager +systemctl daemon-reload +if getent group cvdnetwork > /dev/null 2>&1 ; then + groupdel cvdnetwork +fi + + +%files +/etc/default/cuttlefish-host-resources +/etc/rc.d/init.d/cuttlefish-host-resources +/etc/NetworkManager/conf.d/99-cuttlefish.conf +/etc/modules-load.d/cuttlefish-common.conf +/etc/security/limits.d/1_cuttlefish.conf +/usr/bin/install_zip.sh +/lib/systemd/system/cuttlefish.service +/usr/lib/cuttlefish-common/bin/cvd +/usr/lib/cuttlefish-common/bin/unpack_boot_image.py +/usr/lib/cuttlefish-common/bin/capability_query.py +/lib/udev/rules.d/60-cuttlefish-integration.rules + +#%%license add-license-file-here +#%%doc add-docs-here + + +%changelog +* Thu Jul 11 2024 Martin Zeitler +- Initial version. + diff --git a/tools/rpmbuild/SPECS/cuttlefish_integration.spec b/tools/rpmbuild/SPECS/cuttlefish_integration.spec new file mode 100644 index 00000000000..b76b36c3715 --- /dev/null +++ b/tools/rpmbuild/SPECS/cuttlefish_integration.spec @@ -0,0 +1,67 @@ +Name: cuttlefish-integration +Version: 0.9.29 +Release: 1%{?dist} +Summary: Contains the host signaling server supporting multi-device flows over WebRTC. + +License: Apache License 2.0 +URL: https://github.com/google/android-cuttlefish + +BuildArch: x86_64 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +#BuildRequires: +Requires: qemu-kvm, cuttlefish-base + +%description +Cuttlefish Android Virtual Device companion package +Contains the host signaling server supporting multi-device flows over WebRTC. + +%prep + + +%build + + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p %{buildroot}/etc/default +mkdir -p %{buildroot}/etc/modprobe.d +mkdir -p %{buildroot}/etc/rsyslog.d +mkdir -p %{buildroot}/etc/ssh +mkdir -p %{buildroot}/lib/udev/rules.d + +%define srcpath ../../../base/host/packages/cuttlefish-integration +install -m 655 %{srcpath}/etc/default/instance_configs.cfg.template %{buildroot}/etc/default/instance_configs.cfg.template +install -m 655 %{srcpath}/etc/modprobe.d/cuttlefish-integration.conf %{buildroot}/etc/modprobe.d/cuttlefish-integration.conf +install -m 655 %{srcpath}/etc/rsyslog.d/91-cuttlefish.conf %{buildroot}/etc/rsyslog.d/91-cuttlefish.conf +install -m 655 %{srcpath}/etc/ssh/sshd_config.cuttlefish %{buildroot}/etc/ssh/sshd_config.cuttlefish + +%define srcpath ../../../base/debian +install -m 655 %{srcpath}/cuttlefish-integration.udev %{buildroot}/lib/udev/rules.d/60-cuttlefish-integration.rules + + +%files +/etc/default/instance_configs.cfg.template +/etc/modprobe.d/cuttlefish-integration.conf +/etc/rsyslog.d/91-cuttlefish.conf +/etc/ssh/sshd_config.cuttlefish +/lib/udev/rules.d/60-cuttlefish-integration.rules + +#%%license add-license-file-here +#%%doc add-docs-here + +%post +systemctl restart systemd-modules-load.service +systemctl reload rsyslog.service + +%preun + + +%postun +systemctl restart systemd-modules-load.service +systemctl reload rsyslog.service + +%changelog +* Thu Jul 11 2024 Martin Zeitler +- Initial version. + diff --git a/tools/rpmbuild/SPECS/cuttlefish_orchestration.spec b/tools/rpmbuild/SPECS/cuttlefish_orchestration.spec new file mode 100644 index 00000000000..ea3659b2f14 --- /dev/null +++ b/tools/rpmbuild/SPECS/cuttlefish_orchestration.spec @@ -0,0 +1,88 @@ +Name: cuttlefish-orchestration +Version: 0.9.29 +Release: 1%{?dist} +Summary: Contains the host orchestrator. + +License: Apache License 2.0 +URL: https://github.com/google/android-cuttlefish + +BuildArch: x86_64 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: openssl +Requires: cuttlefish-base, cuttlefish-user, shadow-utils, bash, openssl, nginx, systemd-journal-remote + +%description +Cuttlefish Android Virtual Device companion package +Contains the host orchestrator. + +%prep + + +%build +cd ../../../frontend +if [ ! -d .sslcert ]; then + ./gen_ssl_cert.sh -o .sslcert +fi + + + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p %{buildroot}/etc/cuttlefish-orchestration/ssl/cert +mkdir -p %{buildroot}/etc/default +mkdir -p %{buildroot}/etc/nginx/conf.d +mkdir -p %{buildroot}/etc/rc.d/init.d +mkdir -p %{buildroot}/etc/sudoers.d + +%define srcpath ../../../frontend/.sslcert +install -m 655 %{srcpath}/cert.pem %{buildroot}/etc/cuttlefish-orchestration/ssl/cert/cert.pem +install -m 655 %{srcpath}/key.pem %{buildroot}/etc/cuttlefish-orchestration/ssl/cert/key.pem + +%define srcpath ../../../frontend/host/packages/cuttlefish-orchestration +install -m 655 %{srcpath}/etc/nginx/conf.d/cuttlefish-orchestration.conf %{buildroot}/etc/nginx/conf.d/cuttlefish-orchestration.conf +install -m 655 %{srcpath}/etc/sudoers.d/cuttlefish-orchestration %{buildroot}/etc/sudoers.d/cuttlefish-orchestration + + +%files +/etc/cuttlefish-orchestration/ssl/cert/cert.pem +/etc/cuttlefish-orchestration/ssl/cert/key.pem +/etc/nginx/conf.d/cuttlefish-orchestration.conf +/etc/sudoers.d/cuttlefish-orchestration + +#%%license add-license-file-here +#%%doc add-docs-here + + +%post +ln -sf /usr/lib/cuttlefish-common/bin/cvd /usr/bin/fetch_cvd + +# The cvdnetwork group is created by cuttlefish-base +if ! getent passwd _cvd-executor > /dev/null 2>&1 ; then + adduser --system --shell /sbin/nologin --home /var/empty --no-create-home _cvd-executor + usermod -a -G cvdnetwork,kvm _cvd-executor +fi + +# Reload nginx having the orchestration configuration +systemctl try-reload-or-restart nginx.service + + +%preun + + +%postun +if [ -f /usr/bin/fetch_cvd ]; then + rm /usr/bin/fetch_cvd +fi + +if getent passwd _cvd-executor > /dev/null 2>&1; then + userdel _cvd-executor +fi + +# Reload nginx without the orchestration configuration +systemctl try-reload-or-restart nginx.service + +%changelog +* Thu Jul 11 2024 Martin Zeitler +- Initial version. + diff --git a/tools/rpmbuild/SPECS/cuttlefish_user.spec b/tools/rpmbuild/SPECS/cuttlefish_user.spec new file mode 100644 index 00000000000..4f0165ef46e --- /dev/null +++ b/tools/rpmbuild/SPECS/cuttlefish_user.spec @@ -0,0 +1,93 @@ +Name: cuttlefish-user +Version: 0.9.29 +Release: 1%{?dist} +Summary: Contains the host signaling server supporting multi-device flows over WebRTC. + +License: Apache License 2.0 +URL: https://github.com/google/android-cuttlefish + +BuildArch: x86_64 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: golang-bin +Requires: cuttlefish-base, openssl, shadow-utils + +%description +Cuttlefish Android Virtual Device companion package +Contains the host signaling server supporting multi-device flows over WebRTC. + + +%prep + + +%build +cd ../../../frontend +./build-webui.sh +cd src/host_orchestrator +go build +cd ../operator +go build + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p %{buildroot}/etc/default +mkdir -p %{buildroot}/etc/rc.d/init.d +mkdir -p %{buildroot}/usr/bin +mkdir -p %{buildroot}/usr/lib/cuttlefish-common/bin +mkdir -p %{buildroot}/usr/share/cuttlefish-common/operator/intercept/js +mkdir -p %{buildroot}/usr/share/cuttlefish-common/operator/static + + +%define srcpath ../../../frontend/src +install -m 755 %{srcpath}/host_orchestrator/host_orchestrator %{buildroot}/usr/lib/cuttlefish-common/bin/host_orchestrator +install -m 755 %{srcpath}/operator/operator %{buildroot}/usr/lib/cuttlefish-common/bin/operator +install -m 655 %{srcpath}/operator/intercept/js/server_connector.d.ts %{buildroot}/usr/share/cuttlefish-common/operator/intercept/js/server_connector.d.ts +install -m 655 %{srcpath}//operator/intercept/js/server_connector.js %{buildroot}/usr/share/cuttlefish-common/operator/intercept/js/server_connector.js + +%define srcpath ../../../frontend/src/operator/webui/dist/static +for filename in $(ls %{srcpath}) ; do + install -m 655 %{srcpath}/$filename %{buildroot}/usr/share/cuttlefish-common/operator/static/$filename +done + + +%files +/usr/lib/cuttlefish-common/bin/host_orchestrator +/usr/lib/cuttlefish-common/bin/operator + +/usr/share/cuttlefish-common/operator/intercept/js/server_connector.d.ts +/usr/share/cuttlefish-common/operator/intercept/js/server_connector.js + +/usr/share/cuttlefish-common/operator/static/index.html +/usr/share/cuttlefish-common/operator/static/3rdpartylicenses.txt +/usr/share/cuttlefish-common/operator/static/main.* +/usr/share/cuttlefish-common/operator/static/polyfills.* +/usr/share/cuttlefish-common/operator/static/runtime.* +/usr/share/cuttlefish-common/operator/static/styles.* + +#%%license add-license-file-here +#%%doc add-docs-here + +%post +ln -sf /usr/lib/cuttlefish-common/bin/host_orchestrator /usr/bin/cvd_host_orchestrator + +# The cvdnetwork group is created by cuttlefish-base +if ! getent passwd _cutf-operator > /dev/null 2>&1 ; then + adduser --system --shell /sbin/nologin --home /var/empty --no-create-home --gid cvdnetwork _cutf-operator +fi + +%preun +if [ -f /usr/bin/cvd_host_orchestrator ]; then + rm /usr/bin/cvd_host_orchestrator +fi + + +%postun +if getent passwd _cutf-operator > /dev/null 2>&1; then + userdel _cutf-operator +fi + + +%changelog +* Thu Jul 11 2024 Martin Zeitler +- Initial version. + diff --git a/tools/rpmbuild/SRPMS/.gitkeep b/tools/rpmbuild/SRPMS/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d From 02498baac7574c983af5889e3826327c0f1d55b5 Mon Sep 17 00:00:00 2001 From: "A. Cody Schuffelen" Date: Tue, 25 Mar 2025 22:10:05 -0700 Subject: [PATCH 002/443] Combine librun_cvd and run_cvd targets The separate targets are no longer necessary now that run_cvd includes its own headers from paths relative to the bazel workspace. --- .../host/commands/run_cvd/BUILD.bazel | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel diff --git a/base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel b/base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel new file mode 100644 index 00000000000..af729bf6574 --- /dev/null +++ b/base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel @@ -0,0 +1,107 @@ +load("//:build_variables.bzl", "COPTS") +load("//tools/lint:linters.bzl", "clang_tidy_test") + +package( + default_visibility = ["//:android_cuttlefish"], +) + +cc_binary( + name = "run_cvd", + srcs = [ + "boot_state_machine.cc", + "boot_state_machine.h", + "launch/auto_cmd.h", + "launch/automotive_proxy.cpp", + "launch/bluetooth_connector.cpp", + "launch/casimir.cpp", + "launch/casimir_control_server.cpp", + "launch/console_forwarder.cpp", + "launch/control_env_proxy_server.cpp", + "launch/echo_server.cpp", + "launch/gnss_grpc_proxy.cpp", + "launch/grpc_socket_creator.cpp", + "launch/grpc_socket_creator.h", + "launch/input_connections_provider.h", + "launch/kernel_log_monitor.cpp", + "launch/launch.h", + "launch/log_tee_creator.cpp", + "launch/log_tee_creator.h", + "launch/logcat_receiver.cpp", + "launch/mcu.cpp", + "launch/metrics.cpp", + "launch/modem.cpp", + "launch/netsim_server.cpp", + "launch/nfc_connector.cpp", + "launch/open_wrt.cpp", + "launch/openwrt_control_server.cpp", + "launch/pica.cpp", + "launch/root_canal.cpp", + "launch/screen_recording_server.cpp", + "launch/secure_env.cpp", + "launch/sensors_simulator.cpp", + "launch/sensors_socket_pair.cpp", + "launch/sensors_socket_pair.h", + "launch/snapshot_control_files.cpp", + "launch/snapshot_control_files.h", + "launch/streamer.cpp", + "launch/ti50_emulator.cpp", + "launch/tombstone_receiver.cpp", + "launch/uwb_connector.cpp", + "launch/vhal_proxy_server.cpp", + "launch/vhost_device_vsock.cpp", + "launch/vhost_device_vsock.h", + "launch/vhost_input_devices.cpp", + "launch/webrtc_controller.cpp", + "launch/webrtc_controller.h", + "launch/wmediumd_server.cpp", + "launch/wmediumd_server.h", + "main.cc", + "reporting.cpp", + "reporting.h", + "server_loop.cpp", + "server_loop.h", + "server_loop_impl.cpp", + "server_loop_impl.h", + "server_loop_impl_snapshot.cpp", + "server_loop_impl_webrtc.cpp", + "validate.cpp", + "validate.h", + ], + copts = COPTS, + deps = [ + "//:libbuildversion", + "//cuttlefish/common/libs/fs", + "//cuttlefish/common/libs/transport", + "//cuttlefish/common/libs/utils", + "//cuttlefish/common/libs/utils:environment", + "//cuttlefish/common/libs/utils:result", + "//cuttlefish/host/commands/assemble_cvd:libassemble_cvd", + "//cuttlefish/host/commands/kernel_log_monitor:kernel_log_monitor_utils", + "//cuttlefish/host/commands/openwrt_control_server:libopenwrt_control_server", + "//cuttlefish/host/frontend/webrtc:libcuttlefish_webrtc_command_channel", + "//cuttlefish/host/frontend/webrtc:libcuttlefish_webrtc_commands_proto", + "//cuttlefish/host/libs/command_util", + "//cuttlefish/host/libs/command_util:libcuttlefish_run_cvd_proto", + "//cuttlefish/host/libs/config", + "//cuttlefish/host/libs/config/adb", + "//cuttlefish/host/libs/config/fastboot", + "//cuttlefish/host/libs/metrics", + "//cuttlefish/host/libs/process_monitor", + "//cuttlefish/host/libs/vhal_proxy_server", + "//cuttlefish/host/libs/vm_manager", + "//libbase", + "@fmt", + "@fruit", + "@gflags", + "@googleapis//google/rpc:code_cc_proto", + "@grpc//:grpc", + "@grpc//:grpc++", + "@jsoncpp", + ], +) + +clang_tidy_test( + name = "run_cvd_clang_tidy", + srcs = [":run_cvd"], + tags = ["clang_tidy", "clang-tidy"], +) From 35eccd8333ac3ae3b5a48050ba8f5cd0ffe07eb3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 02:05:54 +0100 Subject: [PATCH 003/443] step label changed. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 2fedd360b81..d872abeeb83 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -112,7 +112,7 @@ jobs: - name: Check for dockerenv file run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) - - name: Check for dockerenv file + - name: Run build script run: /home/runner/buildscript.sh # https://github.com/actions/upload-artifact From 1f9db875c5989048fb6ffd7e98019b0cd7f541c1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 02:08:44 +0100 Subject: [PATCH 004/443] wrong file add. --- .../host/commands/run_cvd/BUILD.bazel | 107 ------------------ 1 file changed, 107 deletions(-) delete mode 100644 base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel diff --git a/base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel b/base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel deleted file mode 100644 index af729bf6574..00000000000 --- a/base/cvd/cuttlefish/host/commands/run_cvd/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("//:build_variables.bzl", "COPTS") -load("//tools/lint:linters.bzl", "clang_tidy_test") - -package( - default_visibility = ["//:android_cuttlefish"], -) - -cc_binary( - name = "run_cvd", - srcs = [ - "boot_state_machine.cc", - "boot_state_machine.h", - "launch/auto_cmd.h", - "launch/automotive_proxy.cpp", - "launch/bluetooth_connector.cpp", - "launch/casimir.cpp", - "launch/casimir_control_server.cpp", - "launch/console_forwarder.cpp", - "launch/control_env_proxy_server.cpp", - "launch/echo_server.cpp", - "launch/gnss_grpc_proxy.cpp", - "launch/grpc_socket_creator.cpp", - "launch/grpc_socket_creator.h", - "launch/input_connections_provider.h", - "launch/kernel_log_monitor.cpp", - "launch/launch.h", - "launch/log_tee_creator.cpp", - "launch/log_tee_creator.h", - "launch/logcat_receiver.cpp", - "launch/mcu.cpp", - "launch/metrics.cpp", - "launch/modem.cpp", - "launch/netsim_server.cpp", - "launch/nfc_connector.cpp", - "launch/open_wrt.cpp", - "launch/openwrt_control_server.cpp", - "launch/pica.cpp", - "launch/root_canal.cpp", - "launch/screen_recording_server.cpp", - "launch/secure_env.cpp", - "launch/sensors_simulator.cpp", - "launch/sensors_socket_pair.cpp", - "launch/sensors_socket_pair.h", - "launch/snapshot_control_files.cpp", - "launch/snapshot_control_files.h", - "launch/streamer.cpp", - "launch/ti50_emulator.cpp", - "launch/tombstone_receiver.cpp", - "launch/uwb_connector.cpp", - "launch/vhal_proxy_server.cpp", - "launch/vhost_device_vsock.cpp", - "launch/vhost_device_vsock.h", - "launch/vhost_input_devices.cpp", - "launch/webrtc_controller.cpp", - "launch/webrtc_controller.h", - "launch/wmediumd_server.cpp", - "launch/wmediumd_server.h", - "main.cc", - "reporting.cpp", - "reporting.h", - "server_loop.cpp", - "server_loop.h", - "server_loop_impl.cpp", - "server_loop_impl.h", - "server_loop_impl_snapshot.cpp", - "server_loop_impl_webrtc.cpp", - "validate.cpp", - "validate.h", - ], - copts = COPTS, - deps = [ - "//:libbuildversion", - "//cuttlefish/common/libs/fs", - "//cuttlefish/common/libs/transport", - "//cuttlefish/common/libs/utils", - "//cuttlefish/common/libs/utils:environment", - "//cuttlefish/common/libs/utils:result", - "//cuttlefish/host/commands/assemble_cvd:libassemble_cvd", - "//cuttlefish/host/commands/kernel_log_monitor:kernel_log_monitor_utils", - "//cuttlefish/host/commands/openwrt_control_server:libopenwrt_control_server", - "//cuttlefish/host/frontend/webrtc:libcuttlefish_webrtc_command_channel", - "//cuttlefish/host/frontend/webrtc:libcuttlefish_webrtc_commands_proto", - "//cuttlefish/host/libs/command_util", - "//cuttlefish/host/libs/command_util:libcuttlefish_run_cvd_proto", - "//cuttlefish/host/libs/config", - "//cuttlefish/host/libs/config/adb", - "//cuttlefish/host/libs/config/fastboot", - "//cuttlefish/host/libs/metrics", - "//cuttlefish/host/libs/process_monitor", - "//cuttlefish/host/libs/vhal_proxy_server", - "//cuttlefish/host/libs/vm_manager", - "//libbase", - "@fmt", - "@fruit", - "@gflags", - "@googleapis//google/rpc:code_cc_proto", - "@grpc//:grpc", - "@grpc//:grpc++", - "@jsoncpp", - ], -) - -clang_tidy_test( - name = "run_cvd_clang_tidy", - srcs = [":run_cvd"], - tags = ["clang_tidy", "clang-tidy"], -) From 63bca38a565cbf0018397399a3dbcbac53c636d4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 02:13:25 +0100 Subject: [PATCH 005/443] subject-name changed. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index d872abeeb83..c46c0c408aa 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -91,7 +91,7 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} + subject-name: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true From 0e69a6107f431efbb95ceeedd8225f6c6327ad8b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 02:16:10 +0100 Subject: [PATCH 006/443] volume added. --- .github/workflows/rpm-builder.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index c46c0c408aa..e8d346c29f3 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -102,6 +102,8 @@ jobs: # https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container#example-defining-credentials-for-a-container-registry container: image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' + volumes: + - /home/runner ports: [80, 8443] credentials: username: ${{ GITHUB.ACTOR }} From 2b72017256906c14dece3d7a36f94a48feb8c522 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 02:31:07 +0100 Subject: [PATCH 007/443] still unsure about the destination path. --- .github/workflows/rpm-builder.yml | 7 +++++++ docker/rpm-builder/buildscript.sh | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index e8d346c29f3..be5353f11d9 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -117,6 +117,13 @@ jobs: - name: Run build script run: /home/runner/buildscript.sh + # docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH + # https://docs.docker.com/reference/cli/docker/container/cp/ + - name: Copy to runner file-system + run: | + cd /home/runner/android-cuttlefish/tools/rpmbuild/RPMS + docker cp . /home/runner/outputs/ + # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) id: retain-rpm diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 9cc5b26adcc..da270dbca6c 100644 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -4,6 +4,6 @@ cd /root || exit # git clone git@github.com:syslogic/android-cuttlefish.git git clone https://github.com/syslogic/android-cuttlefish.git cd android-cuttlefish || exit -git switch rpm-workflow +git switch rpm-build ./tools/buildutils/build_packages.sh From ad7fb0ac73c828f164a9c58a1963a90d83e5a539 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 02:38:42 +0100 Subject: [PATCH 008/443] trying to copy the artifacts. --- .github/workflows/rpm-builder.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index be5353f11d9..302ec3d32c3 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -3,9 +3,9 @@ name: RPM Builder on: push: enable_docker_cache: - required: true + required: false type: boolean - default: true + default: false workflow_call: inputs: enable_docker_cache: @@ -111,18 +111,18 @@ jobs: steps: - - name: Check for dockerenv file - run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) + # - name: Check for dockerenv file + # run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) - name: Run build script run: /home/runner/buildscript.sh # docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH # https://docs.docker.com/reference/cli/docker/container/cp/ - - name: Copy to runner file-system + - name: Copy from container to file-system /tmp run: | - cd /home/runner/android-cuttlefish/tools/rpmbuild/RPMS - docker cp . /home/runner/outputs/ + docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/RPMS/* /tmp + docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/SRPMS/* /tmp # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) @@ -131,7 +131,7 @@ jobs: with: name: android-cuttlefish-rpm path: | - ./tools/rpmbuild/RPMS/*.rpm + /tmp/*.rpm retention-days: 14 # https://github.com/actions/upload-artifact @@ -141,5 +141,5 @@ jobs: with: name: android-cuttlefish-srpm path: | - ./tools/rpmbuild/SRPMS/*.srpm + /tmp/*.srpm retention-days: 14 From e7e965ae8924298c1815d0acff9291c463e90823 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 03:55:27 +0100 Subject: [PATCH 009/443] not finding the script again. provenance fixed. job renamed. volumes fixed. missing script added. package test job added. --- .github/workflows/rpm-builder.yml | 34 +++++++++++++++++++++---------- docker/rpm-builder/Dockerfile | 6 ++---- docker/rpm-builder/buildscript.sh | 2 +- docker/rpm-builder/testscript.sh | 3 +++ 4 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 docker/rpm-builder/testscript.sh diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 302ec3d32c3..eadca09bf60 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -56,12 +56,12 @@ jobs: uses: 'docker/metadata-action@v5' with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} - tags: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + tags: ${{ ENV.DOCKER_IMAGE }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image if: ${{ !inputs.enable_docker_cache }} - id: push-image + id: push uses: 'docker/build-push-action@v6' with: context: . @@ -91,7 +91,7 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true @@ -99,25 +99,20 @@ jobs: needs: build-docker-image runs-on: ubuntu-latest - # https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container#example-defining-credentials-for-a-container-registry container: image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' volumes: - /home/runner - ports: [80, 8443] credentials: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} steps: - - # - name: Check for dockerenv file - # run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) - - name: Run build script - run: /home/runner/buildscript.sh + run: | + ls -la /home/runner + /home/runner/buildscript.sh - # docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp run: | @@ -143,3 +138,20 @@ jobs: path: | /tmp/*.srpm retention-days: 14 + + test-rpm-packages: + needs: build-rpm-specs + runs-on: ubuntu-latest + + container: + image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' + volumes: + - /home/runner + ports: [80, 8443] + credentials: + username: ${{ GITHUB.ACTOR }} + password: ${{ SECRETS.GITHUB_TOKEN }} + + steps: + - name: Run test script + run: /home/runner/testscript.sh \ No newline at end of file diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 2d7374adf95..2c2cfadd435 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,6 +1,5 @@ # Dockerfile for building RPM packages. # https://hub.docker.com/_/rockylinux -# source ~/.bash_profile FROM rockylinux/rockylinux:9.5 AS builder ARG BAZEL_VERSION=7.6.0 EXPOSE 80/tcp 8443/tcp @@ -32,7 +31,6 @@ source ~/.bashrc && go install github.com/bazelbuild/bazelisk@latest RUN adduser runner -# Entrypoint Script. +# Copy entrypoint scripts. COPY ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh -# ENTRYPOINT [ "/buildscript.sh" ] - +COPY ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index da270dbca6c..47d44f5f018 100644 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -cd /root || exit +cd /home/runner || exit # git clone git@github.com:syslogic/android-cuttlefish.git git clone https://github.com/syslogic/android-cuttlefish.git cd android-cuttlefish || exit diff --git a/docker/rpm-builder/testscript.sh b/docker/rpm-builder/testscript.sh new file mode 100644 index 00000000000..2f3736cb368 --- /dev/null +++ b/docker/rpm-builder/testscript.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +sudo dnf install cuttlerfish-base From f4b2e58756935ac595b88f27510d1fead90d82e5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 17:15:31 +0100 Subject: [PATCH 010/443] now building with bazelisk; the build-target also seems to have changed. --- docker/rpm-builder/Dockerfile | 32 +++++++++++++---------- tools/rpmbuild/SPECS/cuttlefish_base.spec | 3 ++- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 2c2cfadd435..742470fbe57 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,14 +1,13 @@ -# Dockerfile for building RPM packages. +# Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux FROM rockylinux/rockylinux:9.5 AS builder ARG BAZEL_VERSION=7.6.0 -EXPOSE 80/tcp 8443/tcp -VOLUME "/home/runner" +ARG USERNAME="runner" LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ org.opencontainers.image.title="RPM Builder" \ -org.opencontainers.image.description="RPM builder image based on Rocky Linux" \ +org.opencontainers.image.description="RPM package builder image based on Rocky Linux" \ org.opencontainers.image.authors="Martin Zeitler" \ org.opencontainers.image.vendor="Google" \ org.opencontainers.image.version="latest" \ @@ -19,18 +18,23 @@ org.opencontainers.image.licenses="MIT" # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y upgrade && dnf -y install sudo rpm-build git nginx golang-bin curl-devel qemu-kvm \ -systemd-journal-remote protobuf-devel protobuf-compiler --enablerepo crb && \ -dnf list installed && dnf clean all +RUN dnf -y upgrade && dnf -y install sudo rpm-build git nginx golang-bin curl-devel qemu-kvm systemd-journal-remote +RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb +RUN dnf -y install 'dnf-command(builddep)' && dnf list installed && dnf clean all + +# Volume, ports and user. +EXPOSE 80/tcp 8443/tcp +VOLUME /home/$USERNAME +RUN adduser $USERNAME +USER $USERNAME # Install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bashrc && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bashrc && \ -source ~/.bashrc && go install github.com/bazelbuild/bazelisk@latest -# RUN $GOPATH/bin/bazelisk version - -RUN adduser runner +source ~/.bashrc && go install github.com/bazelbuild/bazelisk@latest && $GOPATH/bin/bazelisk version -# Copy entrypoint scripts. -COPY ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh -COPY ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh +# Install entrypoint scripts. +USER root +COPY ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh +COPY ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh +RUN chown $USERNAME:$USERNAME /home/$USERNAME/*.sh && chmod +x /home/$USERNAME/*.sh diff --git a/tools/rpmbuild/SPECS/cuttlefish_base.spec b/tools/rpmbuild/SPECS/cuttlefish_base.spec index 3b914d4b052..414b25b1a72 100644 --- a/tools/rpmbuild/SPECS/cuttlefish_base.spec +++ b/tools/rpmbuild/SPECS/cuttlefish_base.spec @@ -31,7 +31,8 @@ Cuttlefish Android Virtual Device that are used in all deployments. %build cd ../../../base/cvd -bazel build cuttlefish:cvd --spawn_strategy=local +# $HOME/go/bin/bazelisk build cuttlefish:cvd --spawn_strategy=local +$HOME/go/bin/bazelisk build //cuttlefish/package:cvd --spawn_strategy=local %install From 5287e17210b302fbb4c219b0675b62bde82fb490 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 17:28:22 +0100 Subject: [PATCH 011/443] still not finding the build/test scripts. --- .github/workflows/rpm-builder.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index eadca09bf60..486b61a9a8d 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -109,9 +109,7 @@ jobs: steps: - name: Run build script - run: | - ls -la /home/runner - /home/runner/buildscript.sh + run: /home/runner/buildscript.sh # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp From 4b741b494641d36132655d40d6e0282380073e1e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 17:35:29 +0100 Subject: [PATCH 012/443] shell changed. --- docker/rpm-builder/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 742470fbe57..2be7a1e2bcd 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,6 +1,7 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux FROM rockylinux/rockylinux:9.5 AS builder +SHELL ["/bin/bash", "--login", "-c"] ARG BAZEL_VERSION=7.6.0 ARG USERNAME="runner" From f17cfa674702169aa86183bb7ca16e842dfbe200 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 17:40:45 +0100 Subject: [PATCH 013/443] installing bazel at runtime --- docker/rpm-builder/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 2be7a1e2bcd..6c1a1db5127 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -32,7 +32,8 @@ USER $USERNAME # Install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bashrc && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bashrc && \ -source ~/.bashrc && go install github.com/bazelbuild/bazelisk@latest && $GOPATH/bin/bazelisk version +source ~/.bashrc && go install github.com/bazelbuild/bazelisk@latest +# RUN $GOPATH/bin/bazelisk version # Install entrypoint scripts. USER root From e3d132d1260971e90d63b1917a8109f3059ff335 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 17:43:13 +0100 Subject: [PATCH 014/443] installing dnf-plugins-core without lookup. --- docker/rpm-builder/Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 6c1a1db5127..c4f7bd1726b 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -19,9 +19,8 @@ org.opencontainers.image.licenses="MIT" # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y upgrade && dnf -y install sudo rpm-build git nginx golang-bin curl-devel qemu-kvm systemd-journal-remote -RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb -RUN dnf -y install 'dnf-command(builddep)' && dnf list installed && dnf clean all +RUN dnf -y upgrade && dnf -y install dnf-plugins-core sudo rpm-build git nginx golang-bin curl-devel qemu-kvm systemd-journal-remote +RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb && dnf list installed && dnf clean all # Volume, ports and user. EXPOSE 80/tcp 8443/tcp From caf2c4751fb5e132f988a76ffbe3a51dc7682bd0 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 17:47:18 +0100 Subject: [PATCH 015/443] checking for the username. --- .github/workflows/rpm-builder.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 486b61a9a8d..0c35ce0f15e 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -109,7 +109,9 @@ jobs: steps: - name: Run build script - run: /home/runner/buildscript.sh + run: | + whoami + ~/buildscript.sh # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp @@ -152,4 +154,6 @@ jobs: steps: - name: Run test script - run: /home/runner/testscript.sh \ No newline at end of file + run: | + whoami + ~/testscript.sh \ No newline at end of file From f4b5da7b0da5028e697c9f3b2a024fc04c1cc5b7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 17:57:33 +0100 Subject: [PATCH 016/443] COPY replaced with ADD. --- docker/rpm-builder/Dockerfile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index c4f7bd1726b..17c906b9bb6 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,7 +1,6 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux FROM rockylinux/rockylinux:9.5 AS builder -SHELL ["/bin/bash", "--login", "-c"] ARG BAZEL_VERSION=7.6.0 ARG USERNAME="runner" @@ -30,12 +29,12 @@ USER $USERNAME # Install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ -echo "export GOPATH=${HOME}/go" >> ~/.bashrc && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bashrc && \ -source ~/.bashrc && go install github.com/bazelbuild/bazelisk@latest +echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ +source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest # RUN $GOPATH/bin/bazelisk version # Install entrypoint scripts. USER root -COPY ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh -COPY ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh +ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh +ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh RUN chown $USERNAME:$USERNAME /home/$USERNAME/*.sh && chmod +x /home/$USERNAME/*.sh From c6bb295da57b9841a3ea0844f7cbaa1f0c044483 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:11:30 +0100 Subject: [PATCH 017/443] using GITHUB.WORKSPACE --- .github/workflows/rpm-builder.yml | 12 ++++-------- docker/rpm-builder/Dockerfile | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 0c35ce0f15e..27f14fcf05b 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -2,10 +2,6 @@ name: RPM Builder on: push: - enable_docker_cache: - required: false - type: boolean - default: false workflow_call: inputs: enable_docker_cache: @@ -116,8 +112,8 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp run: | - docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/RPMS/* /tmp - docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/SRPMS/* /tmp + docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) @@ -126,7 +122,7 @@ jobs: with: name: android-cuttlefish-rpm path: | - /tmp/*.rpm + ${{ GITHUB.WORKSPACE }}/*.rpm retention-days: 14 # https://github.com/actions/upload-artifact @@ -136,7 +132,7 @@ jobs: with: name: android-cuttlefish-srpm path: | - /tmp/*.srpm + ${{ GITHUB.WORKSPACE }}/*.srpm retention-days: 14 test-rpm-packages: diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 17c906b9bb6..36406651b3d 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -13,6 +13,16 @@ org.opencontainers.image.vendor="Google" \ org.opencontainers.image.version="latest" \ org.opencontainers.image.licenses="MIT" +# Volume, ports and user. +EXPOSE 80/tcp 8443/tcp +VOLUME [ "/home/$USERNAME" ] +RUN adduser $USERNAME +USER $USERNAME + +# Add entrypoint scripts. +ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh +ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh + # Build and runtime dependencies. # RUN dnf -y swap curl-minimal curl-full # RUN dnf -y swap coreutils-single coreutils @@ -21,11 +31,7 @@ org.opencontainers.image.licenses="MIT" RUN dnf -y upgrade && dnf -y install dnf-plugins-core sudo rpm-build git nginx golang-bin curl-devel qemu-kvm systemd-journal-remote RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb && dnf list installed && dnf clean all -# Volume, ports and user. -EXPOSE 80/tcp 8443/tcp -VOLUME /home/$USERNAME -RUN adduser $USERNAME -USER $USERNAME + # Install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ @@ -33,7 +39,7 @@ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}: source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest # RUN $GOPATH/bin/bazelisk version -# Install entrypoint scripts. +# Add entrypoint scripts. USER root ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh From ca61d9af37921e76ea001f30867642ecff121b97 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:28:54 +0100 Subject: [PATCH 018/443] HOME_DIR fixed. --- docker/rpm-builder/Dockerfile | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 36406651b3d..2eb5de7f652 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,9 +1,10 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux -FROM rockylinux/rockylinux:9.5 AS builder +ARG ROCKY_LINUX_VERSION=9.5 ARG BAZEL_VERSION=7.6.0 ARG USERNAME="runner" +FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ org.opencontainers.image.title="RPM Builder" \ @@ -15,9 +16,12 @@ org.opencontainers.image.licenses="MIT" # Volume, ports and user. EXPOSE 80/tcp 8443/tcp -VOLUME [ "/home/$USERNAME" ] -RUN adduser $USERNAME +RUN IF [[ $USERNAME !eq "root" ]]; THEN adduser $USERNAME; ELSE echo "" > /dev/null; FI USER $USERNAME +VOLUME [ "$HOME" ] + +ENTRYPOINT ["python", "/app/my_script.py"] +CMD ["--default-arg"] # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh @@ -28,19 +32,14 @@ ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y upgrade && dnf -y install dnf-plugins-core sudo rpm-build git nginx golang-bin curl-devel qemu-kvm systemd-journal-remote -RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb && dnf list installed && dnf clean all - +RUN dnf -y upgrade && \ +dnf -y install dnf-plugins-core sudo rpm-build git nginx golang-bin curl-devel qemu-kvm systemd-journal-remote && \ +dnf -y install protobuf-devel protobuf-compiler --enablerepo crb && \ +dnf list installed && dnf clean all - -# Install `bazelisk`. +# Set up user profile and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ -source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest +source ~/.bash_profile && chown $USERNAME:$USERNAME /home/$USERNAME/*.sh && chmod +x /home/$USERNAME/*.sh && \ +go install github.com/bazelbuild/bazelisk@latest # RUN $GOPATH/bin/bazelisk version - -# Add entrypoint scripts. -USER root -ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh -ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh -RUN chown $USERNAME:$USERNAME /home/$USERNAME/*.sh && chmod +x /home/$USERNAME/*.sh From 2f111efd7f87ee58da9628cbf88c05082e8be255 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:31:09 +0100 Subject: [PATCH 019/443] HOME_DIR fixed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 2eb5de7f652..e499eb4ed23 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -18,7 +18,7 @@ org.opencontainers.image.licenses="MIT" EXPOSE 80/tcp 8443/tcp RUN IF [[ $USERNAME !eq "root" ]]; THEN adduser $USERNAME; ELSE echo "" > /dev/null; FI USER $USERNAME -VOLUME [ "$HOME" ] +VOLUME [ "/home/$USERNAME" ] ENTRYPOINT ["python", "/app/my_script.py"] CMD ["--default-arg"] From 0774ec9586ece1232f9c8f171a616544be0e67c9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:35:26 +0100 Subject: [PATCH 020/443] HOME_DIR fixed. --- docker/rpm-builder/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index e499eb4ed23..f743cf02d19 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -20,14 +20,14 @@ RUN IF [[ $USERNAME !eq "root" ]]; THEN adduser $USERNAME; ELSE echo "" > /dev/n USER $USERNAME VOLUME [ "/home/$USERNAME" ] -ENTRYPOINT ["python", "/app/my_script.py"] -CMD ["--default-arg"] - # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh +# ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/testscript.sh" ] +ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/buildscript.sh" ] +CMD [ "--rpm-build" ] -# Build and runtime dependencies. +# Install build and runtime dependencies. # RUN dnf -y swap curl-minimal curl-full # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced From f3c993ad6cb27757d612d1b5ea8e1256fbb06ee8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:36:51 +0100 Subject: [PATCH 021/443] ENTRYPOINT changed --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index f743cf02d19..134839aad96 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -23,8 +23,8 @@ VOLUME [ "/home/$USERNAME" ] # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh -# ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/testscript.sh" ] -ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/buildscript.sh" ] +# ENTRYPOINT [ "/home/$USERNAME/testscript.sh" ] +ENTRYPOINT [ "/home/$USERNAME/buildscript.sh" ] CMD [ "--rpm-build" ] # Install build and runtime dependencies. From 77cc80f92931f15cb85235775ac6f94b2337eb7e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:41:12 +0100 Subject: [PATCH 022/443] ENTRYPOINT changed --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 134839aad96..7c5af9079b1 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -16,7 +16,7 @@ org.opencontainers.image.licenses="MIT" # Volume, ports and user. EXPOSE 80/tcp 8443/tcp -RUN IF [[ $USERNAME !eq "root" ]]; THEN adduser $USERNAME; ELSE echo "" > /dev/null; FI +RUN IF [ "$USERNAME" = "root" ]; THEN echo "" > /dev/null; ELSE adduser $USERNAME; FI USER $USERNAME VOLUME [ "/home/$USERNAME" ] From 0026a20a6f29b13b65a6daf8ee877f80949bcd53 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:43:40 +0100 Subject: [PATCH 023/443] HOME_DIR fixed. --- docker/rpm-builder/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 7c5af9079b1..f37e495fab8 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -15,16 +15,16 @@ org.opencontainers.image.version="latest" \ org.opencontainers.image.licenses="MIT" # Volume, ports and user. -EXPOSE 80/tcp 8443/tcp -RUN IF [ "$USERNAME" = "root" ]; THEN echo "" > /dev/null; ELSE adduser $USERNAME; FI USER $USERNAME +RUN adduser $USERNAME VOLUME [ "/home/$USERNAME" ] +EXPOSE 80/tcp 8443/tcp # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh -# ENTRYPOINT [ "/home/$USERNAME/testscript.sh" ] -ENTRYPOINT [ "/home/$USERNAME/buildscript.sh" ] +# ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/testscript.sh" ] +ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/buildscript.sh" ] CMD [ "--rpm-build" ] # Install build and runtime dependencies. From 94bce543b88ac408206d00dc8923c39715e95f1f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:45:04 +0100 Subject: [PATCH 024/443] ENTRYPOINT changed --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index f37e495fab8..0caf0fcf0e4 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -23,8 +23,8 @@ EXPOSE 80/tcp 8443/tcp # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh -# ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/testscript.sh" ] -ENTRYPOINT [ "/bin/bash", "-c", "/home/$USERNAME/buildscript.sh" ] +# ENTRYPOINT [ "/home/$USERNAME/testscript.sh" ] +ENTRYPOINT [ "/home/$USERNAME/buildscript.sh" ] CMD [ "--rpm-build" ] # Install build and runtime dependencies. From 957e33559402b17fb68c637f040b16976be35a49 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:53:14 +0100 Subject: [PATCH 025/443] VOLUME changed --- docker/rpm-builder/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 0caf0fcf0e4..0e997edc51b 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -16,13 +16,13 @@ org.opencontainers.image.licenses="MIT" # Volume, ports and user. USER $USERNAME +VOLUME [ "/home/${USERNAME}" ] RUN adduser $USERNAME -VOLUME [ "/home/$USERNAME" ] -EXPOSE 80/tcp 8443/tcp # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh +EXPOSE 80/tcp 8443/tcp # ENTRYPOINT [ "/home/$USERNAME/testscript.sh" ] ENTRYPOINT [ "/home/$USERNAME/buildscript.sh" ] CMD [ "--rpm-build" ] @@ -33,7 +33,7 @@ CMD [ "--rpm-build" ] # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch RUN dnf -y upgrade && \ -dnf -y install dnf-plugins-core sudo rpm-build git nginx golang-bin curl-devel qemu-kvm systemd-journal-remote && \ +dnf -y install sudo git dnf-plugins-core rpm-build golang-bin qemu-kvm nginx curl-devel systemd-journal-remote && \ dnf -y install protobuf-devel protobuf-compiler --enablerepo crb && \ dnf list installed && dnf clean all From 6ba0e55c4a057b3308863d5dc393976c48873fc5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 18:56:05 +0100 Subject: [PATCH 026/443] VOLUME changed --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 0e997edc51b..6c7ff027fe2 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -15,9 +15,9 @@ org.opencontainers.image.version="latest" \ org.opencontainers.image.licenses="MIT" # Volume, ports and user. +RUN adduser $USERNAME USER $USERNAME VOLUME [ "/home/${USERNAME}" ] -RUN adduser $USERNAME # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh From a3cdc2540b5f3a07ac6e2bc5661f75b0aaa74c80 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 19:09:08 +0100 Subject: [PATCH 027/443] HOME_DIR fixed. --- docker/rpm-builder/Dockerfile | 31 ++++++++++++++++--------------- docker/rpm-builder/testscript.sh | 3 ++- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 6c7ff027fe2..9a1697a91f5 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,10 +1,9 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux ARG ROCKY_LINUX_VERSION=9.5 +FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder ARG BAZEL_VERSION=7.6.0 ARG USERNAME="runner" - -FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ org.opencontainers.image.title="RPM Builder" \ @@ -14,6 +13,16 @@ org.opencontainers.image.vendor="Google" \ org.opencontainers.image.version="latest" \ org.opencontainers.image.licenses="MIT" +# Install build and runtime dependencies. +# RUN dnf -y swap curl-minimal curl-full +# RUN dnf -y swap coreutils-single coreutils +# RUN dnf -y install dpkg-dev devscripts vim-enhanced +# RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch +RUN dnf -y upgrade +RUN dnf -y install sudo git dnf-plugins-core rpm-build golang-bin qemu-kvm nginx curl-devel systemd-journal-remote +RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb +RUN dnf list installed && dnf clean all + # Volume, ports and user. RUN adduser $USERNAME USER $USERNAME @@ -27,19 +36,11 @@ EXPOSE 80/tcp 8443/tcp ENTRYPOINT [ "/home/$USERNAME/buildscript.sh" ] CMD [ "--rpm-build" ] -# Install build and runtime dependencies. -# RUN dnf -y swap curl-minimal curl-full -# RUN dnf -y swap coreutils-single coreutils -# RUN dnf -y install dpkg-dev devscripts vim-enhanced -# RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y upgrade && \ -dnf -y install sudo git dnf-plugins-core rpm-build golang-bin qemu-kvm nginx curl-devel systemd-journal-remote && \ -dnf -y install protobuf-devel protobuf-compiler --enablerepo crb && \ -dnf list installed && dnf clean all - # Set up user profile and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ -source ~/.bash_profile && chown $USERNAME:$USERNAME /home/$USERNAME/*.sh && chmod +x /home/$USERNAME/*.sh && \ -go install github.com/bazelbuild/bazelisk@latest -# RUN $GOPATH/bin/bazelisk version +source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest +# RUN $GOPATH/bin/bazelisk version \ + +USER root +RUN chown $USERNAME:$USERNAME /home/$USERNAME/*.sh && chmod +x /home/$USERNAME/*.sh diff --git a/docker/rpm-builder/testscript.sh b/docker/rpm-builder/testscript.sh index 2f3736cb368..14fce7ceb00 100644 --- a/docker/rpm-builder/testscript.sh +++ b/docker/rpm-builder/testscript.sh @@ -1,3 +1,4 @@ #!/usr/bin/env bash +# TODO: somehow obtain the published artifacts. -sudo dnf install cuttlerfish-base +sudo dnf -y install cuttlerfish-*.rpm From 361202d453fc726d4fa11d2985380e0ca538f862 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 19:24:22 +0100 Subject: [PATCH 028/443] ultimately building as root user. --- docker/rpm-builder/Dockerfile | 25 +++++++++---------------- docker/rpm-builder/buildscript.sh | 2 +- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 9a1697a91f5..a2fc0d16c18 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -3,7 +3,9 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder ARG BAZEL_VERSION=7.6.0 -ARG USERNAME="runner" +EXPOSE 80/tcp 8443/tcp +VOLUME [ "/root" ] + LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ org.opencontainers.image.title="RPM Builder" \ @@ -23,24 +25,15 @@ RUN dnf -y install sudo git dnf-plugins-core rpm-build golang-bin qemu-kvm nginx RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb RUN dnf list installed && dnf clean all -# Volume, ports and user. -RUN adduser $USERNAME -USER $USERNAME -VOLUME [ "/home/${USERNAME}" ] - # Add entrypoint scripts. -ADD ./docker/rpm-builder/buildscript.sh /home/$USERNAME/buildscript.sh -ADD ./docker/rpm-builder/testscript.sh /home/$USERNAME/testscript.sh -EXPOSE 80/tcp 8443/tcp -# ENTRYPOINT [ "/home/$USERNAME/testscript.sh" ] -ENTRYPOINT [ "/home/$USERNAME/buildscript.sh" ] -CMD [ "--rpm-build" ] +ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh +ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh +RUN chmod +x /root/*.sh +ENTRYPOINT [ "/root/buildscript.sh" ] +# ENTRYPOINT [ "/root/testscript.sh" ] # Set up user profile and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest -# RUN $GOPATH/bin/bazelisk version \ - -USER root -RUN chown $USERNAME:$USERNAME /home/$USERNAME/*.sh && chmod +x /home/$USERNAME/*.sh +# RUN $GOPATH/bin/bazelisk version diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 47d44f5f018..eab46580669 100644 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -cd /home/runner || exit +cd root || exit # git clone git@github.com:syslogic/android-cuttlefish.git git clone https://github.com/syslogic/android-cuttlefish.git cd android-cuttlefish || exit From 994d68a10f49ac50be8e7663a8cafc2315fa3c10 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 19:36:08 +0100 Subject: [PATCH 029/443] error creating repo wayland. --- base/cvd/MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/cvd/MODULE.bazel b/base/cvd/MODULE.bazel index 702b9815643..ca4e82030db 100644 --- a/base/cvd/MODULE.bazel +++ b/base/cvd/MODULE.bazel @@ -59,6 +59,7 @@ git_override( ) git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") + git_repository( name = "fruit", build_file = "@//:BUILD.fruit.bazel", @@ -146,7 +147,6 @@ git_repository( build_file = "@//build_external/wayland:BUILD.wayland.bazel", commit = "b2649cb3ee6bd70828a17e50beb16591e6066288", # 1.22.0 remote = "https://gitlab.freedesktop.org/wayland/wayland.git", - patch_strip = 1, patches = [ "@//build_external/wayland:PATCH.wayland.wayland_config.patch", ], From 07352eb39834cae6b76d79ce191c6b564d9ef346 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 19:41:00 +0100 Subject: [PATCH 030/443] removed the script, which it cannot find anyway. --- .github/workflows/rpm-builder.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 27f14fcf05b..4e5b595185a 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -104,10 +104,6 @@ jobs: password: ${{ SECRETS.GITHUB_TOKEN }} steps: - - name: Run build script - run: | - whoami - ~/buildscript.sh # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp From 815756caff6cd7dddcd91433987e5bdb22977654 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 20:08:07 +0100 Subject: [PATCH 031/443] libtiinfo.so.5 --- docker/rpm-builder/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index a2fc0d16c18..21c18afed16 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -20,16 +20,20 @@ org.opencontainers.image.licenses="MIT" # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm + RUN dnf -y upgrade RUN dnf -y install sudo git dnf-plugins-core rpm-build golang-bin qemu-kvm nginx curl-devel systemd-journal-remote RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb +RUN dnf -y install ncurses-compat-libs --enablerepo epel + RUN dnf list installed && dnf clean all # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh RUN chmod +x /root/*.sh -ENTRYPOINT [ "/root/buildscript.sh" ] +# ENTRYPOINT [ "/root/buildscript.sh" ] # ENTRYPOINT [ "/root/testscript.sh" ] # Set up user profile and install `bazelisk`. From faf4c515a249dc264293f88431160bd273836974 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 20:48:40 +0100 Subject: [PATCH 032/443] *.spec updated to version 1.2.0 --- docker/rpm-builder/Dockerfile | 18 ++++++++++++------ tools/rpmbuild/SPECS/cuttlefish_base.spec | 10 ++++++---- .../rpmbuild/SPECS/cuttlefish_integration.spec | 7 ++++--- .../SPECS/cuttlefish_orchestration.spec | 8 ++++---- tools/rpmbuild/SPECS/cuttlefish_user.spec | 6 +++--- 5 files changed, 29 insertions(+), 20 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 21c18afed16..7dc5e9ac841 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -20,14 +20,20 @@ org.opencontainers.image.licenses="MIT" # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -RUN dnf -y upgrade -RUN dnf -y install sudo git dnf-plugins-core rpm-build golang-bin qemu-kvm nginx curl-devel systemd-journal-remote +# Install the EPEL repository. +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade + +# Provide build dependencies. +# RUN dnf -y install dnf-plugins-core +RUN dnf -y install git rpm-build golang-bin ncurses-compat-libs curl-devel RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb -RUN dnf -y install ncurses-compat-libs --enablerepo epel -RUN dnf list installed && dnf clean all +# Provide integration and orchestration dependencies. +RUN dnf -y install qemu-kvm nginx systemd-journal-remote + +# RUN dnf list installed +RUN dnf clean all # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh @@ -36,7 +42,7 @@ RUN chmod +x /root/*.sh # ENTRYPOINT [ "/root/buildscript.sh" ] # ENTRYPOINT [ "/root/testscript.sh" ] -# Set up user profile and install `bazelisk`. +# Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest diff --git a/tools/rpmbuild/SPECS/cuttlefish_base.spec b/tools/rpmbuild/SPECS/cuttlefish_base.spec index 414b25b1a72..547186c18ea 100644 --- a/tools/rpmbuild/SPECS/cuttlefish_base.spec +++ b/tools/rpmbuild/SPECS/cuttlefish_base.spec @@ -1,5 +1,5 @@ Name: cuttlefish-base -Version: 0.9.29 +Version: 1.2.0 Release: 1%{?dist} Summary: Cuttlefish Android Virtual Device @@ -8,7 +8,9 @@ URL: https://github.com/google/android-cuttlefish BuildArch: x86_64 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: curl-devel, openssl-devel, protobuf-devel, protobuf-compiler + +# Note: `ncurses-compat-libs` require EPEL repository and `protobuf` requires CRB repository. +BuildRequires: curl-devel, openssl-devel, ncurses-compat-libs, protobuf-devel, protobuf-compiler Requires: shadow-utils, redhat-lsb-core, ebtables-legacy, iproute Requires: iptables-legacy, bridge-utils, dnsmasq, libfdt, e2fsprogs, ebtables, iptables, bsdtar @@ -106,10 +108,10 @@ fi /lib/udev/rules.d/60-cuttlefish-integration.rules #%%license add-license-file-here -#%%doc add-docs-here +#%%doc add-docs-here %changelog -* Thu Jul 11 2024 Martin Zeitler +* Thu Jul 11 2024 Martin Zeitler - Initial version. diff --git a/tools/rpmbuild/SPECS/cuttlefish_integration.spec b/tools/rpmbuild/SPECS/cuttlefish_integration.spec index b76b36c3715..cc838d4c14d 100644 --- a/tools/rpmbuild/SPECS/cuttlefish_integration.spec +++ b/tools/rpmbuild/SPECS/cuttlefish_integration.spec @@ -1,5 +1,5 @@ Name: cuttlefish-integration -Version: 0.9.29 +Version: 1.2.0 Release: 1%{?dist} Summary: Contains the host signaling server supporting multi-device flows over WebRTC. @@ -10,7 +10,7 @@ BuildArch: x86_64 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) #BuildRequires: -Requires: qemu-kvm, cuttlefish-base +Requires: cuttlefish-base, qemu-kvm %description Cuttlefish Android Virtual Device companion package @@ -48,6 +48,7 @@ install -m 655 %{srcpath}/cuttlefish-integration.udev %{buildroot}/lib/udev/rule /lib/udev/rules.d/60-cuttlefish-integration.rules #%%license add-license-file-here + #%%doc add-docs-here %post @@ -62,6 +63,6 @@ systemctl restart systemd-modules-load.service systemctl reload rsyslog.service %changelog -* Thu Jul 11 2024 Martin Zeitler +* Thu Jul 11 2024 Martin Zeitler - Initial version. diff --git a/tools/rpmbuild/SPECS/cuttlefish_orchestration.spec b/tools/rpmbuild/SPECS/cuttlefish_orchestration.spec index ea3659b2f14..54376c2aad5 100644 --- a/tools/rpmbuild/SPECS/cuttlefish_orchestration.spec +++ b/tools/rpmbuild/SPECS/cuttlefish_orchestration.spec @@ -1,5 +1,5 @@ Name: cuttlefish-orchestration -Version: 0.9.29 +Version: 1.2.0 Release: 1%{?dist} Summary: Contains the host orchestrator. @@ -10,7 +10,7 @@ BuildArch: x86_64 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl -Requires: cuttlefish-base, cuttlefish-user, shadow-utils, bash, openssl, nginx, systemd-journal-remote +Requires: cuttlefish-base, cuttlefish-user, bash, shadow-utils, openssl, nginx, systemd-journal-remote %description Cuttlefish Android Virtual Device companion package @@ -51,8 +51,8 @@ install -m 655 %{srcpath}/etc/sudoers.d/cuttlefish-orchestration %{buildroot}/et /etc/sudoers.d/cuttlefish-orchestration #%%license add-license-file-here -#%%doc add-docs-here +#%%doc add-docs-here %post ln -sf /usr/lib/cuttlefish-common/bin/cvd /usr/bin/fetch_cvd @@ -83,6 +83,6 @@ fi systemctl try-reload-or-restart nginx.service %changelog -* Thu Jul 11 2024 Martin Zeitler +* Thu Jul 11 2024 Martin Zeitler - Initial version. diff --git a/tools/rpmbuild/SPECS/cuttlefish_user.spec b/tools/rpmbuild/SPECS/cuttlefish_user.spec index 4f0165ef46e..a2f7e39cf43 100644 --- a/tools/rpmbuild/SPECS/cuttlefish_user.spec +++ b/tools/rpmbuild/SPECS/cuttlefish_user.spec @@ -1,5 +1,5 @@ Name: cuttlefish-user -Version: 0.9.29 +Version: 1.2.0 Release: 1%{?dist} Summary: Contains the host signaling server supporting multi-device flows over WebRTC. @@ -10,7 +10,7 @@ BuildArch: x86_64 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: golang-bin -Requires: cuttlefish-base, openssl, shadow-utils +Requires: cuttlefish-base, shadow-utils, openssl %description Cuttlefish Android Virtual Device companion package @@ -88,6 +88,6 @@ fi %changelog -* Thu Jul 11 2024 Martin Zeitler +* Thu Jul 11 2024 Martin Zeitler - Initial version. From 190ce74c7a208d0c6afa5c1d3e78d604aa57cad2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 21:23:55 +0100 Subject: [PATCH 033/443] workflows split up. --- .github/workflows/reusable-docker.yml | 54 ++++++++++++++++++++++++ .github/workflows/rpm-builder.yml | 61 ++++----------------------- 2 files changed, 62 insertions(+), 53 deletions(-) create mode 100644 .github/workflows/reusable-docker.yml diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml new file mode 100644 index 00000000000..6cc25bcc3ff --- /dev/null +++ b/.github/workflows/reusable-docker.yml @@ -0,0 +1,54 @@ +name: Docker Container + +on: + workflow_call: + inputs: + docker-image: + required: true + type: string + entry-point: + required: false + type: string + default: '/root/buildscript.sh' + secrets: + token: + required: true + +jobs: + docker-run: + runs-on: ubuntu-latest + container: + image: 'docker://${{ INPUTS.DOCKER_IMAGE }}' + volumes: + - /home/runner + credentials: + username: ${{ GITHUB.ACTOR }} + password: ${{ SECRETS.TOKEN }} + + steps: + + # https://docs.docker.com/reference/cli/docker/container/cp/ + - name: Copy from container to file-system /tmp + run: | + docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + + # https://github.com/actions/upload-artifact + - name: Retain Artifacts (*.rpm) + id: retain-rpm + uses: 'actions/upload-artifact@v4' + with: + name: android-cuttlefish-rpm + path: | + ${{ GITHUB.WORKSPACE }}/*.rpm + retention-days: 14 + + # https://github.com/actions/upload-artifact + - name: Retain Artifacts (*.srpm) + id: retain-srpm + uses: 'actions/upload-artifact@v4' + with: + name: android-cuttlefish-srpm + path: | + ${{ GITHUB.WORKSPACE }}/*.srpm + retention-days: 14 diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 4e5b595185a..963b1162e7f 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -93,59 +93,14 @@ jobs: build-rpm-specs: needs: build-docker-image - runs-on: ubuntu-latest - - container: - image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' - volumes: - - /home/runner - credentials: - username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} - - steps: - - # https://docs.docker.com/reference/cli/docker/container/cp/ - - name: Copy from container to file-system /tmp - run: | - docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} - - # https://github.com/actions/upload-artifact - - name: Retain Artifacts (*.rpm) - id: retain-rpm - uses: 'actions/upload-artifact@v4' - with: - name: android-cuttlefish-rpm - path: | - ${{ GITHUB.WORKSPACE }}/*.rpm - retention-days: 14 - - # https://github.com/actions/upload-artifact - - name: Retain Artifacts (*.srpm) - id: retain-srpm - uses: 'actions/upload-artifact@v4' - with: - name: android-cuttlefish-srpm - path: | - ${{ GITHUB.WORKSPACE }}/*.srpm - retention-days: 14 + uses: ./.github/workflows/reusable-docker.yml + with: + docker-image: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + entry-point: '/root/buildscript.sh' test-rpm-packages: needs: build-rpm-specs - runs-on: ubuntu-latest - - container: - image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' - volumes: - - /home/runner - ports: [80, 8443] - credentials: - username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} - - steps: - - name: Run test script - run: | - whoami - ~/testscript.sh \ No newline at end of file + uses: ./.github/workflows/reusable-docker.yml + with: + docker-image: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + entry-point: '/root/testscript.sh' \ No newline at end of file From 33affabda0e7cbb4b83a7cf20854a54aad70eaa4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 21:28:41 +0100 Subject: [PATCH 034/443] sudo added back in, as the build script needs it. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 7dc5e9ac841..7285f6cd539 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -26,7 +26,7 @@ RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.n # Provide build dependencies. # RUN dnf -y install dnf-plugins-core -RUN dnf -y install git rpm-build golang-bin ncurses-compat-libs curl-devel +RUN dnf -y install git sudo rpm-build golang-bin ncurses-compat-libs curl-devel RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb # Provide integration and orchestration dependencies. From 3dea2607692b64ca1c223293aa90c03a48bf8c68 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 21:31:42 +0100 Subject: [PATCH 035/443] variables replaced. --- .github/workflows/rpm-builder.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 963b1162e7f..3706395bfb6 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -95,12 +95,12 @@ jobs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml with: - docker-image: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' entry-point: '/root/buildscript.sh' test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' entry-point: '/root/testscript.sh' \ No newline at end of file From 634a79afafa72a7f724219fdbec48621f4b9eff1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 21:43:56 +0100 Subject: [PATCH 036/443] *.spec updated to version 1.2.0 --- .github/workflows/reusable-docker.yml | 5 +---- .github/workflows/rpm-builder.yml | 6 +++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 6cc25bcc3ff..8cd4680e3f2 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -10,9 +10,6 @@ on: required: false type: string default: '/root/buildscript.sh' - secrets: - token: - required: true jobs: docker-run: @@ -23,7 +20,7 @@ jobs: - /home/runner credentials: username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.TOKEN }} + password: ${{ SECRETS.GITHUB_TOKEN }} steps: diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 3706395bfb6..197bf608c6a 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -97,10 +97,14 @@ jobs: with: docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' entry-point: '/root/buildscript.sh' + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' - entry-point: '/root/testscript.sh' \ No newline at end of file + entry-point: '/root/testscript.sh' + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} \ No newline at end of file From 011c7769a01f9717808d17bf6379fea11327f23c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 21:45:15 +0100 Subject: [PATCH 037/443] not passing secrets anymore. --- .github/workflows/rpm-builder.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 197bf608c6a..3ea040774f1 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -97,14 +97,10 @@ jobs: with: docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' entry-point: '/root/buildscript.sh' - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} - + test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' - entry-point: '/root/testscript.sh' - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} \ No newline at end of file + entry-point: '/root/testscript.sh' \ No newline at end of file From b387c5049eb93da79520203b94c90e52dbc4ba1b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 21:51:13 +0100 Subject: [PATCH 038/443] more ports added. --- docker/rpm-builder/Dockerfile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 7285f6cd539..1db1df54e9d 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -3,9 +3,17 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder ARG BAZEL_VERSION=7.6.0 -EXPOSE 80/tcp 8443/tcp VOLUME [ "/root" ] +# Expose Operator Port (HTTP:1080, HTTPS:1443) +EXPOSE 1080 1443 +# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) +EXPOSE 2080 2443 +# Expose WebRTC +EXPOSE 8443/tcp 15550-15560 +# Expose ADB +EXPOSE 6520-6620 + LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ org.opencontainers.image.title="RPM Builder" \ From 331426f50aecc9f9292029e7811b0eaa7c75825b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 21:55:48 +0100 Subject: [PATCH 039/443] reusable task changed. --- .github/workflows/reusable-docker.yml | 2 +- .github/workflows/rpm-builder.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 8cd4680e3f2..401ecd9c957 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -15,7 +15,7 @@ jobs: docker-run: runs-on: ubuntu-latest container: - image: 'docker://${{ INPUTS.DOCKER_IMAGE }}' + image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/${{ INPUTS.DOCKER_IMAGE }}:latest' volumes: - /home/runner credentials: diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 3ea040774f1..e1f0578287f 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -95,12 +95,12 @@ jobs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml with: - docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' + docker-image: 'rpm-builder' entry-point: '/root/buildscript.sh' - + test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: 'ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' - entry-point: '/root/testscript.sh' \ No newline at end of file + docker-image: 'rpm-builder' + entry-point: '/root/testscript.sh' From 5f36b183a9c3f3febf6bfe3250a9f144a327c8d4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:09:24 +0100 Subject: [PATCH 040/443] docker-image changed. --- .github/workflows/reusable-docker.yml | 2 +- .github/workflows/rpm-builder.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 401ecd9c957..db228c3e98b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -15,7 +15,7 @@ jobs: docker-run: runs-on: ubuntu-latest container: - image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/${{ INPUTS.DOCKER_IMAGE }}:latest' + image: ${{ INPUTS.DOCKER_IMAGE }} volumes: - /home/runner credentials: diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index e1f0578287f..9024231bf20 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -95,12 +95,12 @@ jobs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml with: - docker-image: 'rpm-builder' + docker-image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' entry-point: '/root/buildscript.sh' test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: 'rpm-builder' + docker-image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' entry-point: '/root/testscript.sh' From f5430e2be3b2be979cb92df6fcd08e07039cf7df Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:17:48 +0100 Subject: [PATCH 041/443] only using GITHUB.ACTOR and GITHUB.WORKSPACE --- .github/workflows/reusable-docker.yml | 5 ++++- .github/workflows/rpm-builder.yml | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index db228c3e98b..a6b9440eb2c 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -10,6 +10,9 @@ on: required: false type: string default: '/root/buildscript.sh' + secrets: + token: + required: true jobs: docker-run: @@ -20,7 +23,7 @@ jobs: - /home/runner credentials: username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} + password: ${{ SECRETS.TOKEN }} steps: diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 9024231bf20..a8b0f1f7829 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -91,16 +91,20 @@ jobs: subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true + outputs: + docker-image: 'docker://${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + build-rpm-specs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml with: - docker-image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' + docker-image: ${{ inputs.docker-image }} entry-point: '/root/buildscript.sh' + secrets: - test-rpm-packages: + test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: 'docker://ghcr.io/${{ GITHUB.ACTOR }}/rpm-builder:latest' + docker-image: ${{ inputs.docker-image }} entry-point: '/root/testscript.sh' From e7fd2a66291ae06a0443c1e37bc6bfb0589c1fa8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:19:54 +0100 Subject: [PATCH 042/443] only using GITHUB.ACTOR and GITHUB.WORKSPACE --- .github/workflows/rpm-builder.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index a8b0f1f7829..759baef7ee0 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -101,10 +101,13 @@ jobs: docker-image: ${{ inputs.docker-image }} entry-point: '/root/buildscript.sh' secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} - test-rpm-packages: + test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ inputs.docker-image }} entry-point: '/root/testscript.sh' + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} \ No newline at end of file From 7868b1606dabf682e931cd6be8abdaff6b74106d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:31:21 +0100 Subject: [PATCH 043/443] passing the token. --- .github/workflows/reusable-docker.yml | 4 ++++ .github/workflows/rpm-builder.yml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a6b9440eb2c..698554d0105 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -19,6 +19,8 @@ jobs: runs-on: ubuntu-latest container: image: ${{ INPUTS.DOCKER_IMAGE }} + # https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container#setting-container-resource-options + options: '--entrypoint ${{ INPUTS.ENTRY_POINT }}' volumes: - /home/runner credentials: @@ -35,6 +37,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) + if: ${{ INPUTS.ENTRY_POINT == '/root/buildscript.sh' }} id: retain-rpm uses: 'actions/upload-artifact@v4' with: @@ -45,6 +48,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.srpm) + if: ${{ INPUTS.ENTRY_POINT == '/root/buildscript.sh' }} id: retain-srpm uses: 'actions/upload-artifact@v4' with: diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 759baef7ee0..87e3f37392e 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -110,4 +110,4 @@ jobs: docker-image: ${{ inputs.docker-image }} entry-point: '/root/testscript.sh' secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} \ No newline at end of file + token: ${{ SECRETS.GITHUB_TOKEN }} From 55f5abb05aad18528514ba809c54b5c0023a6a4e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:33:32 +0100 Subject: [PATCH 044/443] --cpus 1 added. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 698554d0105..c693624419d 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -20,7 +20,7 @@ jobs: container: image: ${{ INPUTS.DOCKER_IMAGE }} # https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container#setting-container-resource-options - options: '--entrypoint ${{ INPUTS.ENTRY_POINT }}' + options: '--cpus 1 --entrypoint ${{ INPUTS.ENTRY_POINT }}' volumes: - /home/runner credentials: From c9a840a2182a411e5c5c073cd37cf583e0c97471 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:39:12 +0100 Subject: [PATCH 045/443] container ID fixed. --- .github/workflows/reusable-docker.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c693624419d..0f8fcc63e47 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -32,8 +32,9 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp run: | - docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - docker cp CONTAINER:/home/runner/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + CID=$(docker ps --format '{{.Names}}') + docker cp CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + docker cp CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) From 05a3325433697913d0040f96d1b9b23692e1a717 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:39:41 +0100 Subject: [PATCH 046/443] container ID fixed. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 0f8fcc63e47..13b3505884d 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -32,7 +32,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp run: | - CID=$(docker ps --format '{{.Names}}') + CID=$(docker ps --format '{{.ID}}') docker cp CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} From db5213da514a66b29e7f1707759f075c5be561b1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:43:23 +0100 Subject: [PATCH 047/443] container ID fixed. --- .github/workflows/reusable-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 13b3505884d..2c8d6589a30 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -32,9 +32,9 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp run: | - CID=$(docker ps --format '{{.ID}}') - docker cp CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - docker cp CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + export CID=`docker ps --format '{{.ID}}` + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) From fc8a8f58ccc34c8ba68a6a8dc3b791dada0fe891 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:47:05 +0100 Subject: [PATCH 048/443] typo. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 2c8d6589a30..02ccf5495a4 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -32,7 +32,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp run: | - export CID=`docker ps --format '{{.ID}}` + export CID=`docker ps --format '{{.ID}}'` docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} From 0b2a75b3a3f2f53fcc421393163aff3564cf62d0 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:53:37 +0100 Subject: [PATCH 049/443] step made conditional. --- .github/workflows/reusable-docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 02ccf5495a4..ced708dab9e 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -31,6 +31,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp + if: ${{ INPUTS.ENTRY_POINT == '/root/buildscript.sh' }} run: | export CID=`docker ps --format '{{.ID}}'` docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} From b0e327ae7169ec91e4e1cafdbf0317b7a407dab6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 22:58:12 +0100 Subject: [PATCH 050/443] just running the script? --- .github/workflows/reusable-docker.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index ced708dab9e..88266dc88a9 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -33,6 +33,7 @@ jobs: - name: Copy from container to file-system /tmp if: ${{ INPUTS.ENTRY_POINT == '/root/buildscript.sh' }} run: | + ${{ INPUTS.ENTRY_POINT }} export CID=`docker ps --format '{{.ID}}'` docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} @@ -58,3 +59,9 @@ jobs: path: | ${{ GITHUB.WORKSPACE }}/*.srpm retention-days: 14 + + # https://docs.docker.com/reference/cli/docker/container/cp/ + - name: Copy from container to file-system /tmp + if: ${{ INPUTS.ENTRY_POINT == '/root/testscript.sh' }} + run: | + ${{ INPUTS.ENTRY_POINT }} From c2094f997503951f38b3838cfee898cc15729f6b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:04:50 +0100 Subject: [PATCH 051/443] IF condition fixed. --- .github/workflows/reusable-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 88266dc88a9..c16224259cf 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -40,7 +40,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) - if: ${{ INPUTS.ENTRY_POINT == '/root/buildscript.sh' }} + if: ${{ endsWith(INPUTS.ENTRY_POINT, 'buildscript.sh') }} id: retain-rpm uses: 'actions/upload-artifact@v4' with: @@ -51,7 +51,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.srpm) - if: ${{ INPUTS.ENTRY_POINT == '/root/buildscript.sh' }} + if: ${{ endsWith(INPUTS.ENTRY_POINT, 'buildscript.sh') }} id: retain-srpm uses: 'actions/upload-artifact@v4' with: @@ -62,6 +62,6 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp - if: ${{ INPUTS.ENTRY_POINT == '/root/testscript.sh' }} + if: ${{ ! endsWith(INPUTS.ENTRY_POINT, 'buildscript.sh') }} run: | ${{ INPUTS.ENTRY_POINT }} From 2e8fc441e4fea201f03123692f2fda00bb87bc6a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:08:47 +0100 Subject: [PATCH 052/443] IF condition fixed. --- .github/workflows/reusable-docker.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c16224259cf..1d70c29b720 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -31,7 +31,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp - if: ${{ INPUTS.ENTRY_POINT == '/root/buildscript.sh' }} + if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} run: | ${{ INPUTS.ENTRY_POINT }} export CID=`docker ps --format '{{.ID}}'` @@ -40,7 +40,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) - if: ${{ endsWith(INPUTS.ENTRY_POINT, 'buildscript.sh') }} + if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} id: retain-rpm uses: 'actions/upload-artifact@v4' with: @@ -51,7 +51,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.srpm) - if: ${{ endsWith(INPUTS.ENTRY_POINT, 'buildscript.sh') }} + if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} id: retain-srpm uses: 'actions/upload-artifact@v4' with: @@ -62,6 +62,5 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp - if: ${{ ! endsWith(INPUTS.ENTRY_POINT, 'buildscript.sh') }} - run: | - ${{ INPUTS.ENTRY_POINT }} + if: ${{ contains(INPUTS.ENTRY_POINT, 'test') }} + run: ${{ INPUTS.ENTRY_POINT }} From 8ba26ad8ddb06d3b7d47f2d38b009faf69601b79 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:20:39 +0100 Subject: [PATCH 053/443] step ids added. --- .github/workflows/reusable-docker.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 1d70c29b720..a0b34fe1c3e 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -13,6 +13,10 @@ on: secrets: token: required: true + outputs: + build: + description: "The first output string" + value: ${{ jobs.docker-run.outputs.build }} jobs: docker-run: @@ -20,23 +24,31 @@ jobs: container: image: ${{ INPUTS.DOCKER_IMAGE }} # https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container#setting-container-resource-options - options: '--cpus 1 --entrypoint ${{ INPUTS.ENTRY_POINT }}' + options: '--cpus 1' volumes: - /home/runner credentials: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.TOKEN }} + outputs: + build: ${{ steps.copy-rpm-packages.outputs.result }} + test: ${{ steps.test-rpm-packages.outputs.result }} + steps: + - id: step1 + run: echo "firstword=hello" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp + id: copy-rpm-packages if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} run: | ${{ INPUTS.ENTRY_POINT }} export CID=`docker ps --format '{{.ID}}'` docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) @@ -62,5 +74,8 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp + id: test-rpm-packages if: ${{ contains(INPUTS.ENTRY_POINT, 'test') }} - run: ${{ INPUTS.ENTRY_POINT }} + run: | + ${{ INPUTS.ENTRY_POINT }} + echo "result=ok" >> $GITHUB_OUTPUT From ff3a4d710dfe2405762e862177ac74fab5ce6963 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:31:44 +0100 Subject: [PATCH 054/443] outputs added. --- .github/workflows/reusable-docker.yml | 34 +++++++++++++-------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a0b34fe1c3e..d97d701f5f3 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -2,6 +2,9 @@ name: Docker Container on: workflow_call: + secrets: + token: + required: true inputs: docker-image: required: true @@ -10,42 +13,37 @@ on: required: false type: string default: '/root/buildscript.sh' - secrets: - token: - required: true outputs: - build: - description: "The first output string" - value: ${{ jobs.docker-run.outputs.build }} + container: ${{ jobs.docker-run.outputs.container }} + build: ${{ jobs.docker-run.outputs.build }} + test: ${{ jobs.docker-run.outputs.test }} jobs: docker-run: runs-on: ubuntu-latest container: image: ${{ INPUTS.DOCKER_IMAGE }} - # https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container#setting-container-resource-options options: '--cpus 1' - volumes: - - /home/runner credentials: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.TOKEN }} - + volumes: + - /home/runner outputs: + container: ${{ steps.container-id.outputs.result }} build: ${{ steps.copy-rpm-packages.outputs.result }} test: ${{ steps.test-rpm-packages.outputs.result }} - steps: - - id: step1 - run: echo "firstword=hello" >> $GITHUB_OUTPUT + - name: Container ID + id: container-id + run: echo "result=`docker ps --format '{{.ID}}'`" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp - id: copy-rpm-packages if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} + id: copy-rpm-packages run: | ${{ INPUTS.ENTRY_POINT }} - export CID=`docker ps --format '{{.ID}}'` docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -53,8 +51,8 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} - id: retain-rpm uses: 'actions/upload-artifact@v4' + id: retain-rpm with: name: android-cuttlefish-rpm path: | @@ -64,8 +62,8 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.srpm) if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} - id: retain-srpm uses: 'actions/upload-artifact@v4' + id: retain-srpm with: name: android-cuttlefish-srpm path: | @@ -74,8 +72,8 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp - id: test-rpm-packages if: ${{ contains(INPUTS.ENTRY_POINT, 'test') }} + id: test-rpm-packages run: | ${{ INPUTS.ENTRY_POINT }} echo "result=ok" >> $GITHUB_OUTPUT From f519f5f4d692d254f136426af2b49eae3799f047 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:35:44 +0100 Subject: [PATCH 055/443] outputs added. --- .github/workflows/reusable-docker.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index d97d701f5f3..31b55b1dc96 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -14,9 +14,15 @@ on: type: string default: '/root/buildscript.sh' outputs: - container: ${{ jobs.docker-run.outputs.container }} - build: ${{ jobs.docker-run.outputs.build }} - test: ${{ jobs.docker-run.outputs.test }} + container: + value: ${{ jobs.docker-run.outputs.container }} + description: "Container output" + build: + value: ${{ jobs.docker-run.outputs.build }} + description: "Build output" + test: + value: ${{ jobs.docker-run.outputs.test }} + description: "Test output" jobs: docker-run: From 3a5e3e749ccf7d1beb1e6e17db6d1bb1b29a81ab Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:43:23 +0100 Subject: [PATCH 056/443] steps merged. --- .github/workflows/reusable-docker.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 31b55b1dc96..2b9d071f080 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -16,7 +16,7 @@ on: outputs: container: value: ${{ jobs.docker-run.outputs.container }} - description: "Container output" + description: "Container ID" build: value: ${{ jobs.docker-run.outputs.build }} description: "Build output" @@ -35,14 +35,12 @@ jobs: password: ${{ SECRETS.TOKEN }} volumes: - /home/runner + outputs: - container: ${{ steps.container-id.outputs.result }} build: ${{ steps.copy-rpm-packages.outputs.result }} test: ${{ steps.test-rpm-packages.outputs.result }} + steps: - - name: Container ID - id: container-id - run: echo "result=`docker ps --format '{{.ID}}'`" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp @@ -50,6 +48,7 @@ jobs: id: copy-rpm-packages run: | ${{ INPUTS.ENTRY_POINT }} + CID='' && echo `docker ps --format '{{.ID}}'` >> $CID docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT From 83a5237d03d4e4aa52629ff62945b847c439ff25 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:46:58 +0100 Subject: [PATCH 057/443] ${{ ENV.REPO_NAME }} added. --- .github/workflows/reusable-docker.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 2b9d071f080..aaf798e6f3b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -24,6 +24,9 @@ on: value: ${{ jobs.docker-run.outputs.test }} description: "Test output" +env: + REPO_NAME: ${{ github.event.repository.name }} + jobs: docker-run: runs-on: ubuntu-latest @@ -49,8 +52,8 @@ jobs: run: | ${{ INPUTS.ENTRY_POINT }} CID='' && echo `docker ps --format '{{.ID}}'` >> $CID - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact @@ -59,7 +62,7 @@ jobs: uses: 'actions/upload-artifact@v4' id: retain-rpm with: - name: android-cuttlefish-rpm + name: ${{ ENV.REPO_NAME }}-rpm path: | ${{ GITHUB.WORKSPACE }}/*.rpm retention-days: 14 @@ -70,7 +73,7 @@ jobs: uses: 'actions/upload-artifact@v4' id: retain-srpm with: - name: android-cuttlefish-srpm + name: ${{ ENV.REPO_NAME }}-srpm path: | ${{ GITHUB.WORKSPACE }}/*.srpm retention-days: 14 From 64c3208f48fffafd7004e515c5ecfd671b9b7dc7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:49:24 +0100 Subject: [PATCH 058/443] GITHUB.REPOSITORY added. --- .github/workflows/reusable-docker.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index aaf798e6f3b..d56e944ea01 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -24,9 +24,6 @@ on: value: ${{ jobs.docker-run.outputs.test }} description: "Test output" -env: - REPO_NAME: ${{ github.event.repository.name }} - jobs: docker-run: runs-on: ubuntu-latest @@ -52,8 +49,8 @@ jobs: run: | ${{ INPUTS.ENTRY_POINT }} CID='' && echo `docker ps --format '{{.ID}}'` >> $CID - docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact @@ -62,7 +59,7 @@ jobs: uses: 'actions/upload-artifact@v4' id: retain-rpm with: - name: ${{ ENV.REPO_NAME }}-rpm + name: ${{ GITHUB.REPOSITORY }}-rpm path: | ${{ GITHUB.WORKSPACE }}/*.rpm retention-days: 14 @@ -75,7 +72,7 @@ jobs: with: name: ${{ ENV.REPO_NAME }}-srpm path: | - ${{ GITHUB.WORKSPACE }}/*.srpm + ${{ GITHUB.REPOSITORY }}/*.srpm retention-days: 14 # https://docs.docker.com/reference/cli/docker/container/cp/ From c35edb69f8902ad18f9e6d6ec2d562d9aacf751a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:51:31 +0100 Subject: [PATCH 059/443] GITHUB.REPOSITORY added. --- .github/workflows/reusable-docker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index d56e944ea01..13f139713af 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -28,7 +28,7 @@ jobs: docker-run: runs-on: ubuntu-latest container: - image: ${{ INPUTS.DOCKER_IMAGE }} + image: ${{ INPUTS.DOCKER-IMAGE }} options: '--cpus 1' credentials: username: ${{ GITHUB.ACTOR }} @@ -55,7 +55,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) - if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} + if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} uses: 'actions/upload-artifact@v4' id: retain-rpm with: @@ -66,7 +66,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.srpm) - if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} + if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} uses: 'actions/upload-artifact@v4' id: retain-srpm with: @@ -77,7 +77,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp - if: ${{ contains(INPUTS.ENTRY_POINT, 'test') }} + if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | ${{ INPUTS.ENTRY_POINT }} From ac598347343ca714fce8b19b48ec492231ac179f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:55:07 +0100 Subject: [PATCH 060/443] typo. --- .github/workflows/reusable-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 13f139713af..0b151047c3b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -44,10 +44,10 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Copy from container to file-system /tmp - if: ${{ contains(INPUTS.ENTRY_POINT, 'build') }} + if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: copy-rpm-packages run: | - ${{ INPUTS.ENTRY_POINT }} + ${{ INPUTS.ENTRY-POINT }} CID='' && echo `docker ps --format '{{.ID}}'` >> $CID docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} @@ -80,5 +80,5 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - ${{ INPUTS.ENTRY_POINT }} + ${{ INPUTS.ENTRY-POINT }} echo "result=ok" >> $GITHUB_OUTPUT From e47fba9921cd56a1fa2e04582c16f8397e004bdb Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Thu, 27 Mar 2025 23:59:30 +0100 Subject: [PATCH 061/443] buildscript.sh: Permission denied --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 0b151047c3b..06900233865 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -47,7 +47,7 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: copy-rpm-packages run: | - ${{ INPUTS.ENTRY-POINT }} + sudo ${{ INPUTS.ENTRY-POINT }} CID='' && echo `docker ps --format '{{.ID}}'` >> $CID docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} @@ -80,5 +80,5 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - ${{ INPUTS.ENTRY-POINT }} + sudo ${{ INPUTS.ENTRY-POINT }} echo "result=ok" >> $GITHUB_OUTPUT From 50c4e837aad334a5251577a715b93753fa707d3d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:09:33 +0100 Subject: [PATCH 062/443] buildscript.sh: Permission denied --- .github/workflows/reusable-docker.yml | 32 +++++++++++++++++++++++++-- .github/workflows/rpm-builder.yml | 4 ++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 06900233865..6695d07d263 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -25,8 +25,10 @@ on: description: "Test output" jobs: - docker-run: + docker-build: runs-on: ubuntu-latest + if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} + container: image: ${{ INPUTS.DOCKER-IMAGE }} options: '--cpus 1' @@ -47,8 +49,8 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: copy-rpm-packages run: | - sudo ${{ INPUTS.ENTRY-POINT }} CID='' && echo `docker ps --format '{{.ID}}'` >> $CID + docker exec $CID ${{ INPUTS.ENTRY-POINT }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -82,3 +84,29 @@ jobs: run: | sudo ${{ INPUTS.ENTRY-POINT }} echo "result=ok" >> $GITHUB_OUTPUT + + docker-test: + if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} + runs-on: ubuntu-latest + needs: docker-build + container: + image: ${{ INPUTS.DOCKER-IMAGE }} + options: '--cpus 1' + credentials: + username: ${{ GITHUB.ACTOR }} + password: ${{ SECRETS.TOKEN }} + volumes: + - /home/runner + + outputs: + test: ${{ steps.test-rpm-packages.outputs.result }} + + steps: + + # https://docs.docker.com/reference/cli/docker/container/cp/ + - name: Copy from container to file-system /tmp + id: test-rpm-packages + run: | + CID='' && echo `docker ps --format '{{.ID}}'` >> $CID + docker exec $CID ${{ INPUTS.ENTRY-POINT }} + echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 87e3f37392e..1798624647d 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -98,7 +98,7 @@ jobs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ inputs.docker-image }} + docker-image: ${{ INPUTS.DOCKER-IMAGE }} entry-point: '/root/buildscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} @@ -107,7 +107,7 @@ jobs: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ inputs.docker-image }} + docker-image: ${{ INPUTS.DOCKER-IMAGE }} entry-point: '/root/testscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} From 0c448e45ddc390adbc011d4e59ef37d47d8de8f5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:11:15 +0100 Subject: [PATCH 063/443] comment added. --- docker/rpm-builder/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 1db1df54e9d..0d5a4d3ded1 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -47,6 +47,8 @@ RUN dnf clean all ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh RUN chmod +x /root/*.sh + +# ENTRYPOINT [ "/root/buildscript.sh", "/root/testscript.sh" ] # ENTRYPOINT [ "/root/buildscript.sh" ] # ENTRYPOINT [ "/root/testscript.sh" ] From 4ff24c06c8142fec5d0e803098192b221480df16 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:15:11 +0100 Subject: [PATCH 064/443] second job removed again. --- .github/workflows/reusable-docker.yml | 31 +++------------------------ 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 6695d07d263..656b183d104 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -45,7 +45,7 @@ jobs: steps: # https://docs.docker.com/reference/cli/docker/container/cp/ - - name: Copy from container to file-system /tmp + - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: copy-rpm-packages run: | @@ -78,35 +78,10 @@ jobs: retention-days: 14 # https://docs.docker.com/reference/cli/docker/container/cp/ - - name: Copy from container to file-system /tmp + - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} - id: test-rpm-packages - run: | - sudo ${{ INPUTS.ENTRY-POINT }} - echo "result=ok" >> $GITHUB_OUTPUT - - docker-test: - if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} - runs-on: ubuntu-latest - needs: docker-build - container: - image: ${{ INPUTS.DOCKER-IMAGE }} - options: '--cpus 1' - credentials: - username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.TOKEN }} - volumes: - - /home/runner - - outputs: - test: ${{ steps.test-rpm-packages.outputs.result }} - - steps: - - # https://docs.docker.com/reference/cli/docker/container/cp/ - - name: Copy from container to file-system /tmp id: test-rpm-packages run: | CID='' && echo `docker ps --format '{{.ID}}'` >> $CID docker exec $CID ${{ INPUTS.ENTRY-POINT }} - echo "result=ok" >> $GITHUB_OUTPUT + echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 8607d9999d52350b452846b756aaf2f33bad4e63 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:16:23 +0100 Subject: [PATCH 065/443] ambiguous redirect fixed. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 656b183d104..a3302923590 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -49,7 +49,7 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: copy-rpm-packages run: | - CID='' && echo `docker ps --format '{{.ID}}'` >> $CID + CID=`docker ps --format '{{.ID}}'` docker exec $CID ${{ INPUTS.ENTRY-POINT }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} @@ -82,6 +82,6 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - CID='' && echo `docker ps --format '{{.ID}}'` >> $CID + CID=`docker ps --format '{{.ID}}'` docker exec $CID ${{ INPUTS.ENTRY-POINT }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From cda962a9b6225fd8bbe0f8784d6629a058678c63 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:20:31 +0100 Subject: [PATCH 066/443] VOLUME changed --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a3302923590..041b3c1fb50 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -36,7 +36,7 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.TOKEN }} volumes: - - /home/runner + - /root outputs: build: ${{ steps.copy-rpm-packages.outputs.result }} From 5bcaa8eed0acc0aea4ea1465ad895db2846fed48 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:22:25 +0100 Subject: [PATCH 067/443] job name changed back. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 041b3c1fb50..6d974285ad7 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -25,7 +25,7 @@ on: description: "Test output" jobs: - docker-build: + docker-run: runs-on: ubuntu-latest if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} From d13a3fea2388d91347ea67285d8711ce200d2b43 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:37:05 +0100 Subject: [PATCH 068/443] trying /etc/hostname as container ID. --- .github/workflows/reusable-docker.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 6d974285ad7..6c730024aa2 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -49,7 +49,8 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: copy-rpm-packages run: | - CID=`docker ps --format '{{.ID}}'` + CID=`cat /etc/hostname` + echo "CID: ${CID}" docker exec $CID ${{ INPUTS.ENTRY-POINT }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} @@ -82,6 +83,6 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - CID=`docker ps --format '{{.ID}}'` + CID=`cat /etc/hostname` docker exec $CID ${{ INPUTS.ENTRY-POINT }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 3bd22e3b151d1ff907abc4f0688bc86491740964 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:39:40 +0100 Subject: [PATCH 069/443] ports added. --- .github/workflows/reusable-docker.yml | 5 +++++ docker/rpm-builder/Dockerfile | 17 ++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 6c730024aa2..9978cbe2e5c 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -35,6 +35,11 @@ jobs: credentials: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.TOKEN }} + ports: + - 1080 1443 + - 2080 2443 + - 8443 15550-15560 + - 6520-6620 volumes: - /root diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 0d5a4d3ded1..918f4f3f02e 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -5,6 +5,14 @@ FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder ARG BAZEL_VERSION=7.6.0 VOLUME [ "/root" ] +LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ +org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ +org.opencontainers.image.title="RPM Builder" \ +org.opencontainers.image.description="RPM package builder image based on Rocky Linux" \ +org.opencontainers.image.authors="Martin Zeitler" \ +org.opencontainers.image.vendor="Google" \ +org.opencontainers.image.version="latest" + # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) @@ -14,15 +22,6 @@ EXPOSE 8443/tcp 15550-15560 # Expose ADB EXPOSE 6520-6620 -LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ -org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ -org.opencontainers.image.title="RPM Builder" \ -org.opencontainers.image.description="RPM package builder image based on Rocky Linux" \ -org.opencontainers.image.authors="Martin Zeitler" \ -org.opencontainers.image.vendor="Google" \ -org.opencontainers.image.version="latest" \ -org.opencontainers.image.licenses="MIT" - # Install build and runtime dependencies. # RUN dnf -y swap curl-minimal curl-full # RUN dnf -y swap coreutils-single coreutils From 332770b17630f2261d061b25127088402025c266 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:41:07 +0100 Subject: [PATCH 070/443] changed container ID. --- .github/workflows/reusable-docker.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 9978cbe2e5c..9e9fe45591f 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -54,7 +54,8 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: copy-rpm-packages run: | - CID=`cat /etc/hostname` + docker ps + CID=`docker ps --format '{{.ID}}` echo "CID: ${CID}" docker exec $CID ${{ INPUTS.ENTRY-POINT }} docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} From da0c442801900366456f3e540430774d170656fe Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:48:26 +0100 Subject: [PATCH 071/443] trying to run commands inside the container. --- .github/workflows/reusable-docker.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 9e9fe45591f..4e8a8781622 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -52,21 +52,18 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} - id: copy-rpm-packages + id: build-rpm-packages run: | - docker ps - CID=`docker ps --format '{{.ID}}` - echo "CID: ${CID}" - docker exec $CID ${{ INPUTS.ENTRY-POINT }} - docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - docker cp $CID:/root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + ${{ INPUTS.ENTRY-POINT }} + cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} uses: 'actions/upload-artifact@v4' - id: retain-rpm + id: retain-rpm-packages with: name: ${{ GITHUB.REPOSITORY }}-rpm path: | @@ -77,7 +74,7 @@ jobs: - name: Retain Artifacts (*.srpm) if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} uses: 'actions/upload-artifact@v4' - id: retain-srpm + id: retain-srpm-packages with: name: ${{ ENV.REPO_NAME }}-srpm path: | @@ -89,6 +86,5 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - CID=`cat /etc/hostname` - docker exec $CID ${{ INPUTS.ENTRY-POINT }} + ${{ INPUTS.ENTRY-POINT }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From ae9d0294ad2b7acdd7eee5d65638f3f46d1897bb Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:56:50 +0100 Subject: [PATCH 072/443] changed back to user runner ... --- .github/workflows/reusable-docker.yml | 3 +++ .github/workflows/rpm-builder.yml | 4 ++-- docker/rpm-builder/Dockerfile | 8 +++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 4e8a8781622..b0fed835997 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -54,6 +54,9 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | + CID=$(basename $(cat /proc/1/cpuset)) + echo "Container ID: $CID" + ls -la ${{ INPUTS.ENTRY-POINT }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 1798624647d..cce620359c5 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -99,7 +99,7 @@ jobs: uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ INPUTS.DOCKER-IMAGE }} - entry-point: '/root/buildscript.sh' + entry-point: '/home/runner/buildscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} @@ -108,6 +108,6 @@ jobs: uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ INPUTS.DOCKER-IMAGE }} - entry-point: '/root/testscript.sh' + entry-point: '/home/runner/testscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 918f4f3f02e..c89ebc2fe88 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -3,7 +3,7 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder ARG BAZEL_VERSION=7.6.0 -VOLUME [ "/root" ] +VOLUME [ "/home/runner" ] LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ @@ -43,8 +43,10 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf clean all # Add entrypoint scripts. -ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh -ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh +USER runner +RUN adduser runner +ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh +ADD ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh RUN chmod +x /root/*.sh # ENTRYPOINT [ "/root/buildscript.sh", "/root/testscript.sh" ] From f6eb5b985a70efae9ec20ead8ef1995a8ece7088 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 00:58:46 +0100 Subject: [PATCH 073/443] changed back to user runner ... --- .github/workflows/reusable-docker.yml | 4 ++-- docker/rpm-builder/Dockerfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index b0fed835997..0a86622938c 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -35,13 +35,13 @@ jobs: credentials: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.TOKEN }} + volumes: + - /home/runner ports: - 1080 1443 - 2080 2443 - 8443 15550-15560 - 6520-6620 - volumes: - - /root outputs: build: ${{ steps.copy-rpm-packages.outputs.result }} diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index c89ebc2fe88..838a125385c 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -3,7 +3,6 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder ARG BAZEL_VERSION=7.6.0 -VOLUME [ "/home/runner" ] LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ @@ -44,6 +43,7 @@ RUN dnf clean all # Add entrypoint scripts. USER runner +VOLUME [ "/home/runner" ] RUN adduser runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh From 05b499ec1f1173722e2471fd4331455515f54e77 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:00:46 +0100 Subject: [PATCH 074/443] changed back to user runner ... --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 838a125385c..b70519ad2b3 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -44,7 +44,7 @@ RUN dnf clean all # Add entrypoint scripts. USER runner VOLUME [ "/home/runner" ] -RUN adduser runner +RUN mkdir /home/runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh RUN chmod +x /root/*.sh From 7c28de3ab50b9c5a243d0b6375d9b859a78fbc90 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:03:01 +0100 Subject: [PATCH 075/443] changed back to user runner ... --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index b70519ad2b3..e563e28d4ba 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -42,9 +42,9 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf clean all # Add entrypoint scripts. -USER runner VOLUME [ "/home/runner" ] -RUN mkdir /home/runner +RUN adduser runner +USER runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh RUN chmod +x /root/*.sh From 48d530222aed411ea5b78b4c3109acd1bffd0c0f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:06:30 +0100 Subject: [PATCH 076/443] changed back to user runner ... --- docker/rpm-builder/Dockerfile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index e563e28d4ba..34d7c6fc9f7 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -42,16 +42,16 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf clean all # Add entrypoint scripts. -VOLUME [ "/home/runner" ] +VOLUME "/home/runner" RUN adduser runner USER runner -ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh -ADD ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh -RUN chmod +x /root/*.sh +ADD ./docker/rpm-builder/buildscript.sh ~/buildscript.sh +ADD ./docker/rpm-builder/testscript.sh ~/testscript.sh +RUN chmod +x ~/*.sh -# ENTRYPOINT [ "/root/buildscript.sh", "/root/testscript.sh" ] -# ENTRYPOINT [ "/root/buildscript.sh" ] -# ENTRYPOINT [ "/root/testscript.sh" ] +# ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] +# ENTRYPOINT [ "/home/runner/buildscript.sh" ] +# ENTRYPOINT [ "/home/runner/testscript.sh" ] # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ From e2c075a87c1006a41b6a84197f2124e0c396cecc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:10:24 +0100 Subject: [PATCH 077/443] changed back to user runner ... --- docker/rpm-builder/Dockerfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 34d7c6fc9f7..b69301c79ff 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -45,10 +45,8 @@ RUN dnf clean all VOLUME "/home/runner" RUN adduser runner USER runner -ADD ./docker/rpm-builder/buildscript.sh ~/buildscript.sh -ADD ./docker/rpm-builder/testscript.sh ~/testscript.sh -RUN chmod +x ~/*.sh - +ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh +ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh # ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] # ENTRYPOINT [ "/home/runner/buildscript.sh" ] # ENTRYPOINT [ "/home/runner/testscript.sh" ] @@ -58,3 +56,6 @@ RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest # RUN $GOPATH/bin/bazelisk version + +USER root +RUN chmod +x /home/runner/*.sh \ No newline at end of file From 0304c8a8852c9172c7b2dd4229ed352a043c438f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:15:14 +0100 Subject: [PATCH 078/443] pwd added --- .github/workflows/reusable-docker.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 0a86622938c..465b939fc25 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -54,8 +54,9 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - CID=$(basename $(cat /proc/1/cpuset)) + CID=`hostname` echo "Container ID: $CID" + pwd ls -la ${{ INPUTS.ENTRY-POINT }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} From 62ad94a0845504145c1e9ed1360aca99522726af Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:16:09 +0100 Subject: [PATCH 079/443] volume removed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index b69301c79ff..b57ce18f5e4 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -42,7 +42,7 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf clean all # Add entrypoint scripts. -VOLUME "/home/runner" +# VOLUME "/home/runner" RUN adduser runner USER runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh From d2600b841d3a91648a668d29f05a94a90f0a71f2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:19:45 +0100 Subject: [PATCH 080/443] volume removed. --- docker/rpm-builder/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index b57ce18f5e4..1d52dc9a0cf 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -43,8 +43,8 @@ RUN dnf clean all # Add entrypoint scripts. # VOLUME "/home/runner" -RUN adduser runner -USER runner +RUN adduser runner && usermod -a -G groupname runner +USER runner:docker ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh # ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] @@ -58,4 +58,4 @@ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest # RUN $GOPATH/bin/bazelisk version USER root -RUN chmod +x /home/runner/*.sh \ No newline at end of file +RUN chown runner:docker /home/runner/*.sh && chmod +x /home/runner/*.sh \ No newline at end of file From 1b51704f37d482fc6892b3c4dbc6c84dd474ae8e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:31:07 +0100 Subject: [PATCH 081/443] trying to orchestrate the image without the clunky default action. --- .github/workflows/reusable-docker.yml | 47 ++++++++++++++------------- .github/workflows/rpm-builder.yml | 3 +- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 465b939fc25..baa9bef576b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -14,9 +14,6 @@ on: type: string default: '/root/buildscript.sh' outputs: - container: - value: ${{ jobs.docker-run.outputs.container }} - description: "Container ID" build: value: ${{ jobs.docker-run.outputs.build }} description: "Build output" @@ -25,23 +22,24 @@ on: description: "Test output" jobs: + docker-run: runs-on: ubuntu-latest if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} - container: - image: ${{ INPUTS.DOCKER-IMAGE }} - options: '--cpus 1' - credentials: - username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.TOKEN }} - volumes: - - /home/runner - ports: - - 1080 1443 - - 2080 2443 - - 8443 15550-15560 - - 6520-6620 +# container: +# image: ${{ INPUTS.DOCKER-IMAGE }} +# options: '--cpus 1' +# credentials: +# username: ${{ GITHUB.ACTOR }} +# password: ${{ SECRETS.TOKEN }} +# volumes: +# - /home/runner +# ports: +# - 1080 1443 +# - 2080 2443 +# - 8443 15550-15560 +# - 6520-6620 outputs: build: ${{ steps.copy-rpm-packages.outputs.result }} @@ -49,16 +47,21 @@ jobs: steps: + # https://github.com/docker/login-action + - name: Log in to the Container registry + id: container-registry + uses: 'docker/login-action@v3' + with: + registry: ghcr.io + username: ${{ GITHUB.ACTOR }} + password: ${{ SECRETS.TOKEN }} + # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - CID=`hostname` - echo "Container ID: $CID" - pwd - ls -la - ${{ INPUTS.ENTRY-POINT }} + docker run --entrypoint ${{ INPUTS.ENTRY-POINT }} --name build --attach -d ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -90,5 +93,5 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - ${{ INPUTS.ENTRY-POINT }} + docker run --entrypoint ${{ INPUTS.ENTRY-POINT }} --name test --attach -d ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index cce620359c5..cb9c65b97f0 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -31,7 +31,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Buildx - id: buildx + id: buildx-setup if: ${{ inputs.enable_docker_cache }} uses: 'docker/setup-buildx-action@v3' with: @@ -40,6 +40,7 @@ jobs: # https://github.com/docker/login-action - name: Log in to the Container registry + id: container-registry uses: 'docker/login-action@v3' with: registry: ${{ ENV.DOCKER_REGISTRY }} From 9500c9d80c41d6ab3efa72b19b8d9f08f48af97d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:39:02 +0100 Subject: [PATCH 082/443] usermod ficed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 1d52dc9a0cf..bcdcfddf771 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -43,7 +43,7 @@ RUN dnf clean all # Add entrypoint scripts. # VOLUME "/home/runner" -RUN adduser runner && usermod -a -G groupname runner +RUN addgroup docker && adduser runner && usermod -a -G docker runner USER runner:docker ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh From 928cc84cf860c84fc105d70aa7d4a0c397c6c45d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:42:19 +0100 Subject: [PATCH 083/443] usermod fixed. --- docker/rpm-builder/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index bcdcfddf771..1ff2b87e9a1 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -43,8 +43,8 @@ RUN dnf clean all # Add entrypoint scripts. # VOLUME "/home/runner" -RUN addgroup docker && adduser runner && usermod -a -G docker runner -USER runner:docker +#RUN groupadd docker && adduser runner && usermod -a -G docker runner +USER runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh # ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] @@ -58,4 +58,5 @@ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest # RUN $GOPATH/bin/bazelisk version USER root -RUN chown runner:docker /home/runner/*.sh && chmod +x /home/runner/*.sh \ No newline at end of file +# RUN chown runner:docker /home/runner/*.sh && chmod +x /home/runner/*.sh +RUN chmod +x /home/runner/*.sh From 5d1dae0c1f556d2fbf5144624382ab6126b67c94 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:44:25 +0100 Subject: [PATCH 084/443] usermod fixed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 1ff2b87e9a1..cbaab57bfc2 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -43,7 +43,7 @@ RUN dnf clean all # Add entrypoint scripts. # VOLUME "/home/runner" -#RUN groupadd docker && adduser runner && usermod -a -G docker runner +RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh From 2aac9355616504227022d5488b9417b7522f5a4f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:53:48 +0100 Subject: [PATCH 085/443] usermod fixed. --- .github/workflows/reusable-docker.yml | 2 +- .github/workflows/rpm-builder.yml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index baa9bef576b..aca514e4b6b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -12,7 +12,7 @@ on: entry-point: required: false type: string - default: '/root/buildscript.sh' + default: '/home/runner/buildscript.sh' outputs: build: value: ${{ jobs.docker-run.outputs.build }} diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index cb9c65b97f0..9724318859b 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -4,7 +4,7 @@ on: push: workflow_call: inputs: - enable_docker_cache: + enable-docker-cache: required: false type: boolean default: false @@ -14,7 +14,8 @@ env: DOCKER_IMAGE: ${{ GITHUB.ACTOR }}/rpm-builder jobs: - # /root/.cache/bazel + + # /home/runner/.cache/bazel build-docker-image: runs-on: ubuntu-latest @@ -32,7 +33,7 @@ jobs: - name: Setup Buildx id: buildx-setup - if: ${{ inputs.enable_docker_cache }} + if: ${{ inputs.enable-docker-cache }} uses: 'docker/setup-buildx-action@v3' with: driver: 'docker-container' @@ -57,7 +58,7 @@ jobs: # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image - if: ${{ !inputs.enable_docker_cache }} + if: ${{ !inputs.enable-docker-cache }} id: push uses: 'docker/build-push-action@v6' with: @@ -71,7 +72,7 @@ jobs: platforms: linux/amd64 - name: Build and push Docker images with cache - if: ${{ inputs.enable_docker_cache }} + if: ${{ inputs.enable-docker-cache }} id: push-image-cached uses: 'docker/build-push-action@v6' with: @@ -91,7 +92,6 @@ jobs: subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true - outputs: docker-image: 'docker://${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' @@ -99,7 +99,7 @@ jobs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ INPUTS.DOCKER-IMAGE }} + docker-image: ${{ jobs.build-docker-image.outputs.docker-image }} entry-point: '/home/runner/buildscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} @@ -108,7 +108,7 @@ jobs: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ INPUTS.DOCKER-IMAGE }} + docker-image: ${{ jobs.build-docker-image.outputs.docker-image }} entry-point: '/home/runner/testscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} From 98a095c8bfe5a7daa0bb0ae27492c84253296bb9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 01:56:31 +0100 Subject: [PATCH 086/443] needs ... --- .github/workflows/rpm-builder.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 9724318859b..5e396cdca1a 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -99,7 +99,7 @@ jobs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ jobs.build-docker-image.outputs.docker-image }} + docker-image: ${{ needs.build-docker-image.outputs.docker-image }} entry-point: '/home/runner/buildscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} @@ -108,7 +108,7 @@ jobs: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ jobs.build-docker-image.outputs.docker-image }} + docker-image: ${{ needs.build-docker-image.outputs.docker-image }} entry-point: '/home/runner/testscript.sh' secrets: token: ${{ SECRETS.GITHUB_TOKEN }} From 596a6c225d1a959d3b9d0b72d02b1348ba882def Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:01:09 +0100 Subject: [PATCH 087/443] needs ... --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index aca514e4b6b..736e1f4e42f 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,7 +61,7 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - docker run --entrypoint ${{ INPUTS.ENTRY-POINT }} --name build --attach -d ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --entrypoint ${{ INPUTS.ENTRY-POINT }} -d ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -93,5 +93,5 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - docker run --entrypoint ${{ INPUTS.ENTRY-POINT }} --name test --attach -d ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --attach STDOUT --entrypoint ${{ INPUTS.ENTRY-POINT }} -d ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 874773a46f86e77346073e681f1202f2a510852c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:10:25 +0100 Subject: [PATCH 088/443] docker options fixed. --- .github/workflows/reusable-docker.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 736e1f4e42f..dfd17745f2c 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -56,12 +56,13 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.TOKEN }} + # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - docker run --name rpm-build --attach STDOUT --entrypoint ${{ INPUTS.ENTRY-POINT }} -d ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --quiet --atach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -88,10 +89,10 @@ jobs: ${{ GITHUB.REPOSITORY }}/*.srpm retention-days: 14 - # https://docs.docker.com/reference/cli/docker/container/cp/ + # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - docker run --name rpm-test --attach STDOUT --entrypoint ${{ INPUTS.ENTRY-POINT }} -d ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --quiet --atach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From a29ef0d374dd5e21f32edf6e7a7e4ce62359414f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:11:24 +0100 Subject: [PATCH 089/443] setting both entry-points, as theyre going to be overwritten anyway. --- docker/rpm-builder/Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index cbaab57bfc2..063a6adae40 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -47,9 +47,7 @@ RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh -# ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] -# ENTRYPOINT [ "/home/runner/buildscript.sh" ] -# ENTRYPOINT [ "/home/runner/testscript.sh" ] +ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ From c0770ffc4c54e6836e5a054ab559867bbcac6311 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:13:29 +0100 Subject: [PATCH 090/443] setting both entry-points, as theyre going to be overwritten anyway. --- .github/workflows/rpm-builder.yml | 1 - docker/rpm-builder/Dockerfile | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 5e396cdca1a..122d250374b 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -15,7 +15,6 @@ env: jobs: - # /home/runner/.cache/bazel build-docker-image: runs-on: ubuntu-latest diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 063a6adae40..f2c091d33c1 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -53,8 +53,10 @@ ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest + +# Not required for testing ... +# This produces /home/runner/.cache/bazel # RUN $GOPATH/bin/bazelisk version USER root -# RUN chown runner:docker /home/runner/*.sh && chmod +x /home/runner/*.sh RUN chmod +x /home/runner/*.sh From b897584780c6ca3baeb81d5e1f8052efeeed4825 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:16:43 +0100 Subject: [PATCH 091/443] tyoo. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index dfd17745f2c..4269e11bf48 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -62,7 +62,7 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - docker run --name rpm-build --quiet --atach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --quiet --attach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -94,5 +94,5 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - docker run --name rpm-test --quiet --atach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --quiet --attach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 8daf06b72f59b218b5acc75f9f02fef181672608 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:22:44 +0100 Subject: [PATCH 092/443] tyoo. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 4269e11bf48..e24e9b2d7be 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -62,7 +62,7 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - docker run --name rpm-build --quiet --attach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -94,5 +94,5 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages run: | - docker run --name rpm-test --quiet --attach STDOUT, STDERR --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 93ad77ef2de0fba8c28f43a2958462c9d95b188e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:30:08 +0100 Subject: [PATCH 093/443] docker:// prefix removed. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 122d250374b..7562b956e75 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -92,7 +92,7 @@ jobs: subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true outputs: - docker-image: 'docker://${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + docker-image: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' build-rpm-specs: needs: build-docker-image From 9e240f89f62f679951243ef909ec6f510e9c6ae9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:36:33 +0100 Subject: [PATCH 094/443] ENTRYPOINT [ "/bin/bash" ] --- docker/rpm-builder/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index f2c091d33c1..6a0eaa235d5 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -47,7 +47,8 @@ RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh -ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] +# ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] +ENTRYPOINT [ "/bin/bash" ] # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ From a2d99fc2b01d142935c0b5fd7461f706aa47bff1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:41:03 +0100 Subject: [PATCH 095/443] volume added again, --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 6a0eaa235d5..765983b527d 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -42,7 +42,7 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf clean all # Add entrypoint scripts. -# VOLUME "/home/runner" +VOLUME "/home/runner" RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh From 97ea258449614ac30a1a9fa2a34c7cb0beac3df6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:46:49 +0100 Subject: [PATCH 096/443] ADD replaced with COPY. --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 765983b527d..2c113e3b638 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -45,8 +45,8 @@ RUN dnf clean all VOLUME "/home/runner" RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner -ADD ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh -ADD ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh +COPY ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh +COPY ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh # ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] ENTRYPOINT [ "/bin/bash" ] From 94199939584757ea10c9dfb8fe8b04e066eb5f1e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:55:47 +0100 Subject: [PATCH 097/443] ENTRYPOINT [ "/bin/bash" ] --- .github/workflows/reusable-docker.yml | 2 +- .github/workflows/rpm-builder.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index e24e9b2d7be..8ba8fe88e01 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -62,7 +62,7 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint "${{ INPUTS.ENTRY-POINT }}" ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 7562b956e75..967329e156d 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -99,7 +99,7 @@ jobs: uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ needs.build-docker-image.outputs.docker-image }} - entry-point: '/home/runner/buildscript.sh' + entry-point: "/home/runner/buildscript.sh" secrets: token: ${{ SECRETS.GITHUB_TOKEN }} @@ -108,6 +108,6 @@ jobs: uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ needs.build-docker-image.outputs.docker-image }} - entry-point: '/home/runner/testscript.sh' + entry-point: "/home/runner/testscript.sh" secrets: token: ${{ SECRETS.GITHUB_TOKEN }} From 4efcd4f14e43d7cef252d8c2a55262e0087615c4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 02:57:06 +0100 Subject: [PATCH 098/443] tyoo. --- docker/rpm-builder/Dockerfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 2c113e3b638..e98cb589991 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -43,12 +43,12 @@ RUN dnf clean all # Add entrypoint scripts. VOLUME "/home/runner" +ENTRYPOINT [ "/bin/bash" ] RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner COPY ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh -COPY ./docker/rpm-builder/testscript.sh ~/home/runner/testscript.sh -# ENTRYPOINT [ "/home/runner/buildscript.sh", "/home/runner/testscript.sh" ] -ENTRYPOINT [ "/bin/bash" ] +COPY ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh +RUN chmod +x /home/runner/*.sh # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ @@ -59,5 +59,3 @@ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest # This produces /home/runner/.cache/bazel # RUN $GOPATH/bin/bazelisk version -USER root -RUN chmod +x /home/runner/*.sh From 287f18f3d0acc67d535acc6cabd8be1e521c12df Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:09:35 +0100 Subject: [PATCH 099/443] image path was wrong. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 967329e156d..595dda58b57 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -92,7 +92,7 @@ jobs: subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true outputs: - docker-image: '${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest' + docker-image: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/${{ ENV.DOCKER_IMAGE }}:latest" build-rpm-specs: needs: build-docker-image From db9a84da49de9807fa43441b72a0bf787105c49f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:23:33 +0100 Subject: [PATCH 100/443] volume is gone when not remounting it ... --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index e98cb589991..2c7ab8e4681 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -6,10 +6,10 @@ ARG BAZEL_VERSION=7.6.0 LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ +org.opencontainers.image.vendor="Rocky Enterprise Software Foundation" \ org.opencontainers.image.title="RPM Builder" \ org.opencontainers.image.description="RPM package builder image based on Rocky Linux" \ org.opencontainers.image.authors="Martin Zeitler" \ -org.opencontainers.image.vendor="Google" \ org.opencontainers.image.version="latest" # Expose Operator Port (HTTP:1080, HTTPS:1443) @@ -42,7 +42,7 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf clean all # Add entrypoint scripts. -VOLUME "/home/runner" +# VOLUME "/home/runner" ENTRYPOINT [ "/bin/bash" ] RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner From 4f3320d32cd8b297deda2370cda1199c4c64d063 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:26:10 +0100 Subject: [PATCH 101/443] package wayland-devel added. --- docker/rpm-builder/Dockerfile | 2 +- tools/rpmbuild/SPECS/cuttlefish_base.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 2c7ab8e4681..1753d3975fd 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -32,7 +32,7 @@ RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.n # Provide build dependencies. # RUN dnf -y install dnf-plugins-core -RUN dnf -y install git sudo rpm-build golang-bin ncurses-compat-libs curl-devel +RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb # Provide integration and orchestration dependencies. diff --git a/tools/rpmbuild/SPECS/cuttlefish_base.spec b/tools/rpmbuild/SPECS/cuttlefish_base.spec index 547186c18ea..f10036a395c 100644 --- a/tools/rpmbuild/SPECS/cuttlefish_base.spec +++ b/tools/rpmbuild/SPECS/cuttlefish_base.spec @@ -10,7 +10,7 @@ BuildArch: x86_64 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # Note: `ncurses-compat-libs` require EPEL repository and `protobuf` requires CRB repository. -BuildRequires: curl-devel, openssl-devel, ncurses-compat-libs, protobuf-devel, protobuf-compiler +BuildRequires: curl-devel, openssl-devel, wayland-devel ncurses-compat-libs, protobuf-devel, protobuf-compiler Requires: shadow-utils, redhat-lsb-core, ebtables-legacy, iproute Requires: iptables-legacy, bridge-utils, dnsmasq, libfdt, e2fsprogs, ebtables, iptables, bsdtar From fafce101aeb8d40ed470621149f75152ae3d83a3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:27:43 +0100 Subject: [PATCH 102/443] package wayland-devel added. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 1753d3975fd..58394ca048a 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -48,7 +48,7 @@ RUN groupadd docker && adduser runner && usermod -a -G docker runner USER runner COPY ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh COPY ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh -RUN chmod +x /home/runner/*.sh +# RUN chmod +x /home/runner/*.sh # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ From 4db080fc550100127cb49bb1f6358edec06da8ea Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:30:51 +0100 Subject: [PATCH 103/443] tyoo. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 595dda58b57..82bc5f162b3 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -92,7 +92,7 @@ jobs: subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true outputs: - docker-image: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/${{ ENV.DOCKER_IMAGE }}:latest" + docker-image: "${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest" build-rpm-specs: needs: build-docker-image From b643129945d28f3ad712c139d242a769e28e3db6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:35:30 +0100 Subject: [PATCH 104/443] tyoo. --- .github/workflows/rpm-builder.yml | 4 ++-- docker/rpm-builder/Dockerfile | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 82bc5f162b3..87e0f996330 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -99,7 +99,7 @@ jobs: uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ needs.build-docker-image.outputs.docker-image }} - entry-point: "/home/runner/buildscript.sh" + entry-point: "/root/buildscript.sh" secrets: token: ${{ SECRETS.GITHUB_TOKEN }} @@ -108,6 +108,6 @@ jobs: uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ needs.build-docker-image.outputs.docker-image }} - entry-point: "/home/runner/testscript.sh" + entry-point: "/root/testscript.sh" secrets: token: ${{ SECRETS.GITHUB_TOKEN }} diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 58394ca048a..37947eb6d61 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -44,11 +44,11 @@ RUN dnf clean all # Add entrypoint scripts. # VOLUME "/home/runner" ENTRYPOINT [ "/bin/bash" ] -RUN groupadd docker && adduser runner && usermod -a -G docker runner -USER runner -COPY ./docker/rpm-builder/buildscript.sh /home/runner/buildscript.sh -COPY ./docker/rpm-builder/testscript.sh /home/runner/testscript.sh -# RUN chmod +x /home/runner/*.sh +# RUN groupadd docker && adduser runner && usermod -a -G docker runner +# USER runner +COPY ./docker/rpm-builder/buildscript.sh /root/buildscript.sh +COPY ./docker/rpm-builder/testscript.sh /root/testscript.sh +RUN chmod +x /root/*.sh # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ @@ -56,6 +56,6 @@ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}: source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest # Not required for testing ... -# This produces /home/runner/.cache/bazel +# This produces /root/.cache/bazel # RUN $GOPATH/bin/bazelisk version From 2141ea6e59f13780328b0a2fdf5a363475741cbf Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:37:03 +0100 Subject: [PATCH 105/443] executable flag may help. --- docker/rpm-builder/buildscript.sh | 0 docker/rpm-builder/testscript.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 docker/rpm-builder/buildscript.sh mode change 100644 => 100755 docker/rpm-builder/testscript.sh diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh old mode 100644 new mode 100755 diff --git a/docker/rpm-builder/testscript.sh b/docker/rpm-builder/testscript.sh old mode 100644 new mode 100755 From 15bc14ddf8a9c8101afd393fb2db45019b274cb6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:48:48 +0100 Subject: [PATCH 106/443] executable flag may help. --- .github/workflows/reusable-docker.yml | 2 +- docker/rpm-builder/Dockerfile | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 8ba8fe88e01..e24e9b2d7be 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -62,7 +62,7 @@ jobs: if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages run: | - docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint "${{ INPUTS.ENTRY-POINT }}" ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 37947eb6d61..f1601bb863c 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -41,14 +41,14 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote # RUN dnf list installed RUN dnf clean all -# Add entrypoint scripts. -# VOLUME "/home/runner" -ENTRYPOINT [ "/bin/bash" ] +# VOLUME "/root" +# ENTRYPOINT [ "/bin/bash" ] # RUN groupadd docker && adduser runner && usermod -a -G docker runner # USER runner + +# Add entrypoint scripts. COPY ./docker/rpm-builder/buildscript.sh /root/buildscript.sh COPY ./docker/rpm-builder/testscript.sh /root/testscript.sh -RUN chmod +x /root/*.sh # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ From 02de396bebb192f56ea4f35c2831ee474beb1cce Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 03:59:46 +0100 Subject: [PATCH 107/443] executable flag may help. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index f1601bb863c..fcdd1388e3a 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -42,7 +42,7 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf clean all # VOLUME "/root" -# ENTRYPOINT [ "/bin/bash" ] +ENTRYPOINT [ "/bin/bash", "-c" ] # RUN groupadd docker && adduser runner && usermod -a -G docker runner # USER runner From 68b4c93925ad5b5820db627dfdf14663253c8567 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:08:48 +0100 Subject: [PATCH 108/443] absolute path helps. --- docker/rpm-builder/buildscript.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index eab46580669..da270dbca6c 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -cd root || exit +cd /root || exit # git clone git@github.com:syslogic/android-cuttlefish.git git clone https://github.com/syslogic/android-cuttlefish.git cd android-cuttlefish || exit From f2b6cff4e46c6255b0fd17c208e3169442e3b68b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:10:59 +0100 Subject: [PATCH 109/443] nano added. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index fcdd1388e3a..57183b7d095 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -32,7 +32,7 @@ RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.n # Provide build dependencies. # RUN dnf -y install dnf-plugins-core -RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs +RUN dnf -y install git nano sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb # Provide integration and orchestration dependencies. From e701b6b011561b8994ca43846bf9cbf0f91aca50 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:21:58 +0100 Subject: [PATCH 110/443] executable flag may help. --- docker/rpm-builder/Dockerfile | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 57183b7d095..14043dbf4b2 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -27,26 +27,20 @@ EXPOSE 6520-6620 # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -# Install the EPEL repository. +# EPEL repository provides `ncurses-compat-libs` and installs `dnf-core-plugin`, which has `dnf builddeps`. RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade - # Provide build dependencies. -# RUN dnf -y install dnf-plugins-core -RUN dnf -y install git nano sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs -RUN dnf -y install protobuf-devel protobuf-compiler --enablerepo crb - -# Provide integration and orchestration dependencies. +RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs +# Package `protobuf` comes from CRB repository +RUN dnf -y install protobuf protobuf-devel protobuf-compiler --enablerepo crb +# Integration and orchestration dependencies. RUN dnf -y install qemu-kvm nginx systemd-journal-remote - -# RUN dnf list installed +RUN dnf list installed RUN dnf clean all -# VOLUME "/root" -ENTRYPOINT [ "/bin/bash", "-c" ] -# RUN groupadd docker && adduser runner && usermod -a -G docker runner -# USER runner - # Add entrypoint scripts. +VOLUME [ "/root" ] +ENTRYPOINT [ "/bin/bash", "-c" ] COPY ./docker/rpm-builder/buildscript.sh /root/buildscript.sh COPY ./docker/rpm-builder/testscript.sh /root/testscript.sh From fc18aae7bafca92110beaad69f426d62783b8f4c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:27:00 +0100 Subject: [PATCH 111/443] tyoo. --- docker/rpm-builder/Dockerfile | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 14043dbf4b2..9edcd87d9e9 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -38,18 +38,15 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf list installed RUN dnf clean all -# Add entrypoint scripts. -VOLUME [ "/root" ] +# The default entrypoint and volume. ENTRYPOINT [ "/bin/bash", "-c" ] -COPY ./docker/rpm-builder/buildscript.sh /root/buildscript.sh -COPY ./docker/rpm-builder/testscript.sh /root/testscript.sh +VOLUME [ "/root" ] + +# Add entrypoint scripts, to be used by container instrumentation. +ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh +ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest - -# Not required for testing ... -# This produces /root/.cache/bazel -# RUN $GOPATH/bin/bazelisk version - From 60af9d51520c5d76a2ac0b04e4bb0d85a23d3d6f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:29:56 +0100 Subject: [PATCH 112/443] bad option. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 9edcd87d9e9..07f95ed3861 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -39,7 +39,7 @@ RUN dnf list installed RUN dnf clean all # The default entrypoint and volume. -ENTRYPOINT [ "/bin/bash", "-c" ] +ENTRYPOINT [ "/bin/bash" ] VOLUME [ "/root" ] # Add entrypoint scripts, to be used by container instrumentation. From 8fb708b81a53500edd81f29c03e9aea17f3859aa Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:36:58 +0100 Subject: [PATCH 113/443] step removed & added. --- docker/rpm-builder/Dockerfile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 07f95ed3861..cf88add659f 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -38,15 +38,16 @@ RUN dnf -y install qemu-kvm nginx systemd-journal-remote RUN dnf list installed RUN dnf clean all -# The default entrypoint and volume. -ENTRYPOINT [ "/bin/bash" ] -VOLUME [ "/root" ] - # Add entrypoint scripts, to be used by container instrumentation. ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh # Modify file `~/.bash_profile` and install `bazelisk`. -RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc && \ -echo "export GOPATH=${HOME}/go" >> ~/.bash_profile && echo "export PATH=${PATH}:${GOPATH}/bin" >> ~/.bash_profile && \ -source ~/.bash_profile && go install github.com/bazelbuild/bazelisk@latest +RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc +RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile +RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile +RUN source ~/.bash_profile +RUN go install github.com/bazelbuild/bazelisk@latest + +# The default entrypoint. +ENTRYPOINT [ "/bin/bash" ] \ No newline at end of file From 4c8188edbb9a2b12243b1e2cf5bd85bc606bcac0 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:41:52 +0100 Subject: [PATCH 114/443] labels. --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index cf88add659f..3b31c8ab3e9 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -5,10 +5,10 @@ FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder ARG BAZEL_VERSION=7.6.0 LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ -org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ -org.opencontainers.image.vendor="Rocky Enterprise Software Foundation" \ org.opencontainers.image.title="RPM Builder" \ +org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ org.opencontainers.image.description="RPM package builder image based on Rocky Linux" \ +org.opencontainers.image.vendor="Rocky Enterprise Software Foundation" \ org.opencontainers.image.authors="Martin Zeitler" \ org.opencontainers.image.version="latest" From f31143187897b5f8632bf40d987827b0d0ad4cfc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 04:46:56 +0100 Subject: [PATCH 115/443] stage name not required. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 3b31c8ab3e9..9a30c71d600 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,7 +1,7 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux ARG ROCKY_LINUX_VERSION=9.5 -FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS builder +FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION ARG BAZEL_VERSION=7.6.0 LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ From 22c596f9115e26e31abdd6a103284b64f2fc6bdd Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 05:01:48 +0100 Subject: [PATCH 116/443] replay windows EOL? --- docker/rpm-builder/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 9a30c71d600..61368e90d66 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -40,7 +40,10 @@ RUN dnf clean all # Add entrypoint scripts, to be used by container instrumentation. ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh +RUN sed -i 's/\r//' /root/buildscript.sh + ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh +RUN sed -i 's/\r//' /root/testscript.sh # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc From c12a8adb2dc952fbcd90313972f371ace2594c79 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 05:02:36 +0100 Subject: [PATCH 117/443] commented out. --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 61368e90d66..928634ef15c 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -40,10 +40,10 @@ RUN dnf clean all # Add entrypoint scripts, to be used by container instrumentation. ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh -RUN sed -i 's/\r//' /root/buildscript.sh +# RUN sed -i 's/\r//' /root/buildscript.sh ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh -RUN sed -i 's/\r//' /root/testscript.sh +# RUN sed -i 's/\r//' /root/testscript.sh # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc From 221f3666807b2b390e8ff402c59e2fcaf510a5f7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 05:06:11 +0100 Subject: [PATCH 118/443] trying not to pass any entry-point. --- .github/workflows/reusable-docker.yml | 6 ++++-- docker/rpm-builder/Dockerfile | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index e24e9b2d7be..a3154723a9d 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,8 +61,9 @@ jobs: - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages + # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -93,6 +94,7 @@ jobs: - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages + # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - docker run --name rpm-test --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 928634ef15c..b6cc9b2935f 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -53,4 +53,5 @@ RUN source ~/.bash_profile RUN go install github.com/bazelbuild/bazelisk@latest # The default entrypoint. -ENTRYPOINT [ "/bin/bash" ] \ No newline at end of file +ENTRYPOINT [ "/bin/bash", "-c", "/root/buildscript.sh" ] +# ENTRYPOINT [ "/bin/bash" ] From 07c56947724235f1a6fb5d131f1c39dfd9dc7571 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 05:14:29 +0100 Subject: [PATCH 119/443] trying not to pass any entry-point. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a3154723a9d..7d85bcd43ae 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,8 +64,8 @@ jobs: # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} - cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - cp /root/${{ GITHUB.REPOSITORY }}/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + cp /root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + cp /root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact From e5469700eb8cc52d8feef9fb93e299477e414e97 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 05:43:14 +0100 Subject: [PATCH 120/443] comments added & removed. --- docker/rpm-builder/Dockerfile | 4 +--- tools/rpmbuild/SPECS/cuttlefish_base.spec | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index b6cc9b2935f..58aec925dae 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -8,9 +8,7 @@ LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/g org.opencontainers.image.title="RPM Builder" \ org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ org.opencontainers.image.description="RPM package builder image based on Rocky Linux" \ -org.opencontainers.image.vendor="Rocky Enterprise Software Foundation" \ -org.opencontainers.image.authors="Martin Zeitler" \ -org.opencontainers.image.version="latest" +org.opencontainers.image.authors="Martin Zeitler" # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 diff --git a/tools/rpmbuild/SPECS/cuttlefish_base.spec b/tools/rpmbuild/SPECS/cuttlefish_base.spec index f10036a395c..294e4f74de3 100644 --- a/tools/rpmbuild/SPECS/cuttlefish_base.spec +++ b/tools/rpmbuild/SPECS/cuttlefish_base.spec @@ -61,8 +61,21 @@ install -m 655 %{srcpath}/cuttlefish-base.cuttlefish-host-resources.init %{build %define srcpath ../../../base/rhel install -m 655 %{srcpath}/cuttlefish.service %{buildroot}/lib/systemd/system/cuttlefish.service -%define srcpath ../../../base/cvd/bazel-bin -install -m 755 %{srcpath}/cuttlefish/cvd %{buildroot}/usr/lib/cuttlefish-common/bin/cvd +# TODO: there are more commands there now. +%define srcpath ../../../base/cvd/bazel-bin/cuttlefish/package +# acloud_translator cvd_internal_env health process_restarter +# adb_connector cvd_internal_start kernel_log_monitor record_cvd +# allocd_client cvd_internal_status log_tee restart_cvd +# assemble_cvd cvd_internal_stop logcat_receiver run_cvd +# console_forwarder cvd_send_id_disclosure metrics screen_recording_server +# control_env_proxy_server cvd_update_security_algorithm metrics_launcher snapshot_util_cvd +# cvd echo_server mkenvimage_slim socket_vsock_proxy +# cvd.repo_mapping extract-ikconfig modem_simulator tcp_connector +# cvd.runfiles extract-vmlinux openwrt_control_server tombstone_receiver +# cvd.runfiles_manifest generate_shader_embed operator_proxy +# cvd_import_locations gnss_grpc_proxy powerbtn_cvd +# cvd_internal_display graphics_detector powerwash_cvd +install -m 755 %{srcpath}/cuttlefish-common/bin/cvd %{buildroot}/usr/lib/cuttlefish-common/bin/cvd %define srcpath ../../../base/host/deploy install -m 655 %{srcpath}/install_zip.sh %{buildroot}/usr/bin/install_zip.sh From c764f0158d7631324a682b85cb58f9fdcc27f479 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 05:59:17 +0100 Subject: [PATCH 121/443] docker cp --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 7d85bcd43ae..f0c1db785b6 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,8 +64,8 @@ jobs: # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} - cp /root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - cp /root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} + docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact From 7bbea3743c675934b73769a195bce4343231ebd9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:21:03 +0100 Subject: [PATCH 122/443] add VOLUME last --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 58aec925dae..07273ebac79 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -52,4 +52,4 @@ RUN go install github.com/bazelbuild/bazelisk@latest # The default entrypoint. ENTRYPOINT [ "/bin/bash", "-c", "/root/buildscript.sh" ] -# ENTRYPOINT [ "/bin/bash" ] +VOLUME [ "/root" ] From 5e577328bfb3aef67b6c0565d5e20e1fdb80a7c3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:28:26 +0100 Subject: [PATCH 123/443] trying the path without * wildcard. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index f0c1db785b6..d8ada0ec14c 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,8 +64,8 @@ jobs: # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} - docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS/* ${{ GITHUB.WORKSPACE }} - docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS/* ${{ GITHUB.WORKSPACE }} + docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }} + docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }} echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact From 54dc053a34fc492993fe920d8ad1321e995ae14c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:30:54 +0100 Subject: [PATCH 124/443] --quiet flag removed. --- .github/workflows/reusable-docker.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index d8ada0ec14c..9a25761ce5d 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,11 +61,12 @@ jobs: - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages - # --entrypoint ${{ INPUTS.ENTRY-POINT }} + # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }} docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }} + docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact @@ -94,7 +95,8 @@ jobs: - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages - # --entrypoint ${{ INPUTS.ENTRY-POINT }} + # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - docker run --name rpm-test --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} - echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file + docker run --name rpm-test --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker stop rpm-test && docker rm rpm-test + echo "result=ok" >> $GITHUB_OUTPUT From 40603745f23a5384a3b83ee2f485218186b612b5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:39:13 +0100 Subject: [PATCH 125/443] ls added. --- .github/workflows/reusable-docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 9a25761ce5d..a79e6f4e718 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,6 +64,7 @@ jobs: # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | docker run --name rpm-build --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + ls /var/lib/docker/devicemapper/mnt/rpm-build/rootfs/ docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }} docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }} docker stop rpm-build && docker rm rpm-build From 6c440bb357766564ae279b065fb780069a5c0c0a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:41:59 +0100 Subject: [PATCH 126/443] trying the path with a file. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a79e6f4e718..33f7f700a79 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -65,8 +65,8 @@ jobs: run: | docker run --name rpm-build --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} ls /var/lib/docker/devicemapper/mnt/rpm-build/rootfs/ - docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }} - docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }} + docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS/.gitkeep ${{ GITHUB.WORKSPACE }} + docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS/.gitkeep ${{ GITHUB.WORKSPACE }} docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT From 9f492c7fe223f9e6e10f2ae1670be5fe6550bb84 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:45:34 +0100 Subject: [PATCH 127/443] ls removed. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 33f7f700a79..69abaac60e8 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,7 +64,7 @@ jobs: # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | docker run --name rpm-build --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} - ls /var/lib/docker/devicemapper/mnt/rpm-build/rootfs/ + # sudo ls /var/lib/docker/devicemapper/mnt/rpm-build/rootfs/ docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS/.gitkeep ${{ GITHUB.WORKSPACE }} docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS/.gitkeep ${{ GITHUB.WORKSPACE }} docker stop rpm-build && docker rm rpm-build From 0dced9ff1f6e5c7838c89614a74ee2e612374899 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:55:33 +0100 Subject: [PATCH 128/443] ls removed. --- .github/workflows/reusable-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 69abaac60e8..5bacdee5f1b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,9 +64,9 @@ jobs: # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | docker run --name rpm-build --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} - # sudo ls /var/lib/docker/devicemapper/mnt/rpm-build/rootfs/ - docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/RPMS/.gitkeep ${{ GITHUB.WORKSPACE }} - docker cp rpm-build:/root/android-cuttlefish/tools/rpmbuild/SRPMS/.gitkeep ${{ GITHUB.WORKSPACE }} + CID=`docker ps -aqf "name=^rpm-build$"` + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/.gitkeep ${{ GITHUB.WORKSPACE }} + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/.gitkeep ${{ GITHUB.WORKSPACE }} docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT From 5412b95265bce157fc1ddc176c0f3e12ef4020c7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 06:57:51 +0100 Subject: [PATCH 129/443] ls removed. --- .github/workflows/reusable-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 5bacdee5f1b..01fcede6fee 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,9 +61,9 @@ jobs: - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages - # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} + # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - docker run --name rpm-build --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/.gitkeep ${{ GITHUB.WORKSPACE }} docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/.gitkeep ${{ GITHUB.WORKSPACE }} @@ -98,6 +98,6 @@ jobs: id: test-rpm-packages # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - docker run --name rpm-test --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} docker stop rpm-test && docker rm rpm-test echo "result=ok" >> $GITHUB_OUTPUT From 400e29cee5d046f5ecadae686b7ee160d119272d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:01:01 +0100 Subject: [PATCH 130/443] ls removed. --- .github/workflows/reusable-docker.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 01fcede6fee..fbdd61d8490 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -63,10 +63,11 @@ jobs: id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | + mkdir ${{ GITHUB.WORKSPACE }/packages docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/.gitkeep ${{ GITHUB.WORKSPACE }} - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/.gitkeep ${{ GITHUB.WORKSPACE }} + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/ ${{ GITHUB.WORKSPACE }}/packages + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/ ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT From 54c8a5883baa8e04efa168ce7a117daa5baaf21c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:02:19 +0100 Subject: [PATCH 131/443] typo. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index fbdd61d8490..dd3efd02456 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -63,7 +63,7 @@ jobs: id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - mkdir ${{ GITHUB.WORKSPACE }/packages + mkdir ${{ GITHUB.WORKSPACE }}/packages docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/ ${{ GITHUB.WORKSPACE }}/packages From f2b06057cee1abff4fbac16bd27d954e68f71bf2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:07:22 +0100 Subject: [PATCH 132/443] echo added. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index dd3efd02456..d06b5d422b4 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -66,8 +66,8 @@ jobs: mkdir ${{ GITHUB.WORKSPACE }}/packages docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/ ${{ GITHUB.WORKSPACE }}/packages - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/ ${{ GITHUB.WORKSPACE }}/packages + echo "CID: ${CID}" + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT From e68b8093aacb1d258c4c4926f8f66d422f467528 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:16:07 +0100 Subject: [PATCH 133/443] path changed. --- .github/workflows/reusable-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index d06b5d422b4..e0fec033720 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -79,18 +79,18 @@ jobs: with: name: ${{ GITHUB.REPOSITORY }}-rpm path: | - ${{ GITHUB.WORKSPACE }}/*.rpm + {{ GITHUB.WORKSPACE }}/packages/*.rpm retention-days: 14 # https://github.com/actions/upload-artifact - - name: Retain Artifacts (*.srpm) + - name: Retain Artifacts (*.src.rpm) if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} uses: 'actions/upload-artifact@v4' id: retain-srpm-packages with: name: ${{ ENV.REPO_NAME }}-srpm path: | - ${{ GITHUB.REPOSITORY }}/*.srpm + ${{ GITHUB.WORKSPACE }}/packages/*.src.rpm retention-days: 14 # https://docs.docker.com/reference/cli/docker/container/run/ From 8f82308ebceaabc9c3b23200f9ab633c70c6b021 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:17:48 +0100 Subject: [PATCH 134/443] path changed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 07273ebac79..94e24bc3582 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -52,4 +52,4 @@ RUN go install github.com/bazelbuild/bazelisk@latest # The default entrypoint. ENTRYPOINT [ "/bin/bash", "-c", "/root/buildscript.sh" ] -VOLUME [ "/root" ] +VOLUME "/root" From df879e2fda4feb8f636245b5c86439605226c68e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:25:18 +0100 Subject: [PATCH 135/443] echo added. --- .github/workflows/reusable-docker.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index e0fec033720..efb7df34232 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -67,7 +67,8 @@ jobs: docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages + docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages + docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT @@ -88,7 +89,7 @@ jobs: uses: 'actions/upload-artifact@v4' id: retain-srpm-packages with: - name: ${{ ENV.REPO_NAME }}-srpm + name: ${{ ENV.REPO_NAME }}-src-rpm path: | ${{ GITHUB.WORKSPACE }}/packages/*.src.rpm retention-days: 14 From 6f9057518f67f8bb14442c5ad8e447c9af9b20af Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:29:16 +0100 Subject: [PATCH 136/443] echo added. --- .github/workflows/reusable-docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index efb7df34232..dce05017701 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -67,6 +67,7 @@ jobs: docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" + docker inspect -f {{.Mounts}} $CID docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build From 0305ff55ea9e7634fc9e653d4cba7862b6a3094e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:33:24 +0100 Subject: [PATCH 137/443] android-cuttlefish --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index dce05017701..5c5be6a1617 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -68,8 +68,8 @@ jobs: CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" docker inspect -f {{.Mounts}} $CID - docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages - docker cp $CID:/root/${{ ENV.REPO_NAME }}/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT From 69e15cc25e4968d4007641f4e571d50963e7a1b7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:35:47 +0100 Subject: [PATCH 138/443] android-cuttlefish --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 5c5be6a1617..d263228ecde 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -67,7 +67,7 @@ jobs: docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" - docker inspect -f {{.Mounts}} $CID + # docker inspect -f {{.Mounts}} $CID docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build From 722a964ae40de6d82c953a3f0f38ed49a909587b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:37:13 +0100 Subject: [PATCH 139/443] android-cuttlefish --- .github/workflows/reusable-docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index d263228ecde..9f67c5e802e 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -68,6 +68,7 @@ jobs: CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" # docker inspect -f {{.Mounts}} $CID + docker exec rpm-build ls -la /root/android-cuttlefish/tools/rpmbuild/RPMS docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build From bb4504c4a13175a45f39b43cad8aa14669440a5c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:42:43 +0100 Subject: [PATCH 140/443] android-cuttlefish --- .github/workflows/reusable-docker.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 9f67c5e802e..c835ec825f6 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,14 +61,16 @@ jobs: - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages - # --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | mkdir ${{ GITHUB.WORKSPACE }}/packages - docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" # docker inspect -f {{.Mounts}} $CID + docker start rpm-build docker exec rpm-build ls -la /root/android-cuttlefish/tools/rpmbuild/RPMS + docker stop rpm-test + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages docker stop rpm-build && docker rm rpm-build @@ -100,8 +102,7 @@ jobs: - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages - # --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} run: | - docker run --name rpm-test --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} docker stop rpm-test && docker rm rpm-test echo "result=ok" >> $GITHUB_OUTPUT From 6aca2548062ac4d277d1d92720a58b68c9a7504b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 07:47:25 +0100 Subject: [PATCH 141/443] --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker --- .github/workflows/reusable-docker.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c835ec825f6..df9dbe000a8 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,9 +61,10 @@ jobs: - name: Run the build script and copy packages to workspace if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} id: build-rpm-packages + # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | mkdir ${{ GITHUB.WORKSPACE }}/packages - docker run --name rpm-build --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" # docker inspect -f {{.Mounts}} $CID @@ -102,7 +103,8 @@ jobs: - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} id: test-rpm-packages + # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | - docker run --name rpm-test --attach STDOUT --attach STDERR --quiet --entrypoint ${{ INPUTS.ENTRY-POINT }} ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-test --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} docker stop rpm-test && docker rm rpm-test echo "result=ok" >> $GITHUB_OUTPUT From 7ddbce8cd4616a0fca9d57eafff54c2ab3f24d54 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:10:23 +0100 Subject: [PATCH 142/443] multi-stage build. --- .github/workflows/reusable-docker.yml | 5 +-- .github/workflows/rpm-builder.yml | 4 ++ docker/rpm-builder/Dockerfile | 59 +++++++++++++++------------ 3 files changed, 38 insertions(+), 30 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index df9dbe000a8..c08cd3e9933 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -63,7 +63,6 @@ jobs: id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | - mkdir ${{ GITHUB.WORKSPACE }}/packages docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" @@ -72,8 +71,8 @@ jobs: docker exec rpm-build ls -la /root/android-cuttlefish/tools/rpmbuild/RPMS docker stop rpm-test - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS ${{ GITHUB.WORKSPACE }}/packages - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS ${{ GITHUB.WORKSPACE }}/packages + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/ ${{ RUNNER.TEMP }}/ + docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/ ${{ RUNNER.TEMP }}/ docker stop rpm-build && docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 87e0f996330..75e4b5d4f3a 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -56,6 +56,9 @@ jobs: tags: ${{ ENV.DOCKER_IMAGE }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images + # docker build --target builder -t syslogic/rpm-builder:latest . + # docker build --target integration -t syslogic/rpm-integration:latest . + # docker build --target orchestration -t syslogic/rpm-orchestration:latest . - name: Build and push Docker image if: ${{ !inputs.enable-docker-cache }} id: push @@ -69,6 +72,7 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 + outputs: type=docker,dest=${{ RUNNER.TEMP }}/myimage.tar - name: Build and push Docker images with cache if: ${{ inputs.enable-docker-cache }} diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 94e24bc3582..fa81c74048f 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,29 +1,18 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux +LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" ARG ROCKY_LINUX_VERSION=9.5 -FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION -ARG BAZEL_VERSION=7.6.0 - -LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" \ -org.opencontainers.image.title="RPM Builder" \ -org.opencontainers.image.source="https://github.com/google/android-cuttlefish/blob/main/docker/rpm-builder/Dockerfile" \ -org.opencontainers.image.description="RPM package builder image based on Rocky Linux" \ -org.opencontainers.image.authors="Martin Zeitler" - -# Expose Operator Port (HTTP:1080, HTTPS:1443) -EXPOSE 1080 1443 -# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) -EXPOSE 2080 2443 -# Expose WebRTC -EXPOSE 8443/tcp 15550-15560 -# Expose ADB -EXPOSE 6520-6620 +FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux +ENTRYPOINT [ "/bin/bash" ] +VOLUME [ "/root" ] # Install build and runtime dependencies. # RUN dnf -y swap curl-minimal curl-full # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch +FROM rockylinux AS builder +ARG BAZEL_VERSION=7.6.0 # EPEL repository provides `ncurses-compat-libs` and installs `dnf-core-plugin`, which has `dnf builddeps`. RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade @@ -31,17 +20,12 @@ RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.n RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs # Package `protobuf` comes from CRB repository RUN dnf -y install protobuf protobuf-devel protobuf-compiler --enablerepo crb -# Integration and orchestration dependencies. -RUN dnf -y install qemu-kvm nginx systemd-journal-remote -RUN dnf list installed RUN dnf clean all -# Add entrypoint scripts, to be used by container instrumentation. +# Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh -# RUN sed -i 's/\r//' /root/buildscript.sh - ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh -# RUN sed -i 's/\r//' /root/testscript.sh +ENTRYPOINT [ "/bin/bash", "-c", "/root/buildscript.sh" ] # Modify file `~/.bash_profile` and install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc @@ -50,6 +34,27 @@ RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile RUN source ~/.bash_profile RUN go install github.com/bazelbuild/bazelisk@latest -# The default entrypoint. -ENTRYPOINT [ "/bin/bash", "-c", "/root/buildscript.sh" ] -VOLUME "/root" +FROM rockylinux AS portconfig + +# Expose Operator Port (HTTP:1080, HTTPS:1443) +EXPOSE 1080 1443 +# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) +EXPOSE 2080 2443 +# Expose WebRTC +EXPOSE 8443/tcp 15550-15560 +# Expose ADB +EXPOSE 6520-6620 + +# Integration dependencies. +FROM portconfig AS integration +RUN dnf -y install qemu-kvm +RUN dnf clean all + +# Orchestration dependencies. +FROM portconfig AS orchestration +RUN dnf -y install nginx systemd-journal-remote +RUN dnf clean all + +# docker build --target builder -t syslogic/rpm-builder:latest . +# docker build --target integration -t syslogic/rpm-integration:latest . +# docker build --target orchestration -t syslogic/rpm-orchestration:latest . \ No newline at end of file From 43f369fdfcc30617eedb06f5dd4388441fe03726 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:18:45 +0100 Subject: [PATCH 143/443] docker test. --- .github/workflows/rpm-builder.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 75e4b5d4f3a..d6a0782612b 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -72,7 +72,13 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 - outputs: type=docker,dest=${{ RUNNER.TEMP }}/myimage.tar + outputs: type=docker,dest=${{ RUNNER.TEMP }}/rpm-builder.tar + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: rpm-builder + path: ${{ runner.temp }}/rpm-builder.tar - name: Build and push Docker images with cache if: ${{ inputs.enable-docker-cache }} @@ -95,8 +101,17 @@ jobs: subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true - outputs: - docker-image: "${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest" + + - name: Download artifact + uses: actions/download-artifact@v4 + with: + name: rpm-builder + path: ${{ runner.temp }} + + - name: Load image + run: | + docker load --input ${{ runner.temp }}/rpm-builder.tar + docker image ls -a build-rpm-specs: needs: build-docker-image From e167a6b091d5d5d1c1c28557e3c8eba20c066283 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:20:20 +0100 Subject: [PATCH 144/443] ERROR: Docker exporter is not supported for the docker driver. --- .github/workflows/reusable-docker.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c08cd3e9933..6fcdb43cb96 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -66,11 +66,7 @@ jobs: docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" - # docker inspect -f {{.Mounts}} $CID - docker start rpm-build - docker exec rpm-build ls -la /root/android-cuttlefish/tools/rpmbuild/RPMS - docker stop rpm-test - + # docker inspect -f {{.Mounts}} $CID docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/ ${{ RUNNER.TEMP }}/ docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/ ${{ RUNNER.TEMP }}/ docker stop rpm-build && docker rm rpm-build From 3340f5639db873b7e76bb81e6a6b47f08d96fd42 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:25:37 +0100 Subject: [PATCH 145/443] ERROR: Docker exporter is not supported for the docker driver. --- .github/workflows/reusable-docker.yml | 16 ++++++++++++---- .github/workflows/rpm-builder.yml | 18 ------------------ 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 6fcdb43cb96..7836eeee2f9 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,12 +64,12 @@ jobs: # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} + # docker inspect -f {{.Mounts}} $CID CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" - # docker inspect -f {{.Mounts}} $CID docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/ ${{ RUNNER.TEMP }}/ docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/ ${{ RUNNER.TEMP }}/ - docker stop rpm-build && docker rm rpm-build + docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact @@ -91,9 +91,15 @@ jobs: with: name: ${{ ENV.REPO_NAME }}-src-rpm path: | - ${{ GITHUB.WORKSPACE }}/packages/*.src.rpm + ${{ RUNNER.TEMP }}/*.src.rpm retention-days: 14 +# - name: Download artifact +# uses: actions/download-artifact@v4 +# with: +# name: rpm-builder +# path: ${{ runner.temp }} + # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} @@ -101,5 +107,7 @@ jobs: # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | docker run --name rpm-test --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} - docker stop rpm-test && docker rm rpm-test + CID=`docker ps -aqf "name=^rpm-test"` + echo "CID: ${CID}" + docker rm rpm-test echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index d6a0782612b..fe85de69395 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -72,13 +72,6 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 - outputs: type=docker,dest=${{ RUNNER.TEMP }}/rpm-builder.tar - - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: rpm-builder - path: ${{ runner.temp }}/rpm-builder.tar - name: Build and push Docker images with cache if: ${{ inputs.enable-docker-cache }} @@ -102,17 +95,6 @@ jobs: subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: rpm-builder - path: ${{ runner.temp }} - - - name: Load image - run: | - docker load --input ${{ runner.temp }}/rpm-builder.tar - docker image ls -a - build-rpm-specs: needs: build-docker-image uses: ./.github/workflows/reusable-docker.yml From b9fa41bebdcf3137a6cd627a181c5abeae0a20f4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:40:07 +0100 Subject: [PATCH 146/443] setup-docker-action@v4 --- .github/workflows/rpm-builder.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index fe85de69395..e88317181dc 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -30,6 +30,19 @@ jobs: - name: Get latest code uses: actions/checkout@v4 + # https://docs.docker.com/reference/cli/dockerd/#daemon-configuration-file + # https://github.com/docker/setup-docker-action + - name: Set up Docker + uses: 'docker/setup-docker-action@v4' + with: + daemon-config: | + { + "debug": true, + "features": { + "containerd-snapshotter": true + } + } + - name: Setup Buildx id: buildx-setup if: ${{ inputs.enable-docker-cache }} From 55260e0ceedb4a283f5907335194db610f791635 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:43:17 +0100 Subject: [PATCH 147/443] setup-docker-action@v4 --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index fa81c74048f..07cf857249d 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,8 +1,8 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux -LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux +LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" ENTRYPOINT [ "/bin/bash" ] VOLUME [ "/root" ] From 85ef9dfb6277cb5a8eba41b3eb830826e27d0791 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:44:58 +0100 Subject: [PATCH 148/443] setup-docker-action@v4 --- docker/rpm-builder/Dockerfile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 07cf857249d..137c60cd1fb 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -6,13 +6,17 @@ LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/g ENTRYPOINT [ "/bin/bash" ] VOLUME [ "/root" ] -# Install build and runtime dependencies. +# docker build --target builder -t syslogic/rpm-builder:latest . +# docker build --target integration -t syslogic/rpm-integration:latest . +# docker build --target orchestration -t syslogic/rpm-orchestration:latest . +FROM rockylinux AS builder +ARG BAZEL_VERSION=7.6.0 + +# Install build dependencies. # RUN dnf -y swap curl-minimal curl-full # RUN dnf -y swap coreutils-single coreutils # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -FROM rockylinux AS builder -ARG BAZEL_VERSION=7.6.0 # EPEL repository provides `ncurses-compat-libs` and installs `dnf-core-plugin`, which has `dnf builddeps`. RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade @@ -53,8 +57,4 @@ RUN dnf clean all # Orchestration dependencies. FROM portconfig AS orchestration RUN dnf -y install nginx systemd-journal-remote -RUN dnf clean all - -# docker build --target builder -t syslogic/rpm-builder:latest . -# docker build --target integration -t syslogic/rpm-integration:latest . -# docker build --target orchestration -t syslogic/rpm-orchestration:latest . \ No newline at end of file +RUN dnf clean all \ No newline at end of file From 281bacdf313b76d1ff8aa508d1bb39abc094c23d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:53:58 +0100 Subject: [PATCH 149/443] trying to add build-args. --- .github/workflows/rpm-builder.yml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index e88317181dc..8cb4f8c9c88 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -30,19 +30,6 @@ jobs: - name: Get latest code uses: actions/checkout@v4 - # https://docs.docker.com/reference/cli/dockerd/#daemon-configuration-file - # https://github.com/docker/setup-docker-action - - name: Set up Docker - uses: 'docker/setup-docker-action@v4' - with: - daemon-config: | - { - "debug": true, - "features": { - "containerd-snapshotter": true - } - } - - name: Setup Buildx id: buildx-setup if: ${{ inputs.enable-docker-cache }} @@ -85,6 +72,8 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 + build-args: | + --target builder - name: Build and push Docker images with cache if: ${{ inputs.enable-docker-cache }} From bc5d866e11d51354fa909d6bb9939029d88b2f2f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 08:56:03 +0100 Subject: [PATCH 150/443] trying to add build-args. --- .github/workflows/rpm-builder.yml | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 8cb4f8c9c88..4cc0d7d0ce1 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -2,12 +2,6 @@ name: RPM Builder on: push: - workflow_call: - inputs: - enable-docker-cache: - required: false - type: boolean - default: false env: DOCKER_REGISTRY: ghcr.io @@ -32,11 +26,10 @@ jobs: - name: Setup Buildx id: buildx-setup - if: ${{ inputs.enable-docker-cache }} uses: 'docker/setup-buildx-action@v3' - with: - driver: 'docker-container' - driver-opts: 'image=moby/buildkit:master,network=host' + # with: + # driver: 'docker-container' + # driver-opts: 'image=moby/buildkit:master,network=host' # https://github.com/docker/login-action - name: Log in to the Container registry @@ -60,7 +53,6 @@ jobs: # docker build --target integration -t syslogic/rpm-integration:latest . # docker build --target orchestration -t syslogic/rpm-orchestration:latest . - name: Build and push Docker image - if: ${{ !inputs.enable-docker-cache }} id: push uses: 'docker/build-push-action@v6' with: @@ -75,20 +67,6 @@ jobs: build-args: | --target builder - - name: Build and push Docker images with cache - if: ${{ inputs.enable-docker-cache }} - id: push-image-cached - uses: 'docker/build-push-action@v6' - with: - context: . - cache-from: type=gha - cache-to: type=gha,mode=max - file: docker/rpm-builder/Dockerfile - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - platforms: linux/amd64 - # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' From 2b51035f8b68bc28734e83afdf0301f36ab5b0f2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 09:08:55 +0100 Subject: [PATCH 151/443] trying to add build-args. --- .github/workflows/rpm-builder.yml | 4 +++- docker/rpm-builder/Dockerfile | 22 +++++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 4cc0d7d0ce1..de86e9e0067 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -65,7 +65,9 @@ jobs: labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 build-args: | - --target builder + ROCKY_LINUX_VERSION=9.5 + BAZEL_VERSION=7.6.0 + target: builder # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 137c60cd1fb..9bef34975ec 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,14 +1,14 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux +# docker build --target builder -t syslogic/rpm-builder:latest . +# docker build --target integration -t syslogic/rpm-integration:latest . +# docker build --target orchestration -t syslogic/rpm-orchestration:latest . ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" ENTRYPOINT [ "/bin/bash" ] VOLUME [ "/root" ] -# docker build --target builder -t syslogic/rpm-builder:latest . -# docker build --target integration -t syslogic/rpm-integration:latest . -# docker build --target orchestration -t syslogic/rpm-orchestration:latest . FROM rockylinux AS builder ARG BAZEL_VERSION=7.6.0 @@ -38,8 +38,9 @@ RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile RUN source ~/.bash_profile RUN go install github.com/bazelbuild/bazelisk@latest -FROM rockylinux AS portconfig +# Integration dependencies. +FROM builder AS integration # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) @@ -49,12 +50,19 @@ EXPOSE 8443/tcp 15550-15560 # Expose ADB EXPOSE 6520-6620 -# Integration dependencies. -FROM portconfig AS integration RUN dnf -y install qemu-kvm RUN dnf clean all # Orchestration dependencies. -FROM portconfig AS orchestration +FROM builder AS orchestration +# Expose Operator Port (HTTP:1080, HTTPS:1443) +EXPOSE 1080 1443 +# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) +EXPOSE 2080 2443 +# Expose WebRTC +EXPOSE 8443/tcp 15550-15560 +# Expose ADB +EXPOSE 6520-6620 + RUN dnf -y install nginx systemd-journal-remote RUN dnf clean all \ No newline at end of file From 5afc9ea1105834f59f110966f3af50aa665e69b5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 09:15:34 +0100 Subject: [PATCH 152/443] outputs ... --- .github/workflows/reusable-docker.yml | 21 --------------------- .github/workflows/rpm-builder.yml | 11 +++-------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 7836eeee2f9..06f7ea87e4e 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -26,21 +26,6 @@ jobs: docker-run: runs-on: ubuntu-latest if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} - -# container: -# image: ${{ INPUTS.DOCKER-IMAGE }} -# options: '--cpus 1' -# credentials: -# username: ${{ GITHUB.ACTOR }} -# password: ${{ SECRETS.TOKEN }} -# volumes: -# - /home/runner -# ports: -# - 1080 1443 -# - 2080 2443 -# - 8443 15550-15560 -# - 6520-6620 - outputs: build: ${{ steps.copy-rpm-packages.outputs.result }} test: ${{ steps.test-rpm-packages.outputs.result }} @@ -94,12 +79,6 @@ jobs: ${{ RUNNER.TEMP }}/*.src.rpm retention-days: 14 -# - name: Download artifact -# uses: actions/download-artifact@v4 -# with: -# name: rpm-builder -# path: ${{ runner.temp }} - # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run the test script if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index de86e9e0067..5d441a58a78 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -24,13 +24,6 @@ jobs: - name: Get latest code uses: actions/checkout@v4 - - name: Setup Buildx - id: buildx-setup - uses: 'docker/setup-buildx-action@v3' - # with: - # driver: 'docker-container' - # driver-opts: 'image=moby/buildkit:master,network=host' - # https://github.com/docker/login-action - name: Log in to the Container registry id: container-registry @@ -64,10 +57,10 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 + target: builder build-args: | ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 - target: builder # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation @@ -76,6 +69,8 @@ jobs: subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true + outputs: + docker-image: "${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest" build-rpm-specs: needs: build-docker-image From be92f27db8a9fa444a05372207076907359b2ed4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 09:32:20 +0100 Subject: [PATCH 153/443] VOLUME changed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 9bef34975ec..907e8993d23 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -7,7 +7,7 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" ENTRYPOINT [ "/bin/bash" ] -VOLUME [ "/root" ] +VOLUME [ "/root/android-cuttlefish" ] FROM rockylinux AS builder ARG BAZEL_VERSION=7.6.0 From 85b0b2ddc923446277c9693e1f60230720736c80 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 09:52:22 +0100 Subject: [PATCH 154/443] outputs ... --- .github/workflows/reusable-docker.yml | 13 +++---- .github/workflows/rpm-builder.yml | 50 +++++++++++++++++---------- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 06f7ea87e4e..c24002f495a 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -9,10 +9,6 @@ on: docker-image: required: true type: string - entry-point: - required: false - type: string - default: '/home/runner/buildscript.sh' outputs: build: value: ${{ jobs.docker-run.outputs.build }} @@ -25,7 +21,6 @@ jobs: docker-run: runs-on: ubuntu-latest - if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} outputs: build: ${{ steps.copy-rpm-packages.outputs.result }} test: ${{ steps.test-rpm-packages.outputs.result }} @@ -44,7 +39,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Run the build script and copy packages to workspace - if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} + if: ${{ ! contains(INPUTS.DOCKER-IMAGE, 'test') }} id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | @@ -59,7 +54,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) - if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} + if: ${{ ! contains(INPUTS.DOCKER-IMAGE, 'test') }} uses: 'actions/upload-artifact@v4' id: retain-rpm-packages with: @@ -70,7 +65,7 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.src.rpm) - if: ${{ contains(INPUTS.ENTRY-POINT, 'build') }} + if: ${{ ! contains(INPUTS.DOCKER-IMAGE, 'test') }} uses: 'actions/upload-artifact@v4' id: retain-srpm-packages with: @@ -81,7 +76,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run the test script - if: ${{ contains(INPUTS.ENTRY-POINT, 'test') }} + if: ${{ contains(INPUTS.DOCKER-IMAGE, 'test') }} id: test-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 5d441a58a78..12943d01fbd 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -5,11 +5,10 @@ on: env: DOCKER_REGISTRY: ghcr.io - DOCKER_IMAGE: ${{ GITHUB.ACTOR }}/rpm-builder jobs: - build-docker-image: + build-docker-images: runs-on: ubuntu-latest permissions: @@ -35,18 +34,18 @@ jobs: # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) for Docker - id: meta + id: meta-builder uses: 'docker/metadata-action@v5' with: - images: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} - tags: ${{ ENV.DOCKER_IMAGE }}:latest + images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder + tags: ${{ GITHUB.ACTOR }}/rpm-builder:latest # https://github.com/marketplace/actions/build-and-push-docker-images # docker build --target builder -t syslogic/rpm-builder:latest . - # docker build --target integration -t syslogic/rpm-integration:latest . - # docker build --target orchestration -t syslogic/rpm-orchestration:latest . + # docker build --target integration -t syslogic/rhel-integration:latest . + # docker build --target orchestration -t syslogic/rhel-orchestration:latest . - name: Build and push Docker image - id: push + id: push-builder uses: 'docker/build-push-action@v6' with: context: . @@ -54,8 +53,8 @@ jobs: # cache-to: type=gha,mode=max file: docker/rpm-builder/Dockerfile push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + tags: ${{ steps.meta-builder.outputs.tags }} + labels: ${{ steps.meta-builder.outputs.labels }} platforms: linux/amd64 target: builder build-args: | @@ -66,18 +65,20 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }} - subject-digest: ${{ steps.push.outputs.digest }} + subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}-builder + subject-digest: ${{ steps.push-builder.outputs.digest }} push-to-registry: true outputs: - docker-image: "${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}:latest" + rpm-builder: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder:latest" + rpm-builder-test: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder-test:latest" + rhel-integration: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration:latest" + rhel-orchestration: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration:latest" build-rpm-specs: - needs: build-docker-image + needs: build-docker-images uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ needs.build-docker-image.outputs.docker-image }} - entry-point: "/root/buildscript.sh" + docker-image: ${{ needs.build-docker-images.outputs.rpm-builder }} secrets: token: ${{ SECRETS.GITHUB_TOKEN }} @@ -85,7 +86,20 @@ jobs: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ${{ needs.build-docker-image.outputs.docker-image }} - entry-point: "/root/testscript.sh" + docker-image: ${{ needs.build-docker-images.outputs.rpm-builder-test }} secrets: token: ${{ SECRETS.GITHUB_TOKEN }} + + rhel-integration: + needs: test-rpm-packages + uses: ./.github/workflows/reusable-docker.yml + with: + docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} + + rhel-orchestration: + needs: test-rpm-packages + uses: ./.github/workflows/reusable-docker.yml + with: + docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} \ No newline at end of file From 3ca218a7e68fbc12109869dff7d0279446167c17 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 09:54:17 +0100 Subject: [PATCH 155/443] typo. --- .github/workflows/rpm-builder.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 12943d01fbd..c72d7072f46 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -95,6 +95,8 @@ jobs: uses: ./.github/workflows/reusable-docker.yml with: docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} rhel-orchestration: needs: test-rpm-packages From 7922dd5aee2c4b5e051154fb12e27fe838411d79 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 10:45:27 +0100 Subject: [PATCH 156/443] buildscript now packages all packages into one file, with a stable filename. --- .github/workflows/rpm-builder.yml | 155 +++++++++++++++++++++++------- docker/rpm-builder/Dockerfile | 45 ++++++--- docker/rpm-builder/buildscript.sh | 8 +- 3 files changed, 161 insertions(+), 47 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index c72d7072f46..b0c7e3f9665 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -1,7 +1,5 @@ name: RPM Builder - -on: - push: +on: [ push ] env: DOCKER_REGISTRY: ghcr.io @@ -19,10 +17,6 @@ jobs: steps: - # https://github.com/actions/checkout - - name: Get latest code - uses: actions/checkout@v4 - # https://github.com/docker/login-action - name: Log in to the Container registry id: container-registry @@ -32,76 +26,171 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} + # https://github.com/actions/checkout + - name: Get latest code + uses: actions/checkout@v4 + # https://github.com/docker/metadata-action - - name: Extract metadata (tags, labels) for Docker - id: meta-builder + - name: Extract metadata (tags, labels) for rpm-builder + id: meta-rpm-builder uses: 'docker/metadata-action@v5' with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder tags: ${{ GITHUB.ACTOR }}/rpm-builder:latest - # https://github.com/marketplace/actions/build-and-push-docker-images - # docker build --target builder -t syslogic/rpm-builder:latest . - # docker build --target integration -t syslogic/rhel-integration:latest . - # docker build --target orchestration -t syslogic/rhel-orchestration:latest . - name: Build and push Docker image - id: push-builder uses: 'docker/build-push-action@v6' + id: push-rpm-builder with: context: . - # cache-from: type=gha - # cache-to: type=gha,mode=max file: docker/rpm-builder/Dockerfile push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta-builder.outputs.tags }} - labels: ${{ steps.meta-builder.outputs.labels }} + tags: ${{ steps.meta-rpm-builder.outputs.tags }} + labels: ${{ steps.meta-rpm-builder.outputs.labels }} platforms: linux/amd64 target: builder build-args: | ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 + # https://github.com/actions/attest-build-provenance + - name: Generate artifact attestation + uses: 'actions/attest-build-provenance@v2' + with: + subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder + subject-digest: ${{ steps.push-rpm-builder.outputs.digest }} + push-to-registry: true + + + + # https://github.com/docker/metadata-action + - name: Extract metadata (tags, labels) for rpm-testing + uses: 'docker/metadata-action@v5' + id: meta-rpm-testing + with: + images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing + tags: ${{ GITHUB.ACTOR }}/rpm-testing:latest + # https://github.com/marketplace/actions/build-and-push-docker-images + - name: Build and push Docker image + id: push-rpm-testing + uses: 'docker/build-push-action@v6' + with: + context: . + file: docker/rpm-builder/Dockerfile + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta-rpm-testing.outputs.tags }} + labels: ${{ steps.meta-rpm-testing.outputs.labels }} + platforms: linux/amd64 + target: testing + build-args: | + ROCKY_LINUX_VERSION=9.5 + BAZEL_VERSION=7.6.0 # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ ENV.DOCKER_IMAGE }}-builder - subject-digest: ${{ steps.push-builder.outputs.digest }} + subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing + subject-digest: ${{ steps.push-rpm-testing.outputs.digest }} push-to-registry: true + + + + # https://github.com/docker/metadata-action + - name: Extract metadata (tags, labels) for rhel-orchestration + uses: 'docker/metadata-action@v5' + id: meta-rhel-orchestration + with: + images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration + tags: ${{ GITHUB.ACTOR }}/rhel-orchestration:latest + # https://github.com/marketplace/actions/build-and-push-docker-images + - name: Build and push Docker image + id: push-rhel-orchestration + uses: 'docker/build-push-action@v6' + with: + context: . + file: docker/rpm-builder/Dockerfile + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta-rhel-orchestration.outputs.tags }} + labels: ${{ steps.meta-rhel-orchestration.outputs.labels }} + platforms: linux/amd64 + target: orchestration + build-args: | + ROCKY_LINUX_VERSION=9.5 + BAZEL_VERSION=7.6.0 + # https://github.com/actions/attest-build-provenance + - name: Generate artifact attestation + uses: 'actions/attest-build-provenance@v2' + with: + subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration + subject-digest: ${{ steps.push-rhel-orchestration.outputs.digest }} + push-to-registry: true + + + + # https://github.com/docker/metadata-action + - name: Extract metadata (tags, labels) for rhel-integration + uses: 'docker/metadata-action@v5' + id: meta-rhel-integration + with: + images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration + tags: ${{ GITHUB.ACTOR }}/rhel-integration:latest + # https://github.com/marketplace/actions/build-and-push-docker-images + - name: Build and push Docker image + id: push-rhel-integration + uses: 'docker/build-push-action@v6' + with: + context: . + file: docker/rpm-builder/Dockerfile + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta-rhel-integration.outputs.tags }} + labels: ${{ steps.meta-rhel-integration.outputs.labels }} + platforms: linux/amd64 + target: integration + build-args: | + ROCKY_LINUX_VERSION=9.5 + BAZEL_VERSION=7.6.0 + # https://github.com/actions/attest-build-provenance + - name: Generate artifact attestation + uses: 'actions/attest-build-provenance@v2' + with: + subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration + subject-digest: ${{ steps.push-rhel-integration.outputs.digest }} + push-to-registry: true + outputs: rpm-builder: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder:latest" - rpm-builder-test: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder-test:latest" - rhel-integration: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration:latest" + rpm-testing: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing:latest" rhel-orchestration: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration:latest" + rhel-integration: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration:latest" build-rpm-specs: needs: build-docker-images uses: ./.github/workflows/reusable-docker.yml - with: - docker-image: ${{ needs.build-docker-images.outputs.rpm-builder }} secrets: token: ${{ SECRETS.GITHUB_TOKEN }} + with: + docker-image: ${{ needs.build-docker-images.outputs.rpm-builder }} test-rpm-packages: needs: build-rpm-specs uses: ./.github/workflows/reusable-docker.yml - with: - docker-image: ${{ needs.build-docker-images.outputs.rpm-builder-test }} secrets: token: ${{ SECRETS.GITHUB_TOKEN }} + with: + docker-image: ${{ needs.build-docker-images.outputs.rpm-testing }} - rhel-integration: + test-integration: needs: test-rpm-packages uses: ./.github/workflows/reusable-docker.yml - with: - docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} secrets: token: ${{ SECRETS.GITHUB_TOKEN }} + with: + docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} - rhel-orchestration: + test-orchestration: needs: test-rpm-packages uses: ./.github/workflows/reusable-docker.yml - with: - docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} \ No newline at end of file + token: ${{ SECRETS.GITHUB_TOKEN }} + with: + docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} \ No newline at end of file diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 907e8993d23..953c74f22b9 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -6,10 +6,23 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" -ENTRYPOINT [ "/bin/bash" ] VOLUME [ "/root/android-cuttlefish" ] +ENTRYPOINT [ "/bin/bash" ] + +# Base Image +FROM rockylinux AS base + +# EPEL repository provides `ncurses-compat-libs` and installs `dnf-core-plugin`, which has `dnf builddeps`. +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade +RUN dnf clean all -FROM rockylinux AS builder +# Modify file `~/.bash_profile`, +RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile +RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile +RUN source ~/.bash_profile + +# RPM Builder +FROM base AS builder ARG BAZEL_VERSION=7.6.0 # Install build dependencies. @@ -18,8 +31,6 @@ ARG BAZEL_VERSION=7.6.0 # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -# EPEL repository provides `ncurses-compat-libs` and installs `dnf-core-plugin`, which has `dnf builddeps`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade # Provide build dependencies. RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs # Package `protobuf` comes from CRB repository @@ -28,19 +39,24 @@ RUN dnf clean all # Add entrypoint scripts. ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh -ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh ENTRYPOINT [ "/bin/bash", "-c", "/root/buildscript.sh" ] -# Modify file `~/.bash_profile` and install `bazelisk`. +# Install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc -RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile -RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile -RUN source ~/.bash_profile RUN go install github.com/bazelbuild/bazelisk@latest -# Integration dependencies. -FROM builder AS integration +# RPM Builder Testing +# Use `FROM base` to install with `dnf builddeps`. +FROM builder AS testing +ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh +ENTRYPOINT [ "/bin/bash", "-c", "/root/testscript.sh" ] + + +# RHEL Integration +FROM base AS integration +ENTRYPOINT [ "/bin/bash" ] + # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) @@ -53,8 +69,11 @@ EXPOSE 6520-6620 RUN dnf -y install qemu-kvm RUN dnf clean all -# Orchestration dependencies. -FROM builder AS orchestration + +# RHEL Orchestration +FROM base AS orchestration +ENTRYPOINT [ "/bin/bash" ] + # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index da270dbca6c..edd1f563309 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,9 +1,15 @@ #!/usr/bin/env bash cd /root || exit -# git clone git@github.com:syslogic/android-cuttlefish.git +# git clone https://github.com/google/android-cuttlefish.git git clone https://github.com/syslogic/android-cuttlefish.git cd android-cuttlefish || exit git switch rpm-build ./tools/buildutils/build_packages.sh + +cd tools/rpmbuild/RPMS || exit +tar zcvf /root/android-cuttlefish-rpm.tar.gz /* + +cd ../SRPMS || exit +tar zcvf /root/android-cuttlefish-src-rpm.tar.gz /* From ff658435af14009af39d600f1a95ce7d9ccd09ff Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 10:55:00 +0100 Subject: [PATCH 157/443] buildscript now packages all packages into one file, with a stable filename. --- .github/workflows/reusable-docker.yml | 50 ++++++++++++++------------- .github/workflows/rpm-builder.yml | 1 - docker/rpm-builder/Dockerfile | 2 +- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c24002f495a..5a4af6e641e 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -38,17 +38,17 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ - - name: Run the build script and copy packages to workspace + - name: Build RPM packages and copy these to RUNNER.TEMP if: ${{ ! contains(INPUTS.DOCKER-IMAGE, 'test') }} id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | - docker run --name rpm-build --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} - # docker inspect -f {{.Mounts}} $CID + docker run --name rpm-build --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + # docker inspect -f {{.Mounts}} $CID CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/RPMS/ ${{ RUNNER.TEMP }}/ - docker cp $CID:/root/android-cuttlefish/tools/rpmbuild/SRPMS/ ${{ RUNNER.TEMP }}/ + docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} docker rm rpm-build echo "result=ok" >> $GITHUB_OUTPUT @@ -58,30 +58,32 @@ jobs: uses: 'actions/upload-artifact@v4' id: retain-rpm-packages with: - name: ${{ GITHUB.REPOSITORY }}-rpm + name: android-cuttlefish-rpm path: | - {{ GITHUB.WORKSPACE }}/packages/*.rpm - retention-days: 14 - - # https://github.com/actions/upload-artifact - - name: Retain Artifacts (*.src.rpm) - if: ${{ ! contains(INPUTS.DOCKER-IMAGE, 'test') }} - uses: 'actions/upload-artifact@v4' - id: retain-srpm-packages - with: - name: ${{ ENV.REPO_NAME }}-src-rpm - path: | - ${{ RUNNER.TEMP }}/*.src.rpm + ${{ RUNNER.TEMP }}/*.tar.gz retention-days: 14 # https://docs.docker.com/reference/cli/docker/container/run/ - - name: Run the test script + - name: Run package tests if: ${{ contains(INPUTS.DOCKER-IMAGE, 'test') }} id: test-rpm-packages - # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | - docker run --name rpm-test --attach STDOUT --attach STDERR --quiet ${{ INPUTS.DOCKER-IMAGE }} - CID=`docker ps -aqf "name=^rpm-test"` - echo "CID: ${CID}" - docker rm rpm-test + docker run --name rpm-testing --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT + + # https://docs.docker.com/reference/cli/docker/container/run/ + - name: Run integration tests + if: ${{ contains(INPUTS.DOCKER-IMAGE, 'integration') }} + id: test-rpm-packages + run: | + docker run --name rhel-integration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + echo "result=ok" >> $GITHUB_OUTPUT + + # https://docs.docker.com/reference/cli/docker/container/run/ + - name: Run orchestration test + if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} + id: test-rpm-packages + run: | + docker run --name rhel-integration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index b0c7e3f9665..8fd8b55ca60 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -126,7 +126,6 @@ jobs: push-to-registry: true - # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) for rhel-integration uses: 'docker/metadata-action@v5' diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 953c74f22b9..6f5243ea2d2 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -6,7 +6,7 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" -VOLUME [ "/root/android-cuttlefish" ] +VOLUME [ "/root" ] ENTRYPOINT [ "/bin/bash" ] # Base Image From 016f854b75ec592bc9d710687ab23241ed05ebdd Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 10:56:08 +0100 Subject: [PATCH 158/443] buildscript now packages all packages into one file, with a stable filename. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 5a4af6e641e..f47b8265908 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -75,7 +75,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run integration tests if: ${{ contains(INPUTS.DOCKER-IMAGE, 'integration') }} - id: test-rpm-packages + id: test-integration run: | docker run --name rhel-integration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT @@ -83,7 +83,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run orchestration test if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} - id: test-rpm-packages + id: test-orchestration run: | docker run --name rhel-integration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 78ba6b95c4a4ec6debff6cbb0c97a2da9ff3a114 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 11:01:43 +0100 Subject: [PATCH 159/443] VOLUME changed. --- .github/workflows/reusable-docker.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index f47b8265908..b4c49d7628f 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -43,7 +43,8 @@ jobs: id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | - docker run --name rpm-build --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + mkdir ${{ RUNNER.TEMP }}:/root + docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}:/root ${{ INPUTS.DOCKER-IMAGE }} # docker inspect -f {{.Mounts}} $CID CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" From 556651adf238e85897949b70259fd4388c9e5dad Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 11:03:13 +0100 Subject: [PATCH 160/443] VOLUME changed. --- .github/workflows/reusable-docker.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index b4c49d7628f..c308ef33450 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -45,9 +45,11 @@ jobs: run: | mkdir ${{ RUNNER.TEMP }}:/root docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}:/root ${{ INPUTS.DOCKER-IMAGE }} - # docker inspect -f {{.Mounts}} $CID + docker inspect -f {{.Mounts}} $CID + ls ${{ RUNNER.TEMP }}:/root CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" + docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} docker rm rpm-build From 7ddb1dfa79013e613ac3c91742de7b67e975a487 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 11:08:55 +0100 Subject: [PATCH 161/443] VOLUME changed. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c308ef33450..daec9da60ae 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -43,8 +43,8 @@ jobs: id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | - mkdir ${{ RUNNER.TEMP }}:/root - docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}:/root ${{ INPUTS.DOCKER-IMAGE }} + mkdir ${{ RUNNER.TEMP }}/root_volume + docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}:/root_volume ${{ INPUTS.DOCKER-IMAGE }} docker inspect -f {{.Mounts}} $CID ls ${{ RUNNER.TEMP }}:/root CID=`docker ps -aqf "name=^rpm-build$"` From 66fb4cdbcb5726de2842b47e457c9299bc15f744 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 11:14:46 +0100 Subject: [PATCH 162/443] duplicate labels updated. --- .github/workflows/rpm-builder.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 8fd8b55ca60..48688fb0614 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -31,14 +31,14 @@ jobs: uses: actions/checkout@v4 # https://github.com/docker/metadata-action - - name: Extract metadata (tags, labels) for rpm-builder + - name: Extract metadata (tags, labels) for `rpm-builder` id: meta-rpm-builder uses: 'docker/metadata-action@v5' with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder tags: ${{ GITHUB.ACTOR }}/rpm-builder:latest # https://github.com/marketplace/actions/build-and-push-docker-images - - name: Build and push Docker image + - name: Build and push Docker image for `rpm-builder` uses: 'docker/build-push-action@v6' id: push-rpm-builder with: @@ -53,7 +53,7 @@ jobs: ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 # https://github.com/actions/attest-build-provenance - - name: Generate artifact attestation + - name: Generate artifact attestation for `rpm-builder` uses: 'actions/attest-build-provenance@v2' with: subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder @@ -63,14 +63,14 @@ jobs: # https://github.com/docker/metadata-action - - name: Extract metadata (tags, labels) for rpm-testing + - name: Extract metadata (tags, labels) for `rpm-testing` uses: 'docker/metadata-action@v5' id: meta-rpm-testing with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing tags: ${{ GITHUB.ACTOR }}/rpm-testing:latest # https://github.com/marketplace/actions/build-and-push-docker-images - - name: Build and push Docker image + - name: Build and push Docker image for `rpm-testing` id: push-rpm-testing uses: 'docker/build-push-action@v6' with: @@ -86,7 +86,7 @@ jobs: BAZEL_VERSION=7.6.0 # https://github.com/actions/attest-build-provenance - - name: Generate artifact attestation + - name: Generate artifact attestation for `rpm-testing` uses: 'actions/attest-build-provenance@v2' with: subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing @@ -96,14 +96,14 @@ jobs: # https://github.com/docker/metadata-action - - name: Extract metadata (tags, labels) for rhel-orchestration + - name: Extract metadata (tags, labels) for `rhel-orchestration` uses: 'docker/metadata-action@v5' id: meta-rhel-orchestration with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration tags: ${{ GITHUB.ACTOR }}/rhel-orchestration:latest # https://github.com/marketplace/actions/build-and-push-docker-images - - name: Build and push Docker image + - name: Build and push Docker image for `rhel-orchestration` id: push-rhel-orchestration uses: 'docker/build-push-action@v6' with: @@ -118,7 +118,7 @@ jobs: ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 # https://github.com/actions/attest-build-provenance - - name: Generate artifact attestation + - name: Generate artifact attestation for `rhel-orchestration` uses: 'actions/attest-build-provenance@v2' with: subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration @@ -127,14 +127,14 @@ jobs: # https://github.com/docker/metadata-action - - name: Extract metadata (tags, labels) for rhel-integration + - name: Extract metadata (tags, labels) for `rhel-integration` uses: 'docker/metadata-action@v5' id: meta-rhel-integration with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration tags: ${{ GITHUB.ACTOR }}/rhel-integration:latest # https://github.com/marketplace/actions/build-and-push-docker-images - - name: Build and push Docker image + - name: Build and push Docker image for `rhel-integration` id: push-rhel-integration uses: 'docker/build-push-action@v6' with: @@ -149,7 +149,7 @@ jobs: ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 # https://github.com/actions/attest-build-provenance - - name: Generate artifact attestation + - name: Generate artifact attestation for `rhel-integration` uses: 'actions/attest-build-provenance@v2' with: subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration From b5445955e8271aac1431aaf927923569e5b27df2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 11:23:06 +0100 Subject: [PATCH 163/443] duplicate labels updated. --- .github/workflows/reusable-docker.yml | 37 +++++++++++++++------------ 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index daec9da60ae..ddd2115aedf 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -10,27 +10,34 @@ on: required: true type: string outputs: - build: - value: ${{ jobs.docker-run.outputs.build }} + builder: + value: ${{ jobs.docker-run.outputs.builder }} description: "Build output" - test: - value: ${{ jobs.docker-run.outputs.test }} + testing: + value: ${{ jobs.docker-run.outputs.testing }} + description: "Test output" + integration: + value: ${{ jobs.docker-run.outputs.integration }} + description: "Test output" + orchestration: + value: ${{ jobs.docker-run.outputs.orchestration }} description: "Test output" - jobs: docker-run: runs-on: ubuntu-latest outputs: - build: ${{ steps.copy-rpm-packages.outputs.result }} - test: ${{ steps.test-rpm-packages.outputs.result }} + builder: ${{ steps.build-rpm-packages.outputs.result }} + testing: ${{ steps.test-rpm-packages.outputs.result }} + integration: ${{ steps.test-integration.outputs.result }} + orchestration: ${{ steps.test-orchestration.outputs.result }} steps: # https://github.com/docker/login-action - name: Log in to the Container registry - id: container-registry uses: 'docker/login-action@v3' + id: container-registry with: registry: ghcr.io username: ${{ GITHUB.ACTOR }} @@ -39,7 +46,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ - name: Build RPM packages and copy these to RUNNER.TEMP - if: ${{ ! contains(INPUTS.DOCKER-IMAGE, 'test') }} + if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} id: build-rpm-packages # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | @@ -48,8 +55,7 @@ jobs: docker inspect -f {{.Mounts}} $CID ls ${{ RUNNER.TEMP }}:/root CID=`docker ps -aqf "name=^rpm-build$"` - echo "CID: ${CID}" - + echo "CID: ${CID}" docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} docker rm rpm-build @@ -57,18 +63,17 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) - if: ${{ ! contains(INPUTS.DOCKER-IMAGE, 'test') }} + if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} uses: 'actions/upload-artifact@v4' id: retain-rpm-packages with: + path: ${{ RUNNER.TEMP }}/*.tar.gz name: android-cuttlefish-rpm - path: | - ${{ RUNNER.TEMP }}/*.tar.gz retention-days: 14 # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run package tests - if: ${{ contains(INPUTS.DOCKER-IMAGE, 'test') }} + if: ${{ contains(INPUTS.DOCKER-IMAGE, 'testing') }} id: test-rpm-packages run: | docker run --name rpm-testing --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} @@ -88,5 +93,5 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration run: | - docker run --name rhel-integration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-orchestration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From d0a5c8dfb7cefb1c5bd4d15f8022035e9abacc4c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 11:29:30 +0100 Subject: [PATCH 164/443] duplicate labels updated. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index ddd2115aedf..69652b48dfa 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -51,7 +51,7 @@ jobs: # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | mkdir ${{ RUNNER.TEMP }}/root_volume - docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}:/root_volume ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} docker inspect -f {{.Mounts}} $CID ls ${{ RUNNER.TEMP }}:/root CID=`docker ps -aqf "name=^rpm-build$"` From fefff3b8593befe06a8ff2851dea4aed5a8cff88 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 11:35:41 +0100 Subject: [PATCH 165/443] duplicate labels updated. --- .github/workflows/reusable-docker.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 69652b48dfa..44940c2ac25 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -52,10 +52,11 @@ jobs: run: | mkdir ${{ RUNNER.TEMP }}/root_volume docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} - docker inspect -f {{.Mounts}} $CID - ls ${{ RUNNER.TEMP }}:/root CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" + docker inspect -f {{.Mounts}} $CID + ls ${{ RUNNER.TEMP }}:/root + docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} docker rm rpm-build From ac31cc34bdbfc997f090c75a54b05861695e67ef Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 12:27:56 +0100 Subject: [PATCH 166/443] typo. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 44940c2ac25..f79df582e61 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -55,7 +55,7 @@ jobs: CID=`docker ps -aqf "name=^rpm-build$"` echo "CID: ${CID}" docker inspect -f {{.Mounts}} $CID - ls ${{ RUNNER.TEMP }}:/root + ls ${{ RUNNER.TEMP }}/root_volume docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} From 6ad20ec4e8bc4228d5772ef09b05dfe834212b32 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 12:38:10 +0100 Subject: [PATCH 167/443] VOLUME changed. --- .github/workflows/reusable-docker.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index f79df582e61..b2da50c7735 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -51,15 +51,15 @@ jobs: # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | mkdir ${{ RUNNER.TEMP }}/root_volume - docker run --name rpm-build --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} - CID=`docker ps -aqf "name=^rpm-build$"` + docker run --name rpm-builder --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} + CID=`docker ps -aqf "name=^rpm-builder$"` echo "CID: ${CID}" docker inspect -f {{.Mounts}} $CID - ls ${{ RUNNER.TEMP }}/root_volume + ls -la ${{ RUNNER.TEMP }}/root_volume - docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} - docker rm rpm-build + # docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + # docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} + docker rm rpm-builder echo "result=ok" >> $GITHUB_OUTPUT # https://github.com/actions/upload-artifact From b763067d83de1307e132781a53fc9cd22131089a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 12:49:42 +0100 Subject: [PATCH 168/443] VOLUME changed. --- .github/workflows/reusable-docker.yml | 4 +-- docker/rpm-builder/Dockerfile | 47 ++++++++++++++------------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index b2da50c7735..87b6b874719 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -53,7 +53,7 @@ jobs: mkdir ${{ RUNNER.TEMP }}/root_volume docker run --name rpm-builder --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-builder$"` - echo "CID: ${CID}" + echo "CID: ${CID}" docker inspect -f {{.Mounts}} $CID ls -la ${{ RUNNER.TEMP }}/root_volume @@ -69,7 +69,7 @@ jobs: id: retain-rpm-packages with: path: ${{ RUNNER.TEMP }}/*.tar.gz - name: android-cuttlefish-rpm + name: android-cuttlefish-rhel retention-days: 14 # https://docs.docker.com/reference/cli/docker/container/run/ diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 6f5243ea2d2..c9a0d43c476 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -6,25 +6,21 @@ ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" -VOLUME [ "/root" ] -ENTRYPOINT [ "/bin/bash" ] # Base Image FROM rockylinux AS base # EPEL repository provides `ncurses-compat-libs` and installs `dnf-core-plugin`, which has `dnf builddeps`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade -RUN dnf clean all - -# Modify file `~/.bash_profile`, -RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile -RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile -RUN source ~/.bash_profile +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade && dnf clean all # RPM Builder FROM base AS builder ARG BAZEL_VERSION=7.6.0 +# Add entrypoint script. +ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh +ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] + # Install build dependencies. # RUN dnf -y swap curl-minimal curl-full # RUN dnf -y swap coreutils-single coreutils @@ -37,26 +33,35 @@ RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurse RUN dnf -y install protobuf protobuf-devel protobuf-compiler --enablerepo crb RUN dnf clean all -# Add entrypoint scripts. -ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh -ENTRYPOINT [ "/bin/bash", "-c", "/root/buildscript.sh" ] +# Modify file `~/.bash_profile`, +RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile +RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile +RUN source ~/.bash_profile # Install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc RUN go install github.com/bazelbuild/bazelisk@latest -# RPM Builder Testing -# Use `FROM base` to install with `dnf builddeps`. -FROM builder AS testing -ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh -ENTRYPOINT [ "/bin/bash", "-c", "/root/testscript.sh" ] +# RPM Testing +# Now using `FROM base` ... +FROM base AS testing + +# Add entrypoint script. +ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh +ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] + +# Runtime Dependencies +RUN dnf -y install wayland && dnf clean all # RHEL Integration FROM base AS integration ENTRYPOINT [ "/bin/bash" ] +# Runtime Dependencies +RUN dnf -y install qemu-kvm && dnf clean all + # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) @@ -66,14 +71,14 @@ EXPOSE 8443/tcp 15550-15560 # Expose ADB EXPOSE 6520-6620 -RUN dnf -y install qemu-kvm -RUN dnf clean all - # RHEL Orchestration FROM base AS orchestration ENTRYPOINT [ "/bin/bash" ] +# Runtime Dependencies +RUN dnf -y install nginx systemd-journal-remote && dnf clean all + # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) @@ -83,5 +88,3 @@ EXPOSE 8443/tcp 15550-15560 # Expose ADB EXPOSE 6520-6620 -RUN dnf -y install nginx systemd-journal-remote -RUN dnf clean all \ No newline at end of file From 585ff53f6de0a3f6162538a1be91ae64c21ac772 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 12:52:54 +0100 Subject: [PATCH 169/443] VOLUME changed. --- docker/rpm-builder/Dockerfile | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index c9a0d43c476..fc8d2b46109 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -21,24 +21,19 @@ ARG BAZEL_VERSION=7.6.0 ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] -# Install build dependencies. -# RUN dnf -y swap curl-minimal curl-full -# RUN dnf -y swap coreutils-single coreutils +# Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch - -# Provide build dependencies. -RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs +RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ # Package `protobuf` comes from CRB repository -RUN dnf -y install protobuf protobuf-devel protobuf-compiler --enablerepo crb -RUN dnf clean all +dnf -y install protobuf protobuf-devel protobuf-compiler --enablerepo crb && dnf clean all # Modify file `~/.bash_profile`, -RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile +RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile RUN source ~/.bash_profile -# Install `bazelisk`. +# Go install `bazelisk`. RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc RUN go install github.com/bazelbuild/bazelisk@latest @@ -87,4 +82,3 @@ EXPOSE 2080 2443 EXPOSE 8443/tcp 15550-15560 # Expose ADB EXPOSE 6520-6620 - From 6d6a229644afdbec2a170bc45067e56b24768d60 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 12:54:30 +0100 Subject: [PATCH 170/443] typo. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index fc8d2b46109..c7035753117 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -26,7 +26,7 @@ ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ # Package `protobuf` comes from CRB repository -dnf -y install protobuf protobuf-devel protobuf-compiler --enablerepo crb && dnf clean all +protobuf protobuf-devel protobuf-compiler --enablerepo crb && dnf clean all # Modify file `~/.bash_profile`, RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile From 0ff4e11c7d36251708bbaa2d8cccdce4547c8cf6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 12:56:53 +0100 Subject: [PATCH 171/443] libwayland-* added for testing --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index c7035753117..22b59f924c2 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -47,7 +47,7 @@ ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] # Runtime Dependencies -RUN dnf -y install wayland && dnf clean all +RUN dnf -y install libwayland-* && dnf clean all # RHEL Integration From 15587818050788c6a63a8b5659baf27d0e74a301 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:09:50 +0100 Subject: [PATCH 172/443] libwayland-* added for testing --- .github/workflows/reusable-docker.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 87b6b874719..92c70e5ecb6 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -45,13 +45,14 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ + # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. - name: Build RPM packages and copy these to RUNNER.TEMP if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} id: build-rpm-packages - # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. run: | mkdir ${{ RUNNER.TEMP }}/root_volume - docker run --name rpm-builder --quiet --attach STDOUT --attach STDERR --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-builder --quiet --tty --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} + CID=`docker ps -aqf "name=^rpm-builder$"` echo "CID: ${CID}" docker inspect -f {{.Mounts}} $CID @@ -77,7 +78,7 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'testing') }} id: test-rpm-packages run: | - docker run --name rpm-testing --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-testing --quiet --tty ${{ INPUTS.DOCKER-IMAGE }} docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT @@ -86,7 +87,7 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'integration') }} id: test-integration run: | - docker run --name rhel-integration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-integration --quiet --tty ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -94,5 +95,5 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration run: | - docker run --name rhel-orchestration --quiet --attach STDOUT --attach STDERR ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-orchestration --quiet --tty ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 4e62e72452d14cbc97af19b95bf1de7a356d5c33 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:11:49 +0100 Subject: [PATCH 173/443] libwayland-* added for testing --- .github/workflows/reusable-docker.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 92c70e5ecb6..bafbe5c0de1 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -51,15 +51,14 @@ jobs: id: build-rpm-packages run: | mkdir ${{ RUNNER.TEMP }}/root_volume - docker run --name rpm-builder --quiet --tty --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-builder --tty --quiet --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-builder$"` - echo "CID: ${CID}" docker inspect -f {{.Mounts}} $CID ls -la ${{ RUNNER.TEMP }}/root_volume - # docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - # docker cp $CID:/root/android-cuttlefish-src-rpm.tar.gz ${{ RUNNER.TEMP }} + docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + docker rm rpm-builder echo "result=ok" >> $GITHUB_OUTPUT @@ -78,7 +77,7 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'testing') }} id: test-rpm-packages run: | - docker run --name rpm-testing --quiet --tty ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-testing --tty --quiet ${{ INPUTS.DOCKER-IMAGE }} docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT @@ -87,7 +86,7 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'integration') }} id: test-integration run: | - docker run --name rhel-integration --quiet --tty ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-integration --tty --quiet ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -95,5 +94,5 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration run: | - docker run --name rhel-orchestration --quiet --tty ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-orchestration --tty --quiet ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From 6582044944bff4fa3a3b8092e3ffac8d34d34bf2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:24:27 +0100 Subject: [PATCH 174/443] --tty removed --- .github/workflows/reusable-docker.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index bafbe5c0de1..ac8b9398085 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -51,8 +51,8 @@ jobs: id: build-rpm-packages run: | mkdir ${{ RUNNER.TEMP }}/root_volume - docker run --name rpm-builder --tty --quiet --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} - + docker run --name rpm-builder --quiet --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} + docker attach --name rpm-builder CID=`docker ps -aqf "name=^rpm-builder$"` docker inspect -f {{.Mounts}} $CID ls -la ${{ RUNNER.TEMP }}/root_volume @@ -77,7 +77,7 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'testing') }} id: test-rpm-packages run: | - docker run --name rpm-testing --tty --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-testing --quiet ${{ INPUTS.DOCKER-IMAGE }} docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT @@ -86,7 +86,7 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'integration') }} id: test-integration run: | - docker run --name rhel-integration --tty --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-integration --quiet ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -94,5 +94,5 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration run: | - docker run --name rhel-orchestration --tty --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-orchestration --quiet ${{ INPUTS.DOCKER-IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file From d816bd73af374f4eff31c9aa28b9bda55eafa0af Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:29:03 +0100 Subject: [PATCH 175/443] typo. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index ac8b9398085..bb9def7bece 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -52,7 +52,7 @@ jobs: run: | mkdir ${{ RUNNER.TEMP }}/root_volume docker run --name rpm-builder --quiet --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} - docker attach --name rpm-builder + CID=`docker ps -aqf "name=^rpm-builder$"` docker inspect -f {{.Mounts}} $CID ls -la ${{ RUNNER.TEMP }}/root_volume From 11d6b86d99ce20e3a6b2b7a8a2b8be3dbce2c970 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:36:34 +0100 Subject: [PATCH 176/443] typo. --- .github/workflows/reusable-docker.yml | 6 +++--- docker/rpm-builder/buildscript.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index bb9def7bece..2cb9d1e1170 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -50,12 +50,12 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} id: build-rpm-packages run: | - mkdir ${{ RUNNER.TEMP }}/root_volume - docker run --name rpm-builder --quiet --volume ${{ RUNNER.TEMP }}/root_volume:/root ${{ INPUTS.DOCKER-IMAGE }} + mkdir ${{ RUNNER.TEMP }}/home_volume + docker run --name rpm-builder --quiet --volume ${{ RUNNER.TEMP }}/home_volume:/home ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-builder$"` docker inspect -f {{.Mounts}} $CID - ls -la ${{ RUNNER.TEMP }}/root_volume + ls -la ${{ RUNNER.TEMP }}/home_volume docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index edd1f563309..b3aa51a72e5 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -9,7 +9,7 @@ git switch rpm-build ./tools/buildutils/build_packages.sh cd tools/rpmbuild/RPMS || exit -tar zcvf /root/android-cuttlefish-rpm.tar.gz /* +tar zcvf /home/android-cuttlefish-rpm.tar.gz /* cd ../SRPMS || exit -tar zcvf /root/android-cuttlefish-src-rpm.tar.gz /* +tar zcvf /home/android-cuttlefish-src-rpm.tar.gz /* From 0c2e7b4e38f1183ccac551938f058052e141f98e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:40:42 +0100 Subject: [PATCH 177/443] typo. --- docker/rpm-builder/Dockerfile | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 22b59f924c2..b9978354224 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -24,18 +24,16 @@ ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] # Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y install git sudo rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ +RUN dnf -y install git sudo nano rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ # Package `protobuf` comes from CRB repository protobuf protobuf-devel protobuf-compiler --enablerepo crb && dnf clean all -# Modify file `~/.bash_profile`, -RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile -RUN echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile -RUN source ~/.bash_profile - -# Go install `bazelisk`. -RUN echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc -RUN go install github.com/bazelbuild/bazelisk@latest +# Modify file `~/.bash_profile` and go install `bazelisk`. +RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile \ +echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile \ +echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc \ +source ~/.bash_profile \ +go install github.com/bazelbuild/bazelisk@latest # RPM Testing From 08063826fa634e8cf7235b1db78c69ff4d1a9e82 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:42:25 +0100 Subject: [PATCH 178/443] typo. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 2cb9d1e1170..1d20a76a048 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -57,7 +57,7 @@ jobs: docker inspect -f {{.Mounts}} $CID ls -la ${{ RUNNER.TEMP }}/home_volume - docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + docker cp $CID:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} docker rm rpm-builder echo "result=ok" >> $GITHUB_OUTPUT From a76b3983adf1fef60724a5bf2f3808e2c462f19c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:46:42 +0100 Subject: [PATCH 179/443] create volume. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 1d20a76a048..9f497e58944 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -51,8 +51,8 @@ jobs: id: build-rpm-packages run: | mkdir ${{ RUNNER.TEMP }}/home_volume + docker volume create --opt type=none --opt o=bind --opt device=${{ RUNNER.TEMP }}/home_volume home_volume docker run --name rpm-builder --quiet --volume ${{ RUNNER.TEMP }}/home_volume:/home ${{ INPUTS.DOCKER-IMAGE }} - CID=`docker ps -aqf "name=^rpm-builder$"` docker inspect -f {{.Mounts}} $CID ls -la ${{ RUNNER.TEMP }}/home_volume From 77b63fa4f20ed69575aa14852a17e769e759d00a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:52:20 +0100 Subject: [PATCH 180/443] container script updated. --- .github/workflows/reusable-docker.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 9f497e58944..605b191d9c8 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -50,15 +50,21 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} id: build-rpm-packages run: | + # Mounting file-system to docker volume mkdir ${{ RUNNER.TEMP }}/home_volume docker volume create --opt type=none --opt o=bind --opt device=${{ RUNNER.TEMP }}/home_volume home_volume + + # Running the container with that volume docker run --name rpm-builder --quiet --volume ${{ RUNNER.TEMP }}/home_volume:/home ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-builder$"` + + # Debug Output + docker volume inspect --format '{{ .Mountpoint }}' home_volume docker inspect -f {{.Mounts}} $CID ls -la ${{ RUNNER.TEMP }}/home_volume - docker cp $CID:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - + + # Cleanup docker rm rpm-builder echo "result=ok" >> $GITHUB_OUTPUT From 40a228d45f4fd69c2a679e00194248d7e9337485 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 13:59:55 +0100 Subject: [PATCH 181/443] container script updated. --- .github/workflows/reusable-docker.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 605b191d9c8..f3f23a6e419 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -59,8 +59,10 @@ jobs: CID=`docker ps -aqf "name=^rpm-builder$"` # Debug Output - docker volume inspect --format '{{ .Mountpoint }}' home_volume docker inspect -f {{.Mounts}} $CID + MOUNTPOINT=`docker volume inspect --format '{{ .Mountpoint }}' home_volume` + ls -la $MOUNTPOINT + ls -la ${{ RUNNER.TEMP }}/home_volume docker cp $CID:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} From 0cc280dfacc76f7f005074005d67f9b8fe9c5009 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 14:03:12 +0100 Subject: [PATCH 182/443] container script updated. --- docker/rpm-builder/Dockerfile | 4 ++-- docker/rpm-builder/buildscript.sh | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index b9978354224..e4f23fa9bb9 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -19,7 +19,7 @@ ARG BAZEL_VERSION=7.6.0 # Add entrypoint script. ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] +ENTRYPOINT [ "/root/entrypoint.sh" ] # Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced @@ -42,7 +42,7 @@ FROM base AS testing # Add entrypoint script. ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "/root/entrypoint.sh" ] +ENTRYPOINT [ "/root/entrypoint.sh" ] # Runtime Dependencies RUN dnf -y install libwayland-* && dnf clean all diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index b3aa51a72e5..ac81627187e 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +touch -p cd /home/test.txt + cd /root || exit # git clone https://github.com/google/android-cuttlefish.git git clone https://github.com/syslogic/android-cuttlefish.git From 2b394d0e277f329f0b7a2ebf4141e9683919b0e4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 14:08:06 +0100 Subject: [PATCH 183/443] sudo. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index f3f23a6e419..7b30ce73c26 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,7 +61,7 @@ jobs: # Debug Output docker inspect -f {{.Mounts}} $CID MOUNTPOINT=`docker volume inspect --format '{{ .Mountpoint }}' home_volume` - ls -la $MOUNTPOINT + sudo ls -la $MOUNTPOINT ls -la ${{ RUNNER.TEMP }}/home_volume docker cp $CID:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} From ac45b875669c2946a28d31c5f91ff938a4140f4c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 14:17:47 +0100 Subject: [PATCH 184/443] container script updated. --- .github/workflows/reusable-docker.yml | 2 +- .github/workflows/rpm-builder.yml | 39 ++++++++++----------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 7b30ce73c26..f28752199bf 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -46,7 +46,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. - - name: Build RPM packages and copy these to RUNNER.TEMP + - name: Run docker and somehow extract the archive from the volume. if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} id: build-rpm-packages run: | diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 48688fb0614..404871112c4 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -17,6 +17,10 @@ jobs: steps: + # https://github.com/actions/checkout + - name: Get latest code + uses: actions/checkout@v4 + # https://github.com/docker/login-action - name: Log in to the Container registry id: container-registry @@ -26,33 +30,30 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} - # https://github.com/actions/checkout - - name: Get latest code - uses: actions/checkout@v4 - + # RPM Builder # https://github.com/docker/metadata-action + # https://github.com/marketplace/actions/build-and-push-docker-images + # https://github.com/actions/attest-build-provenance - name: Extract metadata (tags, labels) for `rpm-builder` id: meta-rpm-builder uses: 'docker/metadata-action@v5' with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder tags: ${{ GITHUB.ACTOR }}/rpm-builder:latest - # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image for `rpm-builder` uses: 'docker/build-push-action@v6' id: push-rpm-builder with: context: . + target: builder file: docker/rpm-builder/Dockerfile push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta-rpm-builder.outputs.tags }} labels: ${{ steps.meta-rpm-builder.outputs.labels }} platforms: linux/amd64 - target: builder build-args: | ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 - # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation for `rpm-builder` uses: 'actions/attest-build-provenance@v2' with: @@ -60,32 +61,27 @@ jobs: subject-digest: ${{ steps.push-rpm-builder.outputs.digest }} push-to-registry: true - - - # https://github.com/docker/metadata-action + # RPM Testing - name: Extract metadata (tags, labels) for `rpm-testing` uses: 'docker/metadata-action@v5' id: meta-rpm-testing with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing tags: ${{ GITHUB.ACTOR }}/rpm-testing:latest - # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image for `rpm-testing` id: push-rpm-testing uses: 'docker/build-push-action@v6' with: context: . + target: testing file: docker/rpm-builder/Dockerfile push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta-rpm-testing.outputs.tags }} labels: ${{ steps.meta-rpm-testing.outputs.labels }} platforms: linux/amd64 - target: testing build-args: | ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 - - # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation for `rpm-testing` uses: 'actions/attest-build-provenance@v2' with: @@ -93,31 +89,27 @@ jobs: subject-digest: ${{ steps.push-rpm-testing.outputs.digest }} push-to-registry: true - - - # https://github.com/docker/metadata-action + # RHEL Orchestration - name: Extract metadata (tags, labels) for `rhel-orchestration` uses: 'docker/metadata-action@v5' id: meta-rhel-orchestration with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration tags: ${{ GITHUB.ACTOR }}/rhel-orchestration:latest - # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image for `rhel-orchestration` id: push-rhel-orchestration uses: 'docker/build-push-action@v6' with: context: . + target: orchestration file: docker/rpm-builder/Dockerfile push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta-rhel-orchestration.outputs.tags }} labels: ${{ steps.meta-rhel-orchestration.outputs.labels }} platforms: linux/amd64 - target: orchestration build-args: | ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 - # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation for `rhel-orchestration` uses: 'actions/attest-build-provenance@v2' with: @@ -125,30 +117,27 @@ jobs: subject-digest: ${{ steps.push-rhel-orchestration.outputs.digest }} push-to-registry: true - - # https://github.com/docker/metadata-action + # RHEL Integration - name: Extract metadata (tags, labels) for `rhel-integration` uses: 'docker/metadata-action@v5' id: meta-rhel-integration with: images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration tags: ${{ GITHUB.ACTOR }}/rhel-integration:latest - # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image for `rhel-integration` id: push-rhel-integration uses: 'docker/build-push-action@v6' with: context: . + target: integration file: docker/rpm-builder/Dockerfile push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta-rhel-integration.outputs.tags }} labels: ${{ steps.meta-rhel-integration.outputs.labels }} platforms: linux/amd64 - target: integration build-args: | ROCKY_LINUX_VERSION=9.5 BAZEL_VERSION=7.6.0 - # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation for `rhel-integration` uses: 'actions/attest-build-provenance@v2' with: From 0db61e04a7ae05ead9122aba293c96fafa7b659e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 14:19:44 +0100 Subject: [PATCH 185/443] container script updated. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index f28752199bf..d27e2d762dd 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -55,7 +55,7 @@ jobs: docker volume create --opt type=none --opt o=bind --opt device=${{ RUNNER.TEMP }}/home_volume home_volume # Running the container with that volume - docker run --name rpm-builder --quiet --volume ${{ RUNNER.TEMP }}/home_volume:/home ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-builder --quiet --entrypoint /root/entrypoint.sh --volume ${{ RUNNER.TEMP }}/home_volume:/home ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-builder$"` # Debug Output From 80f596bd777c8b14ff3ac39dca3363ad5f25e552 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 14:28:06 +0100 Subject: [PATCH 186/443] container script updated. --- .github/workflows/reusable-docker.yml | 10 ++++++---- docker/rpm-builder/Dockerfile | 4 +--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index d27e2d762dd..1eb09d86848 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -52,10 +52,11 @@ jobs: run: | # Mounting file-system to docker volume mkdir ${{ RUNNER.TEMP }}/home_volume - docker volume create --opt type=none --opt o=bind --opt device=${{ RUNNER.TEMP }}/home_volume home_volume + # docker volume create --opt type=none --opt o=bind --opt device=${{ RUNNER.TEMP }}/home_volume home_volume + # --volume ${{ RUNNER.TEMP }}/home_volume:/home # Running the container with that volume - docker run --name rpm-builder --quiet --entrypoint /root/entrypoint.sh --volume ${{ RUNNER.TEMP }}/home_volume:/home ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-builder --quiet --entrypoint /root/entrypoint.sh ${{ INPUTS.DOCKER-IMAGE }} CID=`docker ps -aqf "name=^rpm-builder$"` # Debug Output @@ -64,8 +65,9 @@ jobs: sudo ls -la $MOUNTPOINT ls -la ${{ RUNNER.TEMP }}/home_volume - docker cp $CID:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - + # docker cp $CID:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + docker cp rpm-builder:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + # Cleanup docker rm rpm-builder echo "result=ok" >> $GITHUB_OUTPUT diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index e4f23fa9bb9..8557f13c1f1 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,11 +1,9 @@ # Dockerfile based on Rocky Linux # https://hub.docker.com/_/rockylinux -# docker build --target builder -t syslogic/rpm-builder:latest . -# docker build --target integration -t syslogic/rpm-integration:latest . -# docker build --target orchestration -t syslogic/rpm-orchestration:latest . ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" +VOLUME [ "/home/runner/work/_temp/home_volume:/home" ] # Base Image FROM rockylinux AS base From b80603fa383219747c4cc37b2501483d25b9cce2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 19:33:25 +0100 Subject: [PATCH 187/443] registry added. bogus warning: It is recommended that you run /usr/bin/crb enable to enable the CRB repository. extras repo disabled. job as comment added. matrix. image changed. matrix extended. ghcr.io 2D matrix added. typo. comment. ENTRYPOINT WORKDIR dos2unix job dependencies changed. passing --build-args is useless. --- .github/workflows/reusable-build.yaml | 4 + .github/workflows/reusable-docker.yml | 29 ++--- .github/workflows/rpm-builder.yml | 178 ++++++-------------------- docker/rpm-builder/Dockerfile | 42 +++--- docker/rpm-builder/buildscript.sh | 8 +- docker/rpm-builder/testscript.sh | 3 +- 6 files changed, 83 insertions(+), 181 deletions(-) diff --git a/.github/workflows/reusable-build.yaml b/.github/workflows/reusable-build.yaml index b9425d7cd16..5053bfca0ef 100644 --- a/.github/workflows/reusable-build.yaml +++ b/.github/workflows/reusable-build.yaml @@ -3,6 +3,7 @@ name: ReusableBuild on: [workflow_call] jobs: + build-arm64-cuttlefish-deb-job: runs-on: ubuntu-latest steps: @@ -23,3 +24,6 @@ jobs: with: name: cuttlefish_packages_arm64 path: tools/cuttlefish-host-image-installer/cuttlefish_packages.7z + +# build-arm64-cuttlefish-rpm-job: +# uses: ./.github/workflows/rpm-builder.yml diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 1eb09d86848..71696773408 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -34,6 +34,9 @@ jobs: steps: + - name: Check for dockerenv file + run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) + # https://github.com/docker/login-action - name: Log in to the Container registry uses: 'docker/login-action@v3' @@ -50,24 +53,18 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} id: build-rpm-packages run: | - # Mounting file-system to docker volume - mkdir ${{ RUNNER.TEMP }}/home_volume - # docker volume create --opt type=none --opt o=bind --opt device=${{ RUNNER.TEMP }}/home_volume home_volume - # --volume ${{ RUNNER.TEMP }}/home_volume:/home - - # Running the container with that volume - docker run --name rpm-builder --quiet --entrypoint /root/entrypoint.sh ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-builder --quiet ${{ INPUTS.DOCKER-IMAGE }} + VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') + DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data CID=`docker ps -aqf "name=^rpm-builder$"` + echo Listing container $CID with attached volume: /var/lib/docker/volumes/$VOLUME/_data + + # TODO: Finds nothing, because the entrypoint.sh does not seem to execute. + # docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + # docker cp rpm-builder:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} + sudo ls -la $DIRECTORY + cp $DIRECTORY/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - # Debug Output - docker inspect -f {{.Mounts}} $CID - MOUNTPOINT=`docker volume inspect --format '{{ .Mountpoint }}' home_volume` - sudo ls -la $MOUNTPOINT - - ls -la ${{ RUNNER.TEMP }}/home_volume - # docker cp $CID:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - docker cp rpm-builder:/home/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - # Cleanup docker rm rpm-builder echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 404871112c4..2a8b75e05b5 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -1,13 +1,16 @@ name: RPM Builder -on: [ push ] -env: - DOCKER_REGISTRY: ghcr.io +on: [ push ] jobs: build-docker-images: runs-on: ubuntu-latest + strategy: + max-parallel: 1 + matrix: + platform: [linux/amd64] + target: [ builder, testing, integration, orchestration ] permissions: contents: read @@ -18,167 +21,58 @@ jobs: steps: # https://github.com/actions/checkout - - name: Get latest code - uses: actions/checkout@v4 + - uses: 'actions/checkout@v4' + id: checkout # https://github.com/docker/login-action - - name: Log in to the Container registry + - uses: 'docker/login-action@v3' id: container-registry - uses: 'docker/login-action@v3' with: - registry: ${{ ENV.DOCKER_REGISTRY }} + registry: ghcr.io username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} - # RPM Builder # https://github.com/docker/metadata-action - # https://github.com/marketplace/actions/build-and-push-docker-images - # https://github.com/actions/attest-build-provenance - - name: Extract metadata (tags, labels) for `rpm-builder` - id: meta-rpm-builder + - name: Extract metadata (tags, labels) uses: 'docker/metadata-action@v5' + id: metadata with: - images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder - tags: ${{ GITHUB.ACTOR }}/rpm-builder:latest - - name: Build and push Docker image for `rpm-builder` - uses: 'docker/build-push-action@v6' - id: push-rpm-builder - with: - context: . - target: builder - file: docker/rpm-builder/Dockerfile - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta-rpm-builder.outputs.tags }} - labels: ${{ steps.meta-rpm-builder.outputs.labels }} - platforms: linux/amd64 - build-args: | - ROCKY_LINUX_VERSION=9.5 - BAZEL_VERSION=7.6.0 - - name: Generate artifact attestation for `rpm-builder` - uses: 'actions/attest-build-provenance@v2' - with: - subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder - subject-digest: ${{ steps.push-rpm-builder.outputs.digest }} - push-to-registry: true + # ghcr.io/syslogic/rpm-builder:syslogic-rpm-builder-latest + # > pushing syslogic/builder:syslogic-builder-latest with docker: + # ERROR: unauthorized: access token has insufficient scopes + images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest - # RPM Testing - - name: Extract metadata (tags, labels) for `rpm-testing` - uses: 'docker/metadata-action@v5' - id: meta-rpm-testing - with: - images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing - tags: ${{ GITHUB.ACTOR }}/rpm-testing:latest - - name: Build and push Docker image for `rpm-testing` - id: push-rpm-testing - uses: 'docker/build-push-action@v6' - with: - context: . - target: testing - file: docker/rpm-builder/Dockerfile - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta-rpm-testing.outputs.tags }} - labels: ${{ steps.meta-rpm-testing.outputs.labels }} - platforms: linux/amd64 - build-args: | - ROCKY_LINUX_VERSION=9.5 - BAZEL_VERSION=7.6.0 - - name: Generate artifact attestation for `rpm-testing` - uses: 'actions/attest-build-provenance@v2' - with: - subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing - subject-digest: ${{ steps.push-rpm-testing.outputs.digest }} - push-to-registry: true - - # RHEL Orchestration - - name: Extract metadata (tags, labels) for `rhel-orchestration` - uses: 'docker/metadata-action@v5' - id: meta-rhel-orchestration - with: - images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration - tags: ${{ GITHUB.ACTOR }}/rhel-orchestration:latest - - name: Build and push Docker image for `rhel-orchestration` - id: push-rhel-orchestration + # https://github.com/marketplace/actions/build-and-push-docker-images + - name: Build and push Docker image uses: 'docker/build-push-action@v6' + id: build with: context: . - target: orchestration + target: ${{ MATRIX.TARGET }} + platforms: ${{ MATRIX.PLATFORM }} file: docker/rpm-builder/Dockerfile - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta-rhel-orchestration.outputs.tags }} - labels: ${{ steps.meta-rhel-orchestration.outputs.labels }} - platforms: linux/amd64 - build-args: | - ROCKY_LINUX_VERSION=9.5 - BAZEL_VERSION=7.6.0 - - name: Generate artifact attestation for `rhel-orchestration` - uses: 'actions/attest-build-provenance@v2' - with: - subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration - subject-digest: ${{ steps.push-rhel-orchestration.outputs.digest }} - push-to-registry: true + push: ${{ GITHUB.EVENT_NAME != 'pull_request' }} + tags: ${{ steps.metadata.outputs.tags }} + labels: ${{ steps.metadata.outputs.labels }} - # RHEL Integration - - name: Extract metadata (tags, labels) for `rhel-integration` - uses: 'docker/metadata-action@v5' - id: meta-rhel-integration - with: - images: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration - tags: ${{ GITHUB.ACTOR }}/rhel-integration:latest - - name: Build and push Docker image for `rhel-integration` - id: push-rhel-integration - uses: 'docker/build-push-action@v6' - with: - context: . - target: integration - file: docker/rpm-builder/Dockerfile - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta-rhel-integration.outputs.tags }} - labels: ${{ steps.meta-rhel-integration.outputs.labels }} - platforms: linux/amd64 - build-args: | - ROCKY_LINUX_VERSION=9.5 - BAZEL_VERSION=7.6.0 - - name: Generate artifact attestation for `rhel-integration` + # https://github.com/actions/attest-build-provenance + - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration - subject-digest: ${{ steps.push-rhel-integration.outputs.digest }} + subject-name: ghcr.io/${{ steps.metadata.outputs.tags }} + # subject-path: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true - outputs: - rpm-builder: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-builder:latest" - rpm-testing: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rpm-testing:latest" - rhel-orchestration: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-orchestration:latest" - rhel-integration: "${{ ENV.DOCKER_REGISTRY }}/${{ GITHUB.ACTOR }}/rhel-integration:latest" - - build-rpm-specs: + run-docker-image: needs: build-docker-images - uses: ./.github/workflows/reusable-docker.yml secrets: token: ${{ SECRETS.GITHUB_TOKEN }} - with: - docker-image: ${{ needs.build-docker-images.outputs.rpm-builder }} - - test-rpm-packages: - needs: build-rpm-specs + strategy: + max-parallel: 1 + matrix: + target: [ builder, testing, integration, orchestration ] uses: ./.github/workflows/reusable-docker.yml - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} - with: - docker-image: ${{ needs.build-docker-images.outputs.rpm-testing }} - - test-integration: - needs: test-rpm-packages - uses: ./.github/workflows/reusable-docker.yml - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} - with: - docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} - - test-orchestration: - needs: test-rpm-packages - uses: ./.github/workflows/reusable-docker.yml - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} with: - docker-image: ${{ needs.build-docker-images.outputs.rhel-integration }} \ No newline at end of file + docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 8557f13c1f1..51f85a381bd 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -1,30 +1,38 @@ # Dockerfile based on Rocky Linux +# https://docs.docker.com/reference/dockerfile/ # https://hub.docker.com/_/rockylinux ARG ROCKY_LINUX_VERSION=9.5 FROM rockylinux/rockylinux:$ROCKY_LINUX_VERSION AS rockylinux LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/google/android-cuttlefish" maintainer="Martin Zeitler" -VOLUME [ "/home/runner/work/_temp/home_volume:/home" ] # Base Image FROM rockylinux AS base +# No entrypoint script. +WORKDIR "/root" +VOLUME "/root" +# USER 0[0] -# EPEL repository provides `ncurses-compat-libs` and installs `dnf-core-plugin`, which has `dnf builddeps`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade && dnf clean all +# The EPEL repository installs `dnf-core-plugin` (`config-manager` and `builddeps`) and provides `ncurses-compat-libs`. +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade + +# Configuring further package repositories: / https://wiki.rockylinux.org/rocky/repo/#extra-repositories +RUN dnf config-manager --set-enabled crb && dnf config-manager --set-disabled extras && dnf clean all # RPM Builder FROM base AS builder ARG BAZEL_VERSION=7.6.0 -# Add entrypoint script. -ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/root/entrypoint.sh" ] - # Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y install git sudo nano rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ +RUN dnf -y install git sudo nano dos2unix rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ # Package `protobuf` comes from CRB repository -protobuf protobuf-devel protobuf-compiler --enablerepo crb && dnf clean all +protobuf protobuf-devel protobuf-compiler && dnf clean all + +# Add entrypoint script. +COPY ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh +RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh +ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] # Modify file `~/.bash_profile` and go install `bazelisk`. RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile \ @@ -35,15 +43,15 @@ go install github.com/bazelbuild/bazelisk@latest # RPM Testing -# Now using `FROM base` ... FROM base AS testing -# Add entrypoint script. -ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/root/entrypoint.sh" ] - # Runtime Dependencies -RUN dnf -y install libwayland-* && dnf clean all +RUN dnf -y install nano dos2unix libwayland-* && dnf clean all + +# Add entrypoint script. +COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh +RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh +ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] # RHEL Integration @@ -51,7 +59,7 @@ FROM base AS integration ENTRYPOINT [ "/bin/bash" ] # Runtime Dependencies -RUN dnf -y install qemu-kvm && dnf clean all +RUN dnf -y install nano qemu-kvm && dnf clean all # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 @@ -68,7 +76,7 @@ FROM base AS orchestration ENTRYPOINT [ "/bin/bash" ] # Runtime Dependencies -RUN dnf -y install nginx systemd-journal-remote && dnf clean all +RUN dnf -y install nano nginx systemd-journal-remote && dnf clean all # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index ac81627187e..fe1d56750b9 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,8 +1,6 @@ #!/usr/bin/env bash -touch -p cd /home/test.txt - -cd /root || exit +# cd /root || exit # git clone https://github.com/google/android-cuttlefish.git git clone https://github.com/syslogic/android-cuttlefish.git cd android-cuttlefish || exit @@ -11,7 +9,7 @@ git switch rpm-build ./tools/buildutils/build_packages.sh cd tools/rpmbuild/RPMS || exit -tar zcvf /home/android-cuttlefish-rpm.tar.gz /* +tar zcvf /root/android-cuttlefish-rpm.tar.gz /* cd ../SRPMS || exit -tar zcvf /home/android-cuttlefish-src-rpm.tar.gz /* +tar zcvf /root/android-cuttlefish-src-rpm.tar.gz /* diff --git a/docker/rpm-builder/testscript.sh b/docker/rpm-builder/testscript.sh index 14fce7ceb00..4dcaa6e2337 100755 --- a/docker/rpm-builder/testscript.sh +++ b/docker/rpm-builder/testscript.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash -# TODO: somehow obtain the published artifacts. +# TODO: Somehow obtain the published artifacts, which are currently not even built. +# cd /root || exit sudo dnf -y install cuttlerfish-*.rpm From 5de0d382a36b5bcd5d0e32c6defde8ab548851e4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 19:46:13 +0100 Subject: [PATCH 188/443] registry added. --- .github/workflows/rpm-builder.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 2a8b75e05b5..4989f01124f 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -40,7 +40,7 @@ jobs: # ghcr.io/syslogic/rpm-builder:syslogic-rpm-builder-latest # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes - images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images @@ -60,8 +60,7 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ghcr.io/${{ steps.metadata.outputs.tags }} - # subject-path: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true From 20e708783c88599c90db919bbc2c1b53169b2b76 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 19:49:15 +0100 Subject: [PATCH 189/443] registry added. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 4989f01124f..da658d99731 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -10,7 +10,7 @@ jobs: max-parallel: 1 matrix: platform: [linux/amd64] - target: [ builder, testing, integration, orchestration ] + target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] permissions: contents: read From 56a7bca3c1f9515401f5729db70629cbd6000844 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 19:57:15 +0100 Subject: [PATCH 190/443] matrix. --- .github/workflows/rpm-builder.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index da658d99731..1e79c799734 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -9,8 +9,17 @@ jobs: strategy: max-parallel: 1 matrix: - platform: [linux/amd64] - target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] + platform: + - name: linux/amd64 + target: + - name: rpm-builder + stage: builder + - name: rpm-testing + stage: testing + - name: rhel-integration + stage: integration + - name: rhel-orchestration + stage: orchestration permissions: contents: read @@ -40,8 +49,8 @@ jobs: # ghcr.io/syslogic/rpm-builder:syslogic-rpm-builder-latest # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image @@ -49,7 +58,7 @@ jobs: id: build with: context: . - target: ${{ MATRIX.TARGET }} + target: ${{ MATRIX.TARGET.STAGE }} platforms: ${{ MATRIX.PLATFORM }} file: docker/rpm-builder/Dockerfile push: ${{ GITHUB.EVENT_NAME != 'pull_request' }} @@ -60,7 +69,7 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true @@ -74,4 +83,4 @@ jobs: target: [ builder, testing, integration, orchestration ] uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }}:latest From a7ac517f5598731d58076cd0cd29ab10d4a8a508 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:05:07 +0100 Subject: [PATCH 191/443] matrix. --- .github/workflows/rpm-builder.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 1e79c799734..123ad9ecdd2 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -80,7 +80,17 @@ jobs: strategy: max-parallel: 1 matrix: - target: [ builder, testing, integration, orchestration ] + platform: + - name: linux/amd64 + target: + - name: rpm-builder + stage: builder + - name: rpm-testing + stage: testing + - name: rhel-integration + stage: integration + - name: rhel-orchestration + stage: orchestration uses: ./.github/workflows/reusable-docker.yml with: docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }}:latest From f686c7e9f1b6977b91cabaf8fc3d7d51155ace35 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:11:21 +0100 Subject: [PATCH 192/443] matrix. --- .github/workflows/rpm-builder.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 123ad9ecdd2..410657e4f9b 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -11,14 +11,15 @@ jobs: matrix: platform: - name: linux/amd64 - target: - - name: rpm-builder + target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] + include: + - target: rpm-builder stage: builder - - name: rpm-testing + - target: rpm-testing stage: testing - - name: rhel-integration + - target: rhel-integration stage: integration - - name: rhel-orchestration + - target: rhel-orchestration stage: orchestration permissions: From efd797574489fcf901accd96fb2cd2b3df2725ab Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:18:37 +0100 Subject: [PATCH 193/443] matrix. --- .github/workflows/rpm-builder.yml | 49 ++++++++++++++++--------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 410657e4f9b..607e203ff1b 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -10,17 +10,17 @@ jobs: max-parallel: 1 matrix: platform: - - name: linux/amd64 + - name: 'linux/amd64' target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] include: - - target: rpm-builder - stage: builder - - target: rpm-testing - stage: testing - - target: rhel-integration - stage: integration - - target: rhel-orchestration - stage: orchestration + - target: 'rpm-builder' + stage: 'builder' + - target: 'rpm-testing' + stage: 'testing' + - target: 'rhel-integration' + stage: 'integration' + - target: 'rhel-orchestration' + stage: 'orchestration' permissions: contents: read @@ -50,8 +50,8 @@ jobs: # ghcr.io/syslogic/rpm-builder:syslogic-rpm-builder-latest # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }}:latest + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image @@ -59,7 +59,7 @@ jobs: id: build with: context: . - target: ${{ MATRIX.TARGET.STAGE }} + target: ${{ MATRIX.STAGE }} platforms: ${{ MATRIX.PLATFORM }} file: docker/rpm-builder/Dockerfile push: ${{ GITHUB.EVENT_NAME != 'pull_request' }} @@ -70,7 +70,7 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }} + subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true @@ -82,16 +82,17 @@ jobs: max-parallel: 1 matrix: platform: - - name: linux/amd64 - target: - - name: rpm-builder - stage: builder - - name: rpm-testing - stage: testing - - name: rhel-integration - stage: integration - - name: rhel-orchestration - stage: orchestration + - name: 'linux/amd64' + target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] + include: + - target: 'rpm-builder' + stage: 'builder' + - target: 'rpm-testing' + stage: 'testing' + - target: 'rhel-integration' + stage: 'integration' + - target: 'rhel-orchestration' + stage: 'orchestration' uses: ./.github/workflows/reusable-docker.yml with: - docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET.NAME }}:latest + docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest From a62b64f1505d11cc1985421ffb590d80434b06b3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:34:30 +0100 Subject: [PATCH 194/443] matrix. --- .github/workflows/rpm-builder.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 607e203ff1b..ec27fb70c93 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -59,12 +59,12 @@ jobs: id: build with: context: . - target: ${{ MATRIX.STAGE }} - platforms: ${{ MATRIX.PLATFORM }} file: docker/rpm-builder/Dockerfile push: ${{ GITHUB.EVENT_NAME != 'pull_request' }} tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} + platforms: ${{ MATRIX.PLATFORM }} + target: ${{ MATRIX.STAGE }} # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation From 849066f6420456327cb4d9d4d6a5429a6b3439bf Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:37:27 +0100 Subject: [PATCH 195/443] matrix. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index ec27fb70c93..13b01a5e204 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -60,7 +60,7 @@ jobs: with: context: . file: docker/rpm-builder/Dockerfile - push: ${{ GITHUB.EVENT_NAME != 'pull_request' }} + push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} platforms: ${{ MATRIX.PLATFORM }} From ab3cf1a5fdd8218d00d9c8e514417b5b54f0221e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:43:10 +0100 Subject: [PATCH 196/443] matrix. --- .github/workflows/rpm-builder.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 13b01a5e204..7f7654f22cb 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -9,8 +9,7 @@ jobs: strategy: max-parallel: 1 matrix: - platform: - - name: 'linux/amd64' + platform: [ 'linux/amd64' ] target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] include: - target: 'rpm-builder' @@ -81,8 +80,7 @@ jobs: strategy: max-parallel: 1 matrix: - platform: - - name: 'linux/amd64' + platform: [ 'linux/amd64' ] target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] include: - target: 'rpm-builder' From 8841ed4d18c34d2da29d76603e997a5f72de2a2e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:46:27 +0100 Subject: [PATCH 197/443] matrix. --- .github/workflows/rpm-builder.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 7f7654f22cb..cc7760853ad 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -29,6 +29,11 @@ jobs: steps: + - name: Run matrix for ${{ MATRIX.TARGET }}-${{ MATRIX.PLATFORM }} + run: | + echo "Target: ${{ MATRIX.TARGET }}" + echo "Platform: ${{ MATRIX.PLATFORM }}" + # https://github.com/actions/checkout - uses: 'actions/checkout@v4' id: checkout From 63a87744d8eb97b06a01fccf1e1524496eca8aef Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:51:35 +0100 Subject: [PATCH 198/443] ghcr.io --- .github/workflows/rpm-builder.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index cc7760853ad..aaa21df2eda 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -54,7 +54,8 @@ jobs: # ghcr.io/syslogic/rpm-builder:syslogic-rpm-builder-latest # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images From af809bad0d6661527339ce60aff78a6292f0c97d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:54:37 +0100 Subject: [PATCH 199/443] ghcr.io --- .github/workflows/rpm-builder.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index aaa21df2eda..b082464eee1 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -34,10 +34,6 @@ jobs: echo "Target: ${{ MATRIX.TARGET }}" echo "Platform: ${{ MATRIX.PLATFORM }}" - # https://github.com/actions/checkout - - uses: 'actions/checkout@v4' - id: checkout - # https://github.com/docker/login-action - uses: 'docker/login-action@v3' id: container-registry @@ -46,6 +42,11 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} + # https://github.com/actions/checkout + - uses: 'actions/checkout@v4' + - uses: 'docker/setup-qemu-action@v3' + - uses: 'docker/setup-buildx-action@v3' + # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) uses: 'docker/metadata-action@v5' From 45773fba60c8064d469ebe816b36906bf2326234 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 20:59:02 +0100 Subject: [PATCH 200/443] ghcr.io --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index b082464eee1..5f2b2859977 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -56,7 +56,7 @@ jobs: # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images From e547110328b0f1cec4a89aa8b7bc3e842bc69db2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:03:10 +0100 Subject: [PATCH 201/443] ghcr.io --- .github/workflows/rpm-builder.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 5f2b2859977..2a455be7ddc 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -28,15 +28,11 @@ jobs: id-token: write steps: - - name: Run matrix for ${{ MATRIX.TARGET }}-${{ MATRIX.PLATFORM }} - run: | - echo "Target: ${{ MATRIX.TARGET }}" - echo "Platform: ${{ MATRIX.PLATFORM }}" + run: echo "" > /dev/null # https://github.com/docker/login-action - uses: 'docker/login-action@v3' - id: container-registry with: registry: ghcr.io username: ${{ GITHUB.ACTOR }} @@ -66,7 +62,7 @@ jobs: with: context: . file: docker/rpm-builder/Dockerfile - push: ${{ github.event_name != 'pull_request' }} + # push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} platforms: ${{ MATRIX.PLATFORM }} From 780cd9fd99b3285647b6578068665c4b4a5d7fb2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:11:27 +0100 Subject: [PATCH 202/443] ghcr.io --- .github/workflows/rpm-builder.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 2a455be7ddc..20bb1931bc8 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -52,8 +52,11 @@ jobs: # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + tags: | + ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}-${{ MATRIX.PLATFORM }} + latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image @@ -62,11 +65,11 @@ jobs: with: context: . file: docker/rpm-builder/Dockerfile - # push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.metadata.outputs.tags }} - labels: ${{ steps.metadata.outputs.labels }} platforms: ${{ MATRIX.PLATFORM }} target: ${{ MATRIX.STAGE }} + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.metadata.outputs.labels }} + tags: ${{ steps.metadata.outputs.tags }} # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation From 09c3a638c50e30ef39aa2003156b4bfd4d477314 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:12:23 +0100 Subject: [PATCH 203/443] ghcr.io --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 20bb1931bc8..7f02850352c 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -66,7 +66,7 @@ jobs: context: . file: docker/rpm-builder/Dockerfile platforms: ${{ MATRIX.PLATFORM }} - target: ${{ MATRIX.STAGE }} + target: ${{ MATRIX.TARGET }} push: ${{ github.event_name != 'pull_request' }} labels: ${{ steps.metadata.outputs.labels }} tags: ${{ steps.metadata.outputs.tags }} From 90d1bf3f3f3fd01588d8ebcdf7494e49dd832997 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:14:04 +0100 Subject: [PATCH 204/443] ghcr.io --- .github/workflows/rpm-builder.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 7f02850352c..15526157c20 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -52,11 +52,8 @@ jobs: # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest - tags: | - ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}-${{ MATRIX.PLATFORM }} - latest + images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image From 20512d227b30174dc4c41d0e93519ff49c2c9597 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:16:28 +0100 Subject: [PATCH 205/443] ghcr.io --- .github/workflows/rpm-builder.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 15526157c20..e300630a31d 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -13,13 +13,13 @@ jobs: target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] include: - target: 'rpm-builder' - stage: 'builder' + target_stage: 'builder' - target: 'rpm-testing' - stage: 'testing' + target_stage: 'testing' - target: 'rhel-integration' - stage: 'integration' + target_stage: 'integration' - target: 'rhel-orchestration' - stage: 'orchestration' + target_stage: 'orchestration' permissions: contents: read @@ -63,7 +63,7 @@ jobs: context: . file: docker/rpm-builder/Dockerfile platforms: ${{ MATRIX.PLATFORM }} - target: ${{ MATRIX.TARGET }} + target: ${{ MATRIX.TARGET_STAGE }} push: ${{ github.event_name != 'pull_request' }} labels: ${{ steps.metadata.outputs.labels }} tags: ${{ steps.metadata.outputs.tags }} From f820cd291c06a1d205fa8a129d0bea5acd24e176 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:19:08 +0100 Subject: [PATCH 206/443] ghcr.io --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index e300630a31d..44da6508a50 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -53,7 +53,7 @@ jobs: # ERROR: unauthorized: access token has insufficient scopes # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image From 9ebbbba592f875e5db5c099f9b74e901eb5b9b9b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:22:25 +0100 Subject: [PATCH 207/443] ghcr.io --- .github/workflows/rpm-builder.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 44da6508a50..d9d9fc8ca15 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -54,6 +54,7 @@ jobs: # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + flavor: latest=auto # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image From 1f59153af68908080e8b25e384447f7bb397e8b4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:29:54 +0100 Subject: [PATCH 208/443] ghcr.io --- .github/workflows/rpm-builder.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index d9d9fc8ca15..24b4af33377 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -52,9 +52,8 @@ jobs: # > pushing syslogic/builder:syslogic-builder-latest with docker: # ERROR: unauthorized: access token has insufficient scopes # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - flavor: latest=auto + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image @@ -73,7 +72,7 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-name: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true From 69a60d502eb0586e0772befee0bc324347f0174c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:33:10 +0100 Subject: [PATCH 209/443] ghcr.io --- .github/workflows/rpm-builder.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 24b4af33377..56626a048ad 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -72,7 +72,8 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + # One of subject-path, subject-digest, or subject-checksums must be provided + subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true From b03aaafeabea72355818d0f8f1e2de7df1900cb2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:42:07 +0100 Subject: [PATCH 210/443] ghcr.io --- .github/workflows/rpm-builder.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 56626a048ad..31992cc69a3 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -84,17 +84,17 @@ jobs: strategy: max-parallel: 1 matrix: - platform: [ 'linux/amd64' ] - target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] + platform: [ linux/amd64 ] + target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] include: - - target: 'rpm-builder' - stage: 'builder' - - target: 'rpm-testing' - stage: 'testing' - - target: 'rhel-integration' - stage: 'integration' - - target: 'rhel-orchestration' - stage: 'orchestration' + - target: rpm-builder + stage: builder + - target: rpm-testing + stage: testing + - target: rhel-integration + stage: integration + - target: rhel-orchestration + stage: orchestration uses: ./.github/workflows/reusable-docker.yml with: docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest From 6b756f1d7138c9d6e2c9cfcf3fa1656b47f8abb3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:54:28 +0100 Subject: [PATCH 211/443] ghcr.io --- .github/workflows/rpm-builder.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 31992cc69a3..11a47cac025 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -48,12 +48,8 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - # ghcr.io/syslogic/rpm-builder:syslogic-rpm-builder-latest - # > pushing syslogic/builder:syslogic-builder-latest with docker: - # ERROR: unauthorized: access token has insufficient scopes - # images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image From 8cd3ad9ae7ec4cf401760f53f3e403a950a3fe5e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:55:41 +0100 Subject: [PATCH 212/443] One of subject-path, subject-digest, or subject-checksums must be provided ... --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 11a47cac025..64dbe9d045c 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -67,8 +67,8 @@ jobs: # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' + # One of subject-path, subject-digest, or subject-checksums must be provided with: - # One of subject-path, subject-digest, or subject-checksums must be provided subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true From e24f4b63d1fd74783cdddfb1e2afbb1ed17f1287 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 21:58:32 +0100 Subject: [PATCH 213/443] One of subject-path, subject-digest, or subject-checksums must be provided ... --- .github/workflows/reusable-docker.yml | 3 --- .github/workflows/rpm-builder.yml | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 71696773408..9d29a7725b3 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -34,9 +34,6 @@ jobs: steps: - - name: Check for dockerenv file - run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) - # https://github.com/docker/login-action - name: Log in to the Container registry uses: 'docker/login-action@v3' diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 64dbe9d045c..9b9f3c6a020 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -62,7 +62,7 @@ jobs: target: ${{ MATRIX.TARGET_STAGE }} push: ${{ github.event_name != 'pull_request' }} labels: ${{ steps.metadata.outputs.labels }} - tags: ${{ steps.metadata.outputs.tags }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation From 8a3045e79f6251c28e2b465cdba3c5614f9134ce Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 22:43:44 +0100 Subject: [PATCH 214/443] container script updated. --- docker/rpm-builder/Dockerfile | 93 ++++++++++++++++--------------- docker/rpm-builder/buildscript.sh | 14 ++--- 2 files changed, 52 insertions(+), 55 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 51f85a381bd..2447bcf6de6 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -13,7 +13,7 @@ VOLUME "/root" # USER 0[0] # The EPEL repository installs `dnf-core-plugin` (`config-manager` and `builddeps`) and provides `ncurses-compat-libs`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf -y upgrade +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo git nano dos2unix && dnf -y upgrade # Configuring further package repositories: / https://wiki.rockylinux.org/rocky/repo/#extra-repositories RUN dnf config-manager --set-enabled crb && dnf config-manager --set-disabled extras && dnf clean all @@ -25,7 +25,7 @@ ARG BAZEL_VERSION=7.6.0 # Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch -RUN dnf -y install git sudo nano dos2unix rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ +RUN dnf -y install rpm-build golang-bin curl-devel wayland-devel ncurses-compat-libs \ # Package `protobuf` comes from CRB repository protobuf protobuf-devel protobuf-compiler && dnf clean all @@ -42,47 +42,48 @@ source ~/.bash_profile \ go install github.com/bazelbuild/bazelisk@latest -# RPM Testing -FROM base AS testing - -# Runtime Dependencies -RUN dnf -y install nano dos2unix libwayland-* && dnf clean all - -# Add entrypoint script. -COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh -RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] - - -# RHEL Integration -FROM base AS integration -ENTRYPOINT [ "/bin/bash" ] - -# Runtime Dependencies -RUN dnf -y install nano qemu-kvm && dnf clean all - -# Expose Operator Port (HTTP:1080, HTTPS:1443) -EXPOSE 1080 1443 -# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) -EXPOSE 2080 2443 -# Expose WebRTC -EXPOSE 8443/tcp 15550-15560 -# Expose ADB -EXPOSE 6520-6620 - - -# RHEL Orchestration -FROM base AS orchestration -ENTRYPOINT [ "/bin/bash" ] - -# Runtime Dependencies -RUN dnf -y install nano nginx systemd-journal-remote && dnf clean all - -# Expose Operator Port (HTTP:1080, HTTPS:1443) -EXPOSE 1080 1443 -# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) -EXPOSE 2080 2443 -# Expose WebRTC -EXPOSE 8443/tcp 15550-15560 -# Expose ADB -EXPOSE 6520-6620 +# # RPM Testing +# FROM base AS testing +# +# # Runtime Dependencies +# RUN dnf -y install nano dos2unix libwayland-* && dnf clean all +# +# # Add entrypoint script. +# COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh +# RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh +# ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +# +# +# # RHEL Integration +# FROM base AS integration +# ENTRYPOINT [ "/bin/bash" ] +# +# # Runtime Dependencies +# RUN dnf -y install nano qemu-kvm && dnf clean all +# +# # Expose Operator Port (HTTP:1080, HTTPS:1443) +# EXPOSE 1080 1443 +# # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) +# EXPOSE 2080 2443 +# # Expose WebRTC +# EXPOSE 8443/tcp 15550-15560 +# # Expose ADB +# EXPOSE 6520-6620 +# +# +# # RHEL Orchestration +# FROM base AS orchestration +# ENTRYPOINT [ "/bin/bash" ] +# +# # Runtime Dependencies +# RUN dnf -y install nano nginx systemd-journal-remote && dnf clean all +# +# # Expose Operator Port (HTTP:1080, HTTPS:1443) +# EXPOSE 1080 1443 +# # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) +# EXPOSE 2080 2443 +# # Expose WebRTC +# EXPOSE 8443/tcp 15550-15560 +# # Expose ADB +# EXPOSE 6520-6620 +# \ No newline at end of file diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index fe1d56750b9..83fdf9b92ca 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,15 +1,11 @@ #!/usr/bin/env bash +REPO_OWNER=syslogic +REPO_NAME=android-cuttlefish -# cd /root || exit -# git clone https://github.com/google/android-cuttlefish.git -git clone https://github.com/syslogic/android-cuttlefish.git -cd android-cuttlefish || exit +git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git +cd $REPO_NAME || exit git switch rpm-build ./tools/buildutils/build_packages.sh -cd tools/rpmbuild/RPMS || exit -tar zcvf /root/android-cuttlefish-rpm.tar.gz /* - -cd ../SRPMS || exit -tar zcvf /root/android-cuttlefish-src-rpm.tar.gz /* +tar zcvf /root/android-cuttlefish-src-rpm.tar.gz /root/${REPO_NAME}/tools/rpmbuild/*/*.rpm From 2056506f7ed155a20ecf6df65a40e697d5ab543e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 22:47:22 +0100 Subject: [PATCH 215/443] container script updated. --- docker/rpm-builder/Dockerfile | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 2447bcf6de6..5fc33e578e8 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -7,10 +7,8 @@ LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/g # Base Image FROM rockylinux AS base -# No entrypoint script. WORKDIR "/root" VOLUME "/root" -# USER 0[0] # The EPEL repository installs `dnf-core-plugin` (`config-manager` and `builddeps`) and provides `ncurses-compat-libs`. RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo git nano dos2unix && dnf -y upgrade @@ -18,6 +16,12 @@ RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.n # Configuring further package repositories: / https://wiki.rockylinux.org/rocky/repo/#extra-repositories RUN dnf config-manager --set-enabled crb && dnf config-manager --set-disabled extras && dnf clean all +# Modify file `~/.bash_profile`. +RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile \ +echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile \ +echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc \ +source ~/.bash_profile + # RPM Builder FROM base AS builder ARG BAZEL_VERSION=7.6.0 @@ -34,13 +38,8 @@ COPY ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] -# Modify file `~/.bash_profile` and go install `bazelisk`. -RUN echo "export GOPATH=${HOME}/go" >> ~/.bash_profile \ -echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile \ -echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc \ -source ~/.bash_profile \ -go install github.com/bazelbuild/bazelisk@latest - +# Run go install `bazelisk`. +RUN go install github.com/bazelbuild/bazelisk@latest # # RPM Testing # FROM base AS testing From 7653476d31c9e6f106cf6bf6a4495e8b5e8218ff Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:08:46 +0100 Subject: [PATCH 216/443] it still seems to use thr wrong registry ... --- .github/workflows/rpm-builder.yml | 4 ++-- docker/rpm-builder/buildscript.sh | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 9b9f3c6a020..d5a43bebf95 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -34,13 +34,13 @@ jobs: # https://github.com/docker/login-action - uses: 'docker/login-action@v3' with: - registry: ghcr.io + registry: "ghcr.io" username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} # https://github.com/actions/checkout - uses: 'actions/checkout@v4' - - uses: 'docker/setup-qemu-action@v3' + - uses: 'docker/setup-buildx-action@v3' # https://github.com/docker/metadata-action diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 83fdf9b92ca..c88d2367bd0 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -4,8 +4,7 @@ REPO_NAME=android-cuttlefish git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -git switch rpm-build - +IF [ $$REPO_OWNER -eq syslogic ] ; THEN git switch rpm-build ; FI ./tools/buildutils/build_packages.sh - -tar zcvf /root/android-cuttlefish-src-rpm.tar.gz /root/${REPO_NAME}/tools/rpmbuild/*/*.rpm +tar zcvf ~/android-cuttlefish-src-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*/*.rpm +la -la ~ From d722d69c2ff48ed9cca454f1cb8adc233910f8fb Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:12:27 +0100 Subject: [PATCH 217/443] :latest --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index d5a43bebf95..644561a8e57 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -49,7 +49,7 @@ jobs: id: metadata with: images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image From e52618c763200cad4bbd78be12112660915cb58d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:18:49 +0100 Subject: [PATCH 218/443] :latest --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 644561a8e57..08d827891d1 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -36,7 +36,7 @@ jobs: with: registry: "ghcr.io" username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} + password: ${{ SECRETS.TOKEN }} # https://github.com/actions/checkout - uses: 'actions/checkout@v4' From bcb885c50aea4e0f1ae676f91dee646f6f9f3bc4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:22:04 +0100 Subject: [PATCH 219/443] :latest --- .github/workflows/rpm-builder.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 08d827891d1..a18c9090814 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -31,24 +31,23 @@ jobs: - name: Run matrix for ${{ MATRIX.TARGET }}-${{ MATRIX.PLATFORM }} run: echo "" > /dev/null + # https://github.com/actions/checkout + - uses: 'actions/checkout@v4' + # https://github.com/docker/login-action - uses: 'docker/login-action@v3' + id: container-registry with: - registry: "ghcr.io" + registry: ghcr.io username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.TOKEN }} - # https://github.com/actions/checkout - - uses: 'actions/checkout@v4' - - - uses: 'docker/setup-buildx-action@v3' - # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) uses: 'docker/metadata-action@v5' id: metadata with: - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images @@ -58,11 +57,11 @@ jobs: with: context: . file: docker/rpm-builder/Dockerfile + push: ${{ github.event_name != 'pull_request' }} platforms: ${{ MATRIX.PLATFORM }} target: ${{ MATRIX.TARGET_STAGE }} - push: ${{ github.event_name != 'pull_request' }} labels: ${{ steps.metadata.outputs.labels }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + tags: ${{ steps.metadata.outputs.tags }} # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation From 412e5511bbe70e0c6542b080c7b19aaf80babceb Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:29:41 +0100 Subject: [PATCH 220/443] ghcr.io --- .github/workflows/rpm-builder.yml | 35 ++++++++++++++----------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index a18c9090814..ea3b8760fbe 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -9,17 +9,17 @@ jobs: strategy: max-parallel: 1 matrix: - platform: [ 'linux/amd64' ] - target: [ 'rpm-builder', 'rpm-testing', 'rhel-integration', 'rhel-orchestration' ] + platform: [ linux/amd64 ] + target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] include: - - target: 'rpm-builder' - target_stage: 'builder' - - target: 'rpm-testing' - target_stage: 'testing' - - target: 'rhel-integration' - target_stage: 'integration' - - target: 'rhel-orchestration' - target_stage: 'orchestration' + - target: rpm-builder + stage: builder + - target: rpm-testing + stage: testing + - target: rhel-integration + stage: integration + - target: rhel-orchestration + stage: orchestration permissions: contents: read @@ -28,13 +28,8 @@ jobs: id-token: write steps: - - name: Run matrix for ${{ MATRIX.TARGET }}-${{ MATRIX.PLATFORM }} - run: echo "" > /dev/null - - # https://github.com/actions/checkout - uses: 'actions/checkout@v4' - - # https://github.com/docker/login-action + - uses: 'docker/setup-buildx-action@v3' - uses: 'docker/login-action@v3' id: container-registry with: @@ -47,10 +42,11 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + flavor: latest=true - # https://github.com/marketplace/actions/build-and-push-docker-images + # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image uses: 'docker/build-push-action@v6' id: build @@ -60,6 +56,7 @@ jobs: push: ${{ github.event_name != 'pull_request' }} platforms: ${{ MATRIX.PLATFORM }} target: ${{ MATRIX.TARGET_STAGE }} + builder: ${{ steps.buildx.outputs.name }} labels: ${{ steps.metadata.outputs.labels }} tags: ${{ steps.metadata.outputs.tags }} From f252bf743f809997d6ff5fcefb333ce3e8365e80 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:35:33 +0100 Subject: [PATCH 221/443] ghcr.io --- .github/workflows/rpm-builder.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index ea3b8760fbe..63710b71ccc 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -6,6 +6,13 @@ jobs: build-docker-images: runs-on: ubuntu-latest + env: + token: ${{ SECRETS.GITHUB_TOKEN }} + permissions: + contents: read + packages: write + attestations: write + id-token: write strategy: max-parallel: 1 matrix: @@ -21,12 +28,6 @@ jobs: - target: rhel-orchestration stage: orchestration - permissions: - contents: read - packages: write - attestations: write - id-token: write - steps: - uses: 'actions/checkout@v4' - uses: 'docker/setup-buildx-action@v3' @@ -35,7 +36,7 @@ jobs: with: registry: ghcr.io username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.TOKEN }} + password: ${{ ENV.TOKEN }} # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) From 496931dc71619bbcd67503777105f62049c367d7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:40:13 +0100 Subject: [PATCH 222/443] ghcr.io --- .github/workflows/rpm-builder.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 63710b71ccc..fbd3d174547 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -7,7 +7,7 @@ jobs: build-docker-images: runs-on: ubuntu-latest env: - token: ${{ SECRETS.GITHUB_TOKEN }} + registry: "ghcr.io" permissions: contents: read packages: write @@ -34,16 +34,16 @@ jobs: - uses: 'docker/login-action@v3' id: container-registry with: - registry: ghcr.io + registry: ${{ ENV.REGISTRY }} username: ${{ GITHUB.ACTOR }} - password: ${{ ENV.TOKEN }} + password: ${{ SECRETS.GITHUB_TOKEN }} # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) uses: 'docker/metadata-action@v5' id: metadata with: - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} flavor: latest=true @@ -66,7 +66,7 @@ jobs: uses: 'actions/attest-build-provenance@v2' # One of subject-path, subject-digest, or subject-checksums must be provided with: - subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-name: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true From eb2324b4a465a3d7acd2d20a91b10840136781a0 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:42:02 +0100 Subject: [PATCH 223/443] ghcr.io --- .github/workflows/rpm-builder.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index fbd3d174547..7a889bd5b4e 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -6,13 +6,12 @@ jobs: build-docker-images: runs-on: ubuntu-latest - env: - registry: "ghcr.io" permissions: contents: read packages: write attestations: write id-token: write + strategy: max-parallel: 1 matrix: @@ -34,7 +33,7 @@ jobs: - uses: 'docker/login-action@v3' id: container-registry with: - registry: ${{ ENV.REGISTRY }} + registry: ghcr.io username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} From c89423050ca0cbb5d05308115669c591f6c0c2db Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:43:54 +0100 Subject: [PATCH 224/443] ghcr.io --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 7a889bd5b4e..561e1479ba3 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -42,7 +42,7 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - images: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ghcr.io/${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} flavor: latest=true From ad9276ed5baa06396b8efeaadc1504fc58369bd7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:45:08 +0100 Subject: [PATCH 225/443] ghcr.io --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 561e1479ba3..223d7cddbcd 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -42,7 +42,7 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - images: ghcr.io/${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} flavor: latest=true From d2410a6fac441280cf468c456e58e66f5c2eb7ae Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Fri, 28 Mar 2025 23:49:32 +0100 Subject: [PATCH 226/443] subject-name. --- .github/workflows/rpm-builder.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 223d7cddbcd..d461acd5a7d 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -65,7 +65,8 @@ jobs: uses: 'actions/attest-build-provenance@v2' # One of subject-path, subject-digest, or subject-checksums must be provided with: - subject-name: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + # subject-name: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-name: ${{ steps.image_metadata.outputs.name }} subject-digest: ${{ steps.metadata.outputs.digest }} push-to-registry: true From 3fe535a2c48200a2578c31cd4328bf592d3a76ba Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:02:44 +0100 Subject: [PATCH 227/443] subject-name. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index d461acd5a7d..15888aa2929 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -42,7 +42,7 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} flavor: latest=true From 8f346486531dfa3780e55a1463ae918cf12ff81d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:24:07 +0100 Subject: [PATCH 228/443] subject-name. --- .github/workflows/rpm-builder.yml | 44 +++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 15888aa2929..b4f806a7ce9 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -4,6 +4,36 @@ on: [ push ] jobs: + metaddata: + runs-on: ubuntu-latest + outputs: + metadata: '' + steps: + - uses: 'actions/checkout@v4' + - uses: 'docker/setup-buildx-action@v3' + - uses: 'docker/login-action@v3' + id: container-registry + with: + registry: ghcr.io + username: ${{ GITHUB.ACTOR }} + password: ${{ SECRETS.GITHUB_TOKEN }} + + # https://github.com/docker/metadata-action + - name: Extract metadata (tags, labels) + uses: 'docker/metadata-action@v5' + id: metadata + with: + images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + flavor: latest=true + tags: | + ${{ GITHUB.ACTOR }}/rpm-builder + type=sha + + - name: Compute outputs + run: | + echo "metadata=${{ steps.metadata.outputs }}" >> $GITHUB_OUTPUT + + build-docker-images: runs-on: ubuntu-latest permissions: @@ -37,14 +67,18 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} + # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) uses: 'docker/metadata-action@v5' id: metadata with: images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} flavor: latest=true + tags: | + ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + type=sha + # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image @@ -61,13 +95,13 @@ jobs: tags: ${{ steps.metadata.outputs.tags }} # https://github.com/actions/attest-build-provenance + # One of subject-path, subject-digest, or subject-checksums must be provided + # subject-name: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' - # One of subject-path, subject-digest, or subject-checksums must be provided with: - # subject-name: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - subject-name: ${{ steps.image_metadata.outputs.name }} - subject-digest: ${{ steps.metadata.outputs.digest }} + subject-name: ${{ needs.metadata.outputs.name }} + subject-digest: ${{ needs.metadata.outputs.digest }} push-to-registry: true run-docker-image: From 369d8cfe2832eee2e84a937fce064586a191d1b5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:30:28 +0100 Subject: [PATCH 229/443] subject-name. --- .github/workflows/rpm-builder.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index b4f806a7ce9..196f169458c 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -4,10 +4,10 @@ on: [ push ] jobs: - metaddata: + prepare-metadata: runs-on: ubuntu-latest outputs: - metadata: '' + metadata_builder: '' steps: - uses: 'actions/checkout@v4' - uses: 'docker/setup-buildx-action@v3' @@ -23,7 +23,7 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ${{ GITHUB.ACTOR }}/rpm-builder flavor: latest=true tags: | ${{ GITHUB.ACTOR }}/rpm-builder @@ -31,10 +31,10 @@ jobs: - name: Compute outputs run: | - echo "metadata=${{ steps.metadata.outputs }}" >> $GITHUB_OUTPUT - + echo "metadata_builder=${{ steps.metadata.outputs }}" >> $GITHUB_OUTPUT build-docker-images: + needs: prepare-metadata runs-on: ubuntu-latest permissions: contents: read @@ -79,7 +79,6 @@ jobs: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} type=sha - # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image uses: 'docker/build-push-action@v6' @@ -100,8 +99,8 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ${{ needs.metadata.outputs.name }} - subject-digest: ${{ needs.metadata.outputs.digest }} + subject-name: ${{ needs.metadata_builder.outputs.name }} + subject-digest: ${{ needs.metadata_builder.outputs.digest }} push-to-registry: true run-docker-image: From 032385fc75e1749190f2d11dde2461b43b260d45 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:36:24 +0100 Subject: [PATCH 230/443] subject-name. --- .github/workflows/rpm-builder.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 196f169458c..5d3b37fe95d 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -73,10 +73,9 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - images: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - flavor: latest=true + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: | - ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest type=sha # https://github.com/marketplace/actions/build-and-push-docker-images @@ -99,8 +98,8 @@ jobs: - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: - subject-name: ${{ needs.metadata_builder.outputs.name }} - subject-digest: ${{ needs.metadata_builder.outputs.digest }} + subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-digest: ${{ steps.build.outputs.digest }} push-to-registry: true run-docker-image: From e9961a30ec3bd7ed8ab6e7f2fab0ea4f7321bdf9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:36:58 +0100 Subject: [PATCH 231/443] job removed again. --- .github/workflows/rpm-builder.yml | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 5d3b37fe95d..b2d48837fd5 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -4,37 +4,7 @@ on: [ push ] jobs: - prepare-metadata: - runs-on: ubuntu-latest - outputs: - metadata_builder: '' - steps: - - uses: 'actions/checkout@v4' - - uses: 'docker/setup-buildx-action@v3' - - uses: 'docker/login-action@v3' - id: container-registry - with: - registry: ghcr.io - username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} - - # https://github.com/docker/metadata-action - - name: Extract metadata (tags, labels) - uses: 'docker/metadata-action@v5' - id: metadata - with: - images: ${{ GITHUB.ACTOR }}/rpm-builder - flavor: latest=true - tags: | - ${{ GITHUB.ACTOR }}/rpm-builder - type=sha - - - name: Compute outputs - run: | - echo "metadata_builder=${{ steps.metadata.outputs }}" >> $GITHUB_OUTPUT - build-docker-images: - needs: prepare-metadata runs-on: ubuntu-latest permissions: contents: read From 85cdaaf78bb5ce57d08602a9aa417ba5542662ca Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:42:11 +0100 Subject: [PATCH 232/443] The digest comes from buildx, not the metadata. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index b2d48837fd5..014c874a7b4 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -62,9 +62,9 @@ jobs: labels: ${{ steps.metadata.outputs.labels }} tags: ${{ steps.metadata.outputs.tags }} + # Do not touch. The digest comes from buildx, not the metadata. # https://github.com/actions/attest-build-provenance # One of subject-path, subject-digest, or subject-checksums must be provided - # subject-name: ${{ ENV.REGISTRY }}/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' with: From f8ff7fba7358fb4a03f5a1ff7022904faaf6201c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:50:22 +0100 Subject: [PATCH 233/443] buildscript. --- docker/rpm-builder/buildscript.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index c88d2367bd0..49e9f550558 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,10 +1,14 @@ #!/usr/bin/env bash -REPO_OWNER=syslogic REPO_NAME=android-cuttlefish +REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -IF [ $$REPO_OWNER -eq syslogic ] ; THEN git switch rpm-build ; FI +if [[ ${REPO_OWNER} = syslogic ]] +then + git switch rpm-build +fi + ./tools/buildutils/build_packages.sh -tar zcvf ~/android-cuttlefish-src-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*/*.rpm +tar zcvf ~/android-cuttlefish-src-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm la -la ~ From e2bdc1af08764f4c301e5d7958067d8e5bcec98e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 00:51:34 +0100 Subject: [PATCH 234/443] typo. --- docker/rpm-builder/buildscript.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 49e9f550558..8c7d1ec9e36 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -11,4 +11,4 @@ fi ./tools/buildutils/build_packages.sh tar zcvf ~/android-cuttlefish-src-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm -la -la ~ +ls -la ~ From 48f3dc34339b47262acb30f4edf699907a3619a8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 13:07:38 +0100 Subject: [PATCH 235/443] unreachable code. --- tools/buildutils/build_packages.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index f5fa3ec79dc..76b4b93229b 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -46,5 +46,3 @@ else build_package "${REPO_DIR}/frontend" exit 0 fi -exit 1 - From d3a9ff1e77febcc3bed24ab05375f953d3d2ff19 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 13:21:28 +0100 Subject: [PATCH 236/443] the syntax error is just not there? --- .github/workflows/reusable-docker.yml | 2 +- docker/rpm-builder/buildscript.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 9d29a7725b3..a177f1bf8ad 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -99,4 +99,4 @@ jobs: id: test-orchestration run: | docker run --name rhel-orchestration --quiet ${{ INPUTS.DOCKER-IMAGE }} - echo "result=ok" >> $GITHUB_OUTPUT \ No newline at end of file + echo "result=ok" >> $GITHUB_OUTPUT diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 8c7d1ec9e36..d70c5db204c 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -10,5 +10,6 @@ then fi ./tools/buildutils/build_packages.sh -tar zcvf ~/android-cuttlefish-src-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm + +tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm ls -la ~ From be0b38a7a0723d16ee0dfc1fea4199b96693dc10 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 13:31:17 +0100 Subject: [PATCH 237/443] the syntax error is just not there? --- docker/rpm-builder/buildscript.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index d70c5db204c..5b64cdedfe0 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -4,11 +4,8 @@ REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -if [[ ${REPO_OWNER} = syslogic ]] -then - git switch rpm-build -fi +if [[ ${REPO_OWNER} = syslogic ]]; then git switch rpm-build; fi ./tools/buildutils/build_packages.sh tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm From e7fd611d881708cade6182015666405deb7251da Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 13:55:22 +0100 Subject: [PATCH 238/443] also checking for bazelisk. --- tools/buildutils/build_packages.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index 76b4b93229b..d36381e0210 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -39,10 +39,10 @@ if [[ -f /bin/dnf ]]; then build_spec cuttlefish_orchestration.spec exit 0 else - INSTALL_BAZEL="$(dirname $0)/installbazel.sh" - command -v bazel &> /dev/null || sudo "${INSTALL_BAZEL}" + INSTALL_BAZEL="$(dirname $0)/installbazel.sh" + if ! { command -v bazel || command -v bazelisk; } >/dev/null 2>&1; then sudo "${INSTALL_BAZEL}"; fi install_debuild_dependencies build_package "${REPO_DIR}/base" build_package "${REPO_DIR}/frontend" exit 0 -fi +fi \ No newline at end of file From 078bb4969f1bdf6d94e74a84a377732e946b4d0a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 15:20:21 +0100 Subject: [PATCH 239/443] also checking for bazelisk. --- .github/workflows/rpm-builder.yml | 3 +-- tools/buildutils/build_packages.sh | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 014c874a7b4..03f295cb9b6 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -37,7 +37,6 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} - # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) uses: 'docker/metadata-action@v5' @@ -55,7 +54,7 @@ jobs: with: context: . file: docker/rpm-builder/Dockerfile - push: ${{ github.event_name != 'pull_request' }} + push: ${{ GITHUB.EVENT_NAME != 'pull_request' }} platforms: ${{ MATRIX.PLATFORM }} target: ${{ MATRIX.TARGET_STAGE }} builder: ${{ steps.buildx.outputs.name }} diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index d36381e0210..4478100592b 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -32,7 +32,7 @@ function build_spec() { rpmbuild --define "_topdir `pwd`/tools/rpmbuild" -v -ba $specfile } -if [[ -f /bin/dnf ]]; then +if [[ -f /usr/bin/dnf ]]; then build_spec cuttlefish_base.spec build_spec cuttlefish_user.spec build_spec cuttlefish_integration.spec @@ -45,4 +45,4 @@ else build_package "${REPO_DIR}/base" build_package "${REPO_DIR}/frontend" exit 0 -fi \ No newline at end of file +fi From ad606dcb4149ef6e5f75fb7f851d80e81fdefc72 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 15:41:29 +0100 Subject: [PATCH 240/443] passing the build-target again. --- .github/workflows/rpm-builder.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 03f295cb9b6..3db23be197e 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -19,13 +19,13 @@ jobs: target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] include: - target: rpm-builder - stage: builder + target_stage: builder - target: rpm-testing - stage: testing + target_stage: testing - target: rhel-integration - stage: integration + target_stage: integration - target: rhel-orchestration - stage: orchestration + target_stage: orchestration steps: - uses: 'actions/checkout@v4' From 5aaf56bbddb6e9cfc9d531a79b1aa8bd1e92103e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 15:50:41 +0100 Subject: [PATCH 241/443] passing the build-target again. --- .github/workflows/rpm-builder.yml | 7 +-- docker/rpm-builder/Dockerfile | 89 +++++++++++++++---------------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 3db23be197e..615023e14a8 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -66,6 +66,7 @@ jobs: # One of subject-path, subject-digest, or subject-checksums must be provided - name: Generate artifact attestation uses: 'actions/attest-build-provenance@v2' + id: attestation with: subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.build.outputs.digest }} @@ -73,8 +74,11 @@ jobs: run-docker-image: needs: build-docker-images + uses: ./.github/workflows/reusable-docker.yml secrets: token: ${{ SECRETS.GITHUB_TOKEN }} + with: + docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest strategy: max-parallel: 1 matrix: @@ -89,6 +93,3 @@ jobs: stage: integration - target: rhel-orchestration stage: orchestration - uses: ./.github/workflows/reusable-docker.yml - with: - docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 5fc33e578e8..6d86620cc05 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -41,48 +41,47 @@ ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] # Run go install `bazelisk`. RUN go install github.com/bazelbuild/bazelisk@latest -# # RPM Testing -# FROM base AS testing -# -# # Runtime Dependencies -# RUN dnf -y install nano dos2unix libwayland-* && dnf clean all -# -# # Add entrypoint script. -# COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh -# RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -# ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] -# -# -# # RHEL Integration -# FROM base AS integration -# ENTRYPOINT [ "/bin/bash" ] -# -# # Runtime Dependencies -# RUN dnf -y install nano qemu-kvm && dnf clean all -# -# # Expose Operator Port (HTTP:1080, HTTPS:1443) -# EXPOSE 1080 1443 -# # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) -# EXPOSE 2080 2443 -# # Expose WebRTC -# EXPOSE 8443/tcp 15550-15560 -# # Expose ADB -# EXPOSE 6520-6620 -# -# -# # RHEL Orchestration -# FROM base AS orchestration -# ENTRYPOINT [ "/bin/bash" ] -# -# # Runtime Dependencies -# RUN dnf -y install nano nginx systemd-journal-remote && dnf clean all -# -# # Expose Operator Port (HTTP:1080, HTTPS:1443) -# EXPOSE 1080 1443 -# # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) -# EXPOSE 2080 2443 -# # Expose WebRTC -# EXPOSE 8443/tcp 15550-15560 -# # Expose ADB -# EXPOSE 6520-6620 -# \ No newline at end of file +# RPM Testing +FROM base AS testing + +# Runtime Dependencies +RUN dnf -y install nano dos2unix libwayland-* && dnf clean all + +# Add entrypoint script. +COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh +RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh +ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] + + +# RHEL Integration +FROM base AS integration +ENTRYPOINT [ "/bin/bash" ] + +# Runtime Dependencies +RUN dnf -y install nano qemu-kvm && dnf clean all + +# Expose Operator Port (HTTP:1080, HTTPS:1443) +EXPOSE 1080 1443 +# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) +EXPOSE 2080 2443 +# Expose WebRTC +EXPOSE 8443/tcp 15550-15560 +# Expose ADB +EXPOSE 6520-6620 + + +# RHEL Orchestration +FROM base AS orchestration +ENTRYPOINT [ "/bin/bash" ] + +# Runtime Dependencies +RUN dnf -y install nano nginx systemd-journal-remote && dnf clean all + +# Expose Operator Port (HTTP:1080, HTTPS:1443) +EXPOSE 1080 1443 +# Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) +EXPOSE 2080 2443 +# Expose WebRTC +EXPOSE 8443/tcp 15550-15560 +# Expose ADB +EXPOSE 6520-6620 From 8b243259371c7a111707a466b4ff8efedbb590ed Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 16:16:57 +0100 Subject: [PATCH 242/443] rudimentary ARM64 build support. --- .github/workflows/reusable-docker.yml | 6 ++++++ .github/workflows/rpm-builder.yml | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a177f1bf8ad..16e945aebf2 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -9,6 +9,10 @@ on: docker-image: required: true type: string + platform: + default: linux/amd64 + required: false + type: string outputs: builder: value: ${{ jobs.docker-run.outputs.builder }} @@ -49,6 +53,8 @@ jobs: - name: Run docker and somehow extract the archive from the volume. if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} id: build-rpm-packages + env: + RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | docker run --name rpm-builder --quiet ${{ INPUTS.DOCKER-IMAGE }} VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 615023e14a8..5955cad56bf 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -79,10 +79,12 @@ jobs: token: ${{ SECRETS.GITHUB_TOKEN }} with: docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + platform: ${{ MATRIX.PLATFORM }} strategy: max-parallel: 1 matrix: - platform: [ linux/amd64 ] + # The `platform` is being passed into the shell as variable $RPM_PLATFORM. + platform: [ linux/amd64, linux/arm64 ] target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] include: - target: rpm-builder @@ -93,3 +95,10 @@ jobs: stage: integration - target: rhel-orchestration stage: orchestration + exclude: + - platform: linux/arm64 + target: rpm-testing + - platform: linux/arm64 + target: rhel-integration + - platform: linux/arm64 + target: rpm-testing \ No newline at end of file From 6798117eaae52dca44bdc15826c579284f6832a6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 16:33:20 +0100 Subject: [PATCH 243/443] the syntax error is just not there? --- .github/workflows/reusable-docker.yml | 2 +- docker/rpm-builder/Dockerfile | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 16e945aebf2..0acb8f04247 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -92,7 +92,7 @@ jobs: echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ - - name: Run integration tests + - name: Run integration test if: ${{ contains(INPUTS.DOCKER-IMAGE, 'integration') }} id: test-integration run: | diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 6d86620cc05..651b3eae959 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -11,7 +11,7 @@ WORKDIR "/root" VOLUME "/root" # The EPEL repository installs `dnf-core-plugin` (`config-manager` and `builddeps`) and provides `ncurses-compat-libs`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo git nano dos2unix && dnf -y upgrade +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo git dos2unix nano && dnf -y upgrade # Configuring further package repositories: / https://wiki.rockylinux.org/rocky/repo/#extra-repositories RUN dnf config-manager --set-enabled crb && dnf config-manager --set-disabled extras && dnf clean all @@ -22,6 +22,7 @@ echo "export PATH=${PATH}:${HOME}/go/bin" >> ~/.bash_profile \ echo "USE_BAZEL_VERSION=${BAZEL_VERSION}" >> ~/.bazeliskrc \ source ~/.bash_profile + # RPM Builder FROM base AS builder ARG BAZEL_VERSION=7.6.0 @@ -45,7 +46,7 @@ RUN go install github.com/bazelbuild/bazelisk@latest FROM base AS testing # Runtime Dependencies -RUN dnf -y install nano dos2unix libwayland-* && dnf clean all +RUN dnf -y install libwayland-* && dnf clean all # Add entrypoint script. COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh @@ -53,12 +54,12 @@ RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] -# RHEL Integration +# Integration Test FROM base AS integration ENTRYPOINT [ "/bin/bash" ] # Runtime Dependencies -RUN dnf -y install nano qemu-kvm && dnf clean all +RUN dnf -y install qemu-kvm && dnf clean all # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 @@ -70,12 +71,12 @@ EXPOSE 8443/tcp 15550-15560 EXPOSE 6520-6620 -# RHEL Orchestration +# Orchestration Test FROM base AS orchestration ENTRYPOINT [ "/bin/bash" ] # Runtime Dependencies -RUN dnf -y install nano nginx systemd-journal-remote && dnf clean all +RUN dnf -y install nginx systemd-journal-remote && dnf clean all # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 From d5b4794b9db42aa66a2c05c270acae397c5443ff Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:17:41 +0100 Subject: [PATCH 244/443] more reusable tasks introduced. --- .github/workflows/reusable-attestation.yml | 51 ++++++++++++++++++++++ .github/workflows/reusable-docker.yml | 6 +-- .github/workflows/reusable-metadata.yml | 43 ++++++++++++++++++ .github/workflows/rpm-builder.yml | 29 ++++++------ 4 files changed, 110 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/reusable-attestation.yml create mode 100644 .github/workflows/reusable-metadata.yml diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml new file mode 100644 index 00000000000..c4c8d84c767 --- /dev/null +++ b/.github/workflows/reusable-attestation.yml @@ -0,0 +1,51 @@ +name: Reusable Container Attestation Job + +on: + workflow_call: + secrets: + token: + required: true + inputs: + registry: + default: 'ghcr.io' + required: false + type: string + username: + default: ${{ GITHUB.ACTOR }} + required: false + type: string + name: + required: true + type: string + checksums: + required: false + type: string + digest: + required: false + type: string + outputs: + metadata: + value: ${{ jobs.attestation.outputs }} + description: "Attestation output" + +jobs: + attestation: + runs-on: ubuntu-latest + outputs: + attestation: ${{ steps.attestation.outputs }} + steps: + + - uses: 'docker/login-action@v3' + id: container-registry + with: + registry: ${{ INPUTS.REGISTRY }} + username: ${{ INPUTS.USERNAME }} + password: ${{ SECRETS.TOKEN }} + + - uses: 'actions/attest-build-provenance@v2' + id: attestation + with: + subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.NAME }} + subject-checksums: ${{ INPUTS.CHECKSUMS }} + subject-digest: ${{ INPUTS.DIGEST }} + push-to-registry: true diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 0acb8f04247..a9cacd5c93b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -1,9 +1,9 @@ -name: Docker Container +name: Reusable Docker Container Run on: workflow_call: secrets: - token: + GITHUB_TOKEN: required: true inputs: docker-image: @@ -45,7 +45,7 @@ jobs: with: registry: ghcr.io username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.TOKEN }} + password: ${{ SECRETS.GITHUB_TOKEN }} # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml new file mode 100644 index 00000000000..43476bf032d --- /dev/null +++ b/.github/workflows/reusable-metadata.yml @@ -0,0 +1,43 @@ +name: Reusable Container Metadata Job + +on: + workflow_call: + secrets: + token: + required: true + inputs: + registry: + default: 'ghcr.io' + required: false + type: string + username: + default: ${{ GITHUB.ACTOR }} + required: false + type: string + image: + required: true + type: string + outputs: + metadata: + value: ${{ jobs.metadata.outputs }} + description: "Metadata output" + +jobs: + metadata: + runs-on: ubuntu-latest + outputs: + metadata: ${{ steps.metadata.outputs }} + steps: + - uses: 'docker/login-action@v3' + id: container-registry + with: + registry: ${{ INPUTS.REGISTRY }} + username: ${{ INPUTS.USERNAME }} + password: ${{ SECRETS.TOKEN }} + - uses: 'docker/metadata-action@v5' + id: metadata + with: + images: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }} + tags: | + /${{ INPUTS.IMAGE }}:latest + type=sha diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 5955cad56bf..d2a6cd6ad02 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -30,6 +30,14 @@ jobs: steps: - uses: 'actions/checkout@v4' - uses: 'docker/setup-buildx-action@v3' + + # https://github.com/docker/metadata-action + - uses: './.github/workflows/reusable-metadata.yml' + id: metadata + with: + image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + + # This is probably not required anymore. - uses: 'docker/login-action@v3' id: container-registry with: @@ -37,16 +45,6 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} - # https://github.com/docker/metadata-action - - name: Extract metadata (tags, labels) - uses: 'docker/metadata-action@v5' - id: metadata - with: - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - tags: | - ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest - type=sha - # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image uses: 'docker/build-push-action@v6' @@ -61,16 +59,15 @@ jobs: labels: ${{ steps.metadata.outputs.labels }} tags: ${{ steps.metadata.outputs.tags }} - # Do not touch. The digest comes from buildx, not the metadata. + # Note: The digest comes from `buildx`, not the metadata. # https://github.com/actions/attest-build-provenance - # One of subject-path, subject-digest, or subject-checksums must be provided - name: Generate artifact attestation - uses: 'actions/attest-build-provenance@v2' + uses: './.github/workflows/reusable-attestation.yml' id: attestation with: - subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - subject-digest: ${{ steps.build.outputs.digest }} - push-to-registry: true + name: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + checksums: ${{ steps.build.outputs.checksums }} + digest: ${{ steps.build.outputs.digest }} run-docker-image: needs: build-docker-images From 50351a2c99c8e962e5d93b899db77a4c997c7baa Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:19:45 +0100 Subject: [PATCH 245/443] the syntax error is just not there? --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index d2a6cd6ad02..de81323c354 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -98,4 +98,4 @@ jobs: - platform: linux/arm64 target: rhel-integration - platform: linux/arm64 - target: rpm-testing \ No newline at end of file + target: rpm-testing From 6f2550a54bb2d8fbd0fa1d24b8359abff53e67f7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:24:07 +0100 Subject: [PATCH 246/443] rudimentary ARM64 build support. --- .github/workflows/reusable-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a9cacd5c93b..137ebc68905 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -3,7 +3,7 @@ name: Reusable Docker Container Run on: workflow_call: secrets: - GITHUB_TOKEN: + token: required: true inputs: docker-image: @@ -45,7 +45,7 @@ jobs: with: registry: ghcr.io username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} + password: ${{ SECRETS.TOKEN }} # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ @@ -56,7 +56,7 @@ jobs: env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | - docker run --name rpm-builder --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet $RPM_PLATFORM VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data CID=`docker ps -aqf "name=^rpm-builder$"` From f678b6a69c384290453a81848a3fa431a990b64b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:26:46 +0100 Subject: [PATCH 247/443] docker run. --- .github/workflows/reusable-docker.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 137ebc68905..f17e575b347 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -57,18 +57,20 @@ jobs: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet $RPM_PLATFORM - VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') + MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') + VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data CID=`docker ps -aqf "name=^rpm-builder$"` - echo Listing container $CID with attached volume: /var/lib/docker/volumes/$VOLUME/_data - + + echo Listing container $CID with attached volume: $DIRECTORY + echo Mountpoint value: $MOUNT_POINT + # TODO: Finds nothing, because the entrypoint.sh does not seem to execute. # docker cp $CID:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} # docker cp rpm-builder:/root/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} sudo ls -la $DIRECTORY cp $DIRECTORY/android-cuttlefish-rpm.tar.gz ${{ RUNNER.TEMP }} - # Cleanup docker rm rpm-builder echo "result=ok" >> $GITHUB_OUTPUT From 98533bfd40190f71434f3e33825aec05f78215ee Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:28:24 +0100 Subject: [PATCH 248/443] docker run. --- .github/workflows/rpm-builder.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index de81323c354..94203077d08 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -31,12 +31,6 @@ jobs: - uses: 'actions/checkout@v4' - uses: 'docker/setup-buildx-action@v3' - # https://github.com/docker/metadata-action - - uses: './.github/workflows/reusable-metadata.yml' - id: metadata - with: - image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - # This is probably not required anymore. - uses: 'docker/login-action@v3' id: container-registry @@ -45,6 +39,12 @@ jobs: username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} + # https://github.com/docker/metadata-action + - uses: './.github/workflows/reusable-metadata.yml' + id: metadata + with: + image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image uses: 'docker/build-push-action@v6' From e2a80a871dd4c8cb3083649e30aa800ebe879c69 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:29:51 +0100 Subject: [PATCH 249/443] docker run. --- .github/workflows/reusable-metadata.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 43476bf032d..ae60e5eee1c 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -28,12 +28,6 @@ jobs: outputs: metadata: ${{ steps.metadata.outputs }} steps: - - uses: 'docker/login-action@v3' - id: container-registry - with: - registry: ${{ INPUTS.REGISTRY }} - username: ${{ INPUTS.USERNAME }} - password: ${{ SECRETS.TOKEN }} - uses: 'docker/metadata-action@v5' id: metadata with: From ad21c09a7f85b2f51403b3248089abf691c5487c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:49:05 +0100 Subject: [PATCH 250/443] docker run. --- .github/workflows/reusable-attestation.yml | 16 ++++++++----- .github/workflows/reusable-docker.yml | 26 +++++++++++----------- .github/workflows/reusable-metadata.yml | 20 +++++++++++++---- .github/workflows/rpm-builder.yml | 24 ++++++-------------- 4 files changed, 46 insertions(+), 40 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index c4c8d84c767..37009193334 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -2,9 +2,8 @@ name: Reusable Container Attestation Job on: workflow_call: - secrets: - token: - required: true + secrets: inherit + inputs: registry: default: 'ghcr.io' @@ -14,7 +13,11 @@ on: default: ${{ GITHUB.ACTOR }} required: false type: string - name: + password: + default: ${{ GITHUB.GITHUB_TOKEN }} + required: false + type: string + image: required: true type: string checksums: @@ -23,6 +26,7 @@ on: digest: required: false type: string + outputs: metadata: value: ${{ jobs.attestation.outputs }} @@ -40,12 +44,12 @@ jobs: with: registry: ${{ INPUTS.REGISTRY }} username: ${{ INPUTS.USERNAME }} - password: ${{ SECRETS.TOKEN }} + password: ${{ INPUTS.PASSWORD }} - uses: 'actions/attest-build-provenance@v2' id: attestation with: - subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.NAME }} + subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }} subject-checksums: ${{ INPUTS.CHECKSUMS }} subject-digest: ${{ INPUTS.DIGEST }} push-to-registry: true diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index f17e575b347..80f06738f43 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -2,17 +2,17 @@ name: Reusable Docker Container Run on: workflow_call: - secrets: - token: - required: true + secrets: inherit + inputs: - docker-image: + image: required: true type: string platform: default: linux/amd64 required: false type: string + outputs: builder: value: ${{ jobs.docker-run.outputs.builder }} @@ -45,13 +45,13 @@ jobs: with: registry: ghcr.io username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.TOKEN }} + password: ${{ SECRETS.GITHUB_TOKEN }} # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. - name: Run docker and somehow extract the archive from the volume. - if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} + if: ${{ contains(INPUTS.IMAGE, 'builder') }} id: build-rpm-packages env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} @@ -76,29 +76,29 @@ jobs: # https://github.com/actions/upload-artifact - name: Retain Artifacts (*.rpm) - if: ${{ contains(INPUTS.DOCKER-IMAGE, 'builder') }} uses: 'actions/upload-artifact@v4' id: retain-rpm-packages + if: ${{ contains(INPUTS.IMAGE, 'builder') }} with: path: ${{ RUNNER.TEMP }}/*.tar.gz - name: android-cuttlefish-rhel + name: android-cuttlefish-rhel-${{ INPUTS.PLATFORM }} retention-days: 14 # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run package tests - if: ${{ contains(INPUTS.DOCKER-IMAGE, 'testing') }} + if: ${{ contains(INPUTS.IMAGE, 'testing') }} id: test-rpm-packages run: | - docker run --name rpm-testing --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rpm-testing --quiet ${{ INPUTS.IMAGE }} docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ - name: Run integration test - if: ${{ contains(INPUTS.DOCKER-IMAGE, 'integration') }} + if: ${{ contains(INPUTS.IMAGE, 'integration') }} id: test-integration run: | - docker run --name rhel-integration --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-integration --quiet ${{ INPUTS.IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -106,5 +106,5 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration run: | - docker run --name rhel-orchestration --quiet ${{ INPUTS.DOCKER-IMAGE }} + docker run --name rhel-orchestration --quiet ${{ INPUTS.IMAGE }} echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index ae60e5eee1c..8a8c4ff97f8 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -2,9 +2,8 @@ name: Reusable Container Metadata Job on: workflow_call: - secrets: - token: - required: true + secrets: inherit + inputs: registry: default: 'ghcr.io' @@ -14,9 +13,14 @@ on: default: ${{ GITHUB.ACTOR }} required: false type: string + password: + default: ${{ GITHUB.GITHUB_TOKEN }} + required: false + type: string image: required: true type: string + outputs: metadata: value: ${{ jobs.metadata.outputs }} @@ -28,10 +32,18 @@ jobs: outputs: metadata: ${{ steps.metadata.outputs }} steps: + + - uses: 'docker/login-action@v3' + id: container-registry + with: + registry: ${{ INPUTS.REGISTRY }} + username: ${{ INPUTS.USERNAME }} + password: ${{ INPUTS.PASSWORD }} + - uses: 'docker/metadata-action@v5' id: metadata with: images: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }} tags: | - /${{ INPUTS.IMAGE }}:latest + ${{ INPUTS.IMAGE }}:latest type=sha diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 94203077d08..07deb20f873 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -30,22 +30,12 @@ jobs: steps: - uses: 'actions/checkout@v4' - uses: 'docker/setup-buildx-action@v3' - - # This is probably not required anymore. - - uses: 'docker/login-action@v3' - id: container-registry - with: - registry: ghcr.io - username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} - - # https://github.com/docker/metadata-action - uses: './.github/workflows/reusable-metadata.yml' id: metadata with: image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} - # https://github.com/marketplace/actions/build-and-push-docker-images + # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image uses: 'docker/build-push-action@v6' id: build @@ -65,20 +55,20 @@ jobs: uses: './.github/workflows/reusable-attestation.yml' id: attestation with: - name: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} checksums: ${{ steps.build.outputs.checksums }} digest: ${{ steps.build.outputs.digest }} run-docker-image: - needs: build-docker-images uses: ./.github/workflows/reusable-docker.yml - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} + needs: build-docker-images with: - docker-image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest platform: ${{ MATRIX.PLATFORM }} + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} strategy: - max-parallel: 1 + max-parallel: 5 matrix: # The `platform` is being passed into the shell as variable $RPM_PLATFORM. platform: [ linux/amd64, linux/arm64 ] From 0bba57ccb3c1f6596a0f394a0ebb72e9d0c5d83a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 17:50:42 +0100 Subject: [PATCH 251/443] secrets: inherit does not exist anymore. --- .github/workflows/reusable-attestation.yml | 1 - .github/workflows/reusable-docker.yml | 2 -- .github/workflows/reusable-metadata.yml | 2 -- 3 files changed, 5 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index 37009193334..5e861c24afe 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -2,7 +2,6 @@ name: Reusable Container Attestation Job on: workflow_call: - secrets: inherit inputs: registry: diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 80f06738f43..88df9028050 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -2,8 +2,6 @@ name: Reusable Docker Container Run on: workflow_call: - secrets: inherit - inputs: image: required: true diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 8a8c4ff97f8..fd3ec772b33 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -2,8 +2,6 @@ name: Reusable Container Metadata Job on: workflow_call: - secrets: inherit - inputs: registry: default: 'ghcr.io' From 00c40c587627454ec496935582db8d4cdb55cb2e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:05:28 +0100 Subject: [PATCH 252/443] secrets: inherit does not exist anymore. --- .github/workflows/reusable-attestation.yml | 6 ++++-- .github/workflows/reusable-docker.yml | 18 +++++++++++++++--- .github/workflows/reusable-metadata.yml | 21 ++++++++++++--------- .github/workflows/rpm-builder.yml | 8 +++++++- 4 files changed, 38 insertions(+), 15 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index 5e861c24afe..191e5569731 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -2,7 +2,9 @@ name: Reusable Container Attestation Job on: workflow_call: - + secrets: + token: + required: true inputs: registry: default: 'ghcr.io' @@ -43,7 +45,7 @@ jobs: with: registry: ${{ INPUTS.REGISTRY }} username: ${{ INPUTS.USERNAME }} - password: ${{ INPUTS.PASSWORD }} + password: ${{ SECRETS.TOKEN }} - uses: 'actions/attest-build-provenance@v2' id: attestation diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 88df9028050..c737f52bde5 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -2,10 +2,22 @@ name: Reusable Docker Container Run on: workflow_call: + secrets: + token: + required: true inputs: + registry: + default: 'ghcr.io' + required: false + type: string + username: + default: ${{ GITHUB.ACTOR }} + required: false + type: string image: required: true type: string + platform: default: linux/amd64 required: false @@ -41,9 +53,9 @@ jobs: uses: 'docker/login-action@v3' id: container-registry with: - registry: ghcr.io - username: ${{ GITHUB.ACTOR }} - password: ${{ SECRETS.GITHUB_TOKEN }} + registry: ${{ INPUTS.REGISTRY }} + username: ${{ INPUTS.USERNAME }} + password: ${{ SECRETS.TOKEN }} # https://docs.docker.com/reference/cli/docker/container/run/ # https://docs.docker.com/reference/cli/docker/container/cp/ diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index fd3ec772b33..91e5316fdbf 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -2,6 +2,9 @@ name: Reusable Container Metadata Job on: workflow_call: + secrets: + token: + required: true inputs: registry: default: 'ghcr.io' @@ -11,13 +14,6 @@ on: default: ${{ GITHUB.ACTOR }} required: false type: string - password: - default: ${{ GITHUB.GITHUB_TOKEN }} - required: false - type: string - image: - required: true - type: string outputs: metadata: @@ -25,10 +21,17 @@ on: description: "Metadata output" jobs: + metadata: runs-on: ubuntu-latest outputs: - metadata: ${{ steps.metadata.outputs }} + metadata: ${{ step.metadata.outputs }} + strategy: + max-parallel: 4 + matrix: + platform: [ linux/amd64 ] + target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] + steps: - uses: 'docker/login-action@v3' @@ -36,7 +39,7 @@ jobs: with: registry: ${{ INPUTS.REGISTRY }} username: ${{ INPUTS.USERNAME }} - password: ${{ INPUTS.PASSWORD }} + password: ${{ SECRETS.TOKEN }} - uses: 'docker/metadata-action@v5' id: metadata diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 07deb20f873..c8c80ee2b83 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -30,6 +30,7 @@ jobs: steps: - uses: 'actions/checkout@v4' - uses: 'docker/setup-buildx-action@v3' + - uses: './.github/workflows/reusable-metadata.yml' id: metadata with: @@ -59,6 +60,11 @@ jobs: checksums: ${{ steps.build.outputs.checksums }} digest: ${{ steps.build.outputs.digest }} + build-metadata: + uses: ./.github/workflows/reusable-metadata.yml + secrets: + token: ${{ SECRETS.TOKEN }} + run-docker-image: uses: ./.github/workflows/reusable-docker.yml needs: build-docker-images @@ -66,7 +72,7 @@ jobs: image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest platform: ${{ MATRIX.PLATFORM }} secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} + token: ${{ SECRETS.TOKEN }} strategy: max-parallel: 5 matrix: From a780046caad1d1f99195df99d5c2cea65eec8656 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:06:34 +0100 Subject: [PATCH 253/443] typo. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 91e5316fdbf..ff4f6e0f524 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -25,7 +25,7 @@ jobs: metadata: runs-on: ubuntu-latest outputs: - metadata: ${{ step.metadata.outputs }} + metadata: ${{ steps.metadata.outputs }} strategy: max-parallel: 4 matrix: From 7de287de5605fe1d362ec518dcf9148b490e6452 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:09:03 +0100 Subject: [PATCH 254/443] typo. --- .github/workflows/reusable-metadata.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index ff4f6e0f524..45e27fa6761 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -24,8 +24,6 @@ jobs: metadata: runs-on: ubuntu-latest - outputs: - metadata: ${{ steps.metadata.outputs }} strategy: max-parallel: 4 matrix: From 8852d573ed04d2b5667799513bf5d368cee1d932 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:12:51 +0100 Subject: [PATCH 255/443] typo. --- .github/workflows/rpm-builder.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index c8c80ee2b83..0781e7e8dfd 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -31,10 +31,13 @@ jobs: - uses: 'actions/checkout@v4' - uses: 'docker/setup-buildx-action@v3' - - uses: './.github/workflows/reusable-metadata.yml' + # https://github.com/docker/metadata-action + - name: Extract metadata (tags, labels) + uses: 'docker/metadata-action@v5' id: metadata with: - image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image From ecc46f76f7f51b814e6d3b146f9387f22891249a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:13:49 +0100 Subject: [PATCH 256/443] typo. --- .github/workflows/rpm-builder.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 0781e7e8dfd..b16082024db 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -36,8 +36,8 @@ jobs: uses: 'docker/metadata-action@v5' id: metadata with: - images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest - tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image From 47b5717ee23d7ae3d1361aad6f9eaffb087dbce8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:15:33 +0100 Subject: [PATCH 257/443] typo. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index b16082024db..1054568631a 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -66,7 +66,7 @@ jobs: build-metadata: uses: ./.github/workflows/reusable-metadata.yml secrets: - token: ${{ SECRETS.TOKEN }} + token: ${{ SECRETS.GITHUB_TOKEN }} run-docker-image: uses: ./.github/workflows/reusable-docker.yml From d5a87c34bb4e2171bce61abded24f8ce183936ae Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:23:35 +0100 Subject: [PATCH 258/443] typo. --- .github/workflows/reusable-docker.yml | 1 + .github/workflows/rpm-builder.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c737f52bde5..46d08dfb062 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -66,6 +66,7 @@ jobs: env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | + docker buildx ls docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet $RPM_PLATFORM MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 1054568631a..28a468188a1 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -75,7 +75,7 @@ jobs: image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest platform: ${{ MATRIX.PLATFORM }} secrets: - token: ${{ SECRETS.TOKEN }} + token: ${{ SECRETS.GITHUB_TOKEN }} strategy: max-parallel: 5 matrix: From 7a7f82d22afce41526f83b12d7a483d40c18eb57 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:30:30 +0100 Subject: [PATCH 259/443] typo. --- .github/workflows/rpm-builder.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 28a468188a1..0f512ceb458 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -4,7 +4,12 @@ on: [ push ] jobs: - build-docker-images: + image-metadata: + uses: ./.github/workflows/reusable-metadata.yml + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} + + build-images: runs-on: ubuntu-latest permissions: contents: read @@ -63,16 +68,11 @@ jobs: checksums: ${{ steps.build.outputs.checksums }} digest: ${{ steps.build.outputs.digest }} - build-metadata: - uses: ./.github/workflows/reusable-metadata.yml - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} - - run-docker-image: + run-images: uses: ./.github/workflows/reusable-docker.yml - needs: build-docker-images + needs: build-images with: - image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} platform: ${{ MATRIX.PLATFORM }} secrets: token: ${{ SECRETS.GITHUB_TOKEN }} From 92acafc5cb7ad426f1f813ac7e79fed82e288b8b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 18:58:39 +0100 Subject: [PATCH 260/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 28 ++++++++++++++++++++++--- .github/workflows/rpm-builder.yml | 1 + 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 45e27fa6761..4d7ad03ba5f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -17,13 +17,16 @@ on: outputs: metadata: - value: ${{ jobs.metadata.outputs }} + value: ${{ jobs.metadata-combined.outputs }} description: "Metadata output" jobs: metadata: runs-on: ubuntu-latest + # continue-on-error: true + outputs: + metadata: string strategy: max-parallel: 4 matrix: @@ -32,7 +35,14 @@ jobs: steps: + - uses: actions/cache@v4 + id: cache + with: + path: path/to/dependencies + key: ${{ runner.os }}-${{ hashFiles('**/metadata.json') }} + - uses: 'docker/login-action@v3' + # if: steps.cache.outputs.cache-hit != 'true' id: container-registry with: registry: ${{ INPUTS.REGISTRY }} @@ -40,9 +50,21 @@ jobs: password: ${{ SECRETS.TOKEN }} - uses: 'docker/metadata-action@v5' + # if: steps.cache.outputs.cache-hit != 'true' id: metadata with: - images: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }} + images: ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }} tags: | - ${{ INPUTS.IMAGE }}:latest + ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }}/:latest type=sha + + metadata-combined: + needs: metadata + runs-on: ubuntu-latest + outputs: + metadata: ${{ steps.append-variable.outputs.metadata }} + steps: + - id: append-variable + run: | + metadata="$(cat */metadata | jq -c --slurp .)" + echo metadata=$metadata >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 0f512ceb458..325e189c847 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -38,6 +38,7 @@ jobs: # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) + if: ${{ !contains(fromJSON(needs.image-metadata.outputs.metadata), null) }} uses: 'docker/metadata-action@v5' id: metadata with: From cda203a10970c6b5aab12967bf971a53d0926748 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:06:47 +0100 Subject: [PATCH 261/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 4d7ad03ba5f..5d35b75023c 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -57,14 +57,16 @@ jobs: tags: | ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }}/:latest type=sha - - metadata-combined: - needs: metadata - runs-on: ubuntu-latest - outputs: - metadata: ${{ steps.append-variable.outputs.metadata }} - steps: - - id: append-variable - run: | - metadata="$(cat */metadata | jq -c --slurp .)" - echo metadata=$metadata >> $GITHUB_OUTPUT \ No newline at end of file + + - id: output + run: | + metadata_${{ MATRIX.TARGET }}=${{ steps.metadata.outputs.metadata }} + echo metadata=$metadata >> $GITHUB_OUTPUT + + metadata-combine: + needs: metadata + runs-on: ubuntu-latest + outputs: + metadata: ${{ steps.output.outputs }} + steps: + - run: echo ${{ steps.output.outputs }} From 82bad83327b959f6dd3dfacc5e845c55ddc8c99a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:07:48 +0100 Subject: [PATCH 262/443] matrix output added. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 325e189c847..4a2b7c451e0 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -38,7 +38,7 @@ jobs: # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) - if: ${{ !contains(fromJSON(needs.image-metadata.outputs.metadata), null) }} + # if: ${{ !contains(fromJSON(needs.image-metadata.outputs.metadata), null) }} uses: 'docker/metadata-action@v5' id: metadata with: From 427b0843c65e93d17f52984b3a0f54fd2dcf19df Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:13:37 +0100 Subject: [PATCH 263/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 5d35b75023c..a7f69082d7e 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -60,7 +60,8 @@ jobs: - id: output run: | - metadata_${{ MATRIX.TARGET }}=${{ steps.metadata.outputs.metadata }} + target = ${{ MATRIX.TARGET }} + metadata_${-/_/${{ MATRIX.TARGET }}}=${{ steps.metadata.outputs.metadata }} echo metadata=$metadata >> $GITHUB_OUTPUT metadata-combine: From 6fd9e81c48a8af228ade8384fe6cc45c54c235a3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:15:47 +0100 Subject: [PATCH 264/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index a7f69082d7e..70f221e3382 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,15 +58,16 @@ jobs: ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }}/:latest type=sha - - id: output + - id: metadata-output + env: + target: ${{ MATRIX.TARGET }} run: | - target = ${{ MATRIX.TARGET }} - metadata_${-/_/${{ MATRIX.TARGET }}}=${{ steps.metadata.outputs.metadata }} + metadata_${-/_/$TARGET}=${{ steps.metadata.outputs.metadata }} echo metadata=$metadata >> $GITHUB_OUTPUT metadata-combine: + runs-on: ubuntu-latest needs: metadata - runs-on: ubuntu-latest outputs: metadata: ${{ steps.output.outputs }} steps: From 98bd6dfcdfb1528ec617ca92febb6b1b2f1df70c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:17:11 +0100 Subject: [PATCH 265/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 70f221e3382..8a9d2568303 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -62,7 +62,7 @@ jobs: env: target: ${{ MATRIX.TARGET }} run: | - metadata_${-/_/$TARGET}=${{ steps.metadata.outputs.metadata }} + metadata=metadata_${-/_/$TARGET}=${{ steps.metadata.outputs.metadata }} echo metadata=$metadata >> $GITHUB_OUTPUT metadata-combine: From ab668c55699567f0eeeecfd7a8848855c3c93437 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:19:37 +0100 Subject: [PATCH 266/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 8a9d2568303..0811d2c5ecd 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -60,10 +60,8 @@ jobs: - id: metadata-output env: - target: ${{ MATRIX.TARGET }} run: | - metadata=metadata_${-/_/$TARGET}=${{ steps.metadata.outputs.metadata }} - echo metadata=$metadata >> $GITHUB_OUTPUT + echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}=${{ steps.metadata.outputs.metadata }} >> $GITHUB_OUTPUT metadata-combine: runs-on: ubuntu-latest From ceabb21a780c5148e1e169c492cf038ac435907c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:20:20 +0100 Subject: [PATCH 267/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 0811d2c5ecd..f8ff7791bb7 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -59,7 +59,6 @@ jobs: type=sha - id: metadata-output - env: run: | echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}=${{ steps.metadata.outputs.metadata }} >> $GITHUB_OUTPUT From 5996b5218e4899c667385fe87964b41121194fcb Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:21:35 +0100 Subject: [PATCH 268/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index f8ff7791bb7..00cef9e23aa 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,11 +58,11 @@ jobs: ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }}/:latest type=sha - - id: metadata-output + - id: metadata-step-output run: | echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}=${{ steps.metadata.outputs.metadata }} >> $GITHUB_OUTPUT - metadata-combine: + metadata-job-output: runs-on: ubuntu-latest needs: metadata outputs: From f1947f2841f2e2a0066fd60eaf56d833b982aa06 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:24:00 +0100 Subject: [PATCH 269/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 00cef9e23aa..6d8fa9d24f4 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -60,7 +60,7 @@ jobs: - id: metadata-step-output run: | - echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}=${{ steps.metadata.outputs.metadata }} >> $GITHUB_OUTPUT + echo metadata=metadata_${_/-/${{ MATRIX.TARGET }}}=${{ toJSON(steps.metadata.outputs.metadata) }} >> $GITHUB_OUTPUT metadata-job-output: runs-on: ubuntu-latest From c1a20d47453531ce0e70efac2443483ca2fdc6bc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:26:29 +0100 Subject: [PATCH 270/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6d8fa9d24f4..c5ef70236e1 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -60,12 +60,12 @@ jobs: - id: metadata-step-output run: | - echo metadata=metadata_${_/-/${{ MATRIX.TARGET }}}=${{ toJSON(steps.metadata.outputs.metadata) }} >> $GITHUB_OUTPUT + echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}=${{ toJSON(steps.metadata.outputs) }} >> $GITHUB_OUTPUT metadata-job-output: runs-on: ubuntu-latest needs: metadata outputs: - metadata: ${{ steps.output.outputs }} + metadata: ${{ metadata.output.outputs }} steps: - - run: echo ${{ steps.output.outputs }} + - run: $GITHUB_OUTPUT From ead024d201117c9c75ea12e9a00420a4a93c98db Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:28:49 +0100 Subject: [PATCH 271/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c5ef70236e1..255d29c6c9c 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -66,6 +66,7 @@ jobs: runs-on: ubuntu-latest needs: metadata outputs: - metadata: ${{ metadata.output.outputs }} + metadata: ${{ steps.metadata.outputs }} steps: - - run: $GITHUB_OUTPUT + - id: metadata + run: echo $GITHUB_OUTPUT From f2e2be638c51ea3c5bcd57a0808d9f6ff352d050 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:30:00 +0100 Subject: [PATCH 272/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 255d29c6c9c..55bb04071d5 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -60,7 +60,7 @@ jobs: - id: metadata-step-output run: | - echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}=${{ toJSON(steps.metadata.outputs) }} >> $GITHUB_OUTPUT + echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}='${{ toJSON(steps.metadata.outputs) }}' >> $GITHUB_OUTPUT metadata-job-output: runs-on: ubuntu-latest From a2ed235f1d3be96766797c4758540715c7689e1a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:31:17 +0100 Subject: [PATCH 273/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 55bb04071d5..7087efc4f6f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -59,8 +59,10 @@ jobs: type=sha - id: metadata-step-output + env: + JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | - echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}='${{ toJSON(steps.metadata.outputs) }}' >> $GITHUB_OUTPUT + echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}='$JSON_OUTPUT' >> $GITHUB_OUTPUT metadata-job-output: runs-on: ubuntu-latest From dda38965e81652beff741713cd57b1191dbcba8e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:33:16 +0100 Subject: [PATCH 274/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 7087efc4f6f..c5a95dff566 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -17,7 +17,7 @@ on: outputs: metadata: - value: ${{ jobs.metadata-combined.outputs }} + value: ${{ jobs.metadata-output.outputs }} description: "Metadata output" jobs: @@ -64,11 +64,9 @@ jobs: run: | echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}='$JSON_OUTPUT' >> $GITHUB_OUTPUT - metadata-job-output: + metadata-output: runs-on: ubuntu-latest needs: metadata - outputs: - metadata: ${{ steps.metadata.outputs }} steps: - id: metadata run: echo $GITHUB_OUTPUT From f82062945bfa221136f16a8ccc35ecfc3632ab4e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:36:33 +0100 Subject: [PATCH 275/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c5a95dff566..ff4420d6f91 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -30,7 +30,6 @@ jobs: strategy: max-parallel: 4 matrix: - platform: [ linux/amd64 ] target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] steps: @@ -62,11 +61,15 @@ jobs: env: JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | - echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}='$JSON_OUTPUT' >> $GITHUB_OUTPUT + echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}='$JSON_OUTPUT'\n >> $GITHUB_OUTPUT metadata-output: runs-on: ubuntu-latest needs: metadata + strategy: + max-parallel: 4 + matrix: + target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] steps: - id: metadata - run: echo $GITHUB_OUTPUT + run: echo $GITHUB_OUTPUT['metadata_${-/_/${{ MATRIX.TARGET }}'] From c1478fbb7b51375850f056cb1c8c0a98f36f2399 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:41:05 +0100 Subject: [PATCH 276/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index ff4420d6f91..bba7d1d0a3d 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -61,7 +61,8 @@ jobs: env: JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | - echo metadata=metadata_${-/_/${{ MATRIX.TARGET }}}='$JSON_OUTPUT'\n >> $GITHUB_OUTPUT + TARGET=${-/_/${{ MATRIX.TARGET }}} + echo "metadata=metadata_$TARGET='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT metadata-output: runs-on: ubuntu-latest From 21d635b5875262ed04e606d10429c2454218c545 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:42:33 +0100 Subject: [PATCH 277/443] dependency added. --- .github/workflows/rpm-builder.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 4a2b7c451e0..40247924295 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -11,6 +11,7 @@ jobs: build-images: runs-on: ubuntu-latest + needs: image-metadata permissions: contents: read packages: write From 7841a55a9be0659f49ce479e82d9764fde973712 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:46:51 +0100 Subject: [PATCH 278/443] dependency added. --- .github/workflows/reusable-attestation.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index 191e5569731..a94e79a16bc 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -14,10 +14,7 @@ on: default: ${{ GITHUB.ACTOR }} required: false type: string - password: - default: ${{ GITHUB.GITHUB_TOKEN }} - required: false - type: string + image: required: true type: string @@ -50,7 +47,7 @@ jobs: - uses: 'actions/attest-build-provenance@v2' id: attestation with: - subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }} + subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:latest subject-checksums: ${{ INPUTS.CHECKSUMS }} subject-digest: ${{ INPUTS.DIGEST }} push-to-registry: true From b56943ad3cec6a24c2b4905109560f392d079f9c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 19:58:26 +0100 Subject: [PATCH 279/443] dependency added. --- .github/workflows/reusable-metadata.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index bba7d1d0a3d..65023758b1f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -61,8 +61,8 @@ jobs: env: JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | - TARGET=${-/_/${{ MATRIX.TARGET }}} - echo "metadata=metadata_$TARGET='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT + TARGET=`metadata_${-/_/${{ MATRIX.TARGET }}}` + echo "metadata=$TARGET='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT metadata-output: runs-on: ubuntu-latest @@ -73,4 +73,6 @@ jobs: target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] steps: - id: metadata - run: echo $GITHUB_OUTPUT['metadata_${-/_/${{ MATRIX.TARGET }}'] + run: | + TARGET=`metadata_${-/_/${{ MATRIX.TARGET }}}` + echo $GITHUB_OUTPUT[ $TARGET ] From 5313a6eb8fbaa42871f48a80c626c81f1e24c2e8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:03:37 +0100 Subject: [PATCH 280/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 65023758b1f..f4880674c68 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -59,9 +59,10 @@ jobs: - id: metadata-step-output env: + MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | - TARGET=`metadata_${-/_/${{ MATRIX.TARGET }}}` + TARGET=`${-/_/$MATRIX_TARGET}` echo "metadata=$TARGET='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT metadata-output: @@ -73,6 +74,8 @@ jobs: target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] steps: - id: metadata + env: + MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} run: | - TARGET=`metadata_${-/_/${{ MATRIX.TARGET }}}` + TARGET=`${-/_/$MATRIX_TARGET}` echo $GITHUB_OUTPUT[ $TARGET ] From 147c6f964434fb81cff641215721f77b0415ec2a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:04:27 +0100 Subject: [PATCH 281/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index f4880674c68..feb48498c00 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -62,7 +62,7 @@ jobs: MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | - TARGET=`${-/_/$MATRIX_TARGET}` + TARGET=${-/_/$MATRIX_TARGET} echo "metadata=$TARGET='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT metadata-output: @@ -77,5 +77,5 @@ jobs: env: MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} run: | - TARGET=`${-/_/$MATRIX_TARGET}` + TARGET=${-/_/$MATRIX_TARGET} echo $GITHUB_OUTPUT[ $TARGET ] From 3664f329dd231e063d402725c5c2af0dbb917475 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:09:33 +0100 Subject: [PATCH 282/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index feb48498c00..2c995182415 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -75,7 +75,7 @@ jobs: steps: - id: metadata env: - MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} + JSON_OUTPUT: ${{ fromJSON(needs.metadata.outputs.metadata) }} run: | - TARGET=${-/_/$MATRIX_TARGET} - echo $GITHUB_OUTPUT[ $TARGET ] + echo $JSON_OUTPUT + echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT From 6be51044cbb784dce8650b85748c0da1684ea4ea Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:10:46 +0100 Subject: [PATCH 283/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 2c995182415..ed2602ffe07 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -68,13 +68,8 @@ jobs: metadata-output: runs-on: ubuntu-latest needs: metadata - strategy: - max-parallel: 4 - matrix: - target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] steps: - - id: metadata - env: + - env: JSON_OUTPUT: ${{ fromJSON(needs.metadata.outputs.metadata) }} run: | echo $JSON_OUTPUT From e497f9abd1c37029f5e6b258acd37fe3033b28db Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:12:53 +0100 Subject: [PATCH 284/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index ed2602ffe07..806001d3fac 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -70,7 +70,7 @@ jobs: needs: metadata steps: - env: - JSON_OUTPUT: ${{ fromJSON(needs.metadata.outputs.metadata) }} + JSON_OUTPUT: ${{ fromJSON(jobs.metadata.outputs.metadata) }} run: | echo $JSON_OUTPUT echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT From 56686f098a055cccbb509204d0c6b9c0992d3d2a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:13:41 +0100 Subject: [PATCH 285/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 806001d3fac..6c2fcb689ac 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -70,7 +70,7 @@ jobs: needs: metadata steps: - env: - JSON_OUTPUT: ${{ fromJSON(jobs.metadata.outputs.metadata) }} + JSON_OUTPUT: ${{ fromJSON(needs.metadata.outputs) }} run: | echo $JSON_OUTPUT echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT From 10368ea33fde8cc44b16c4bf344341e1bcb4838b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:15:12 +0100 Subject: [PATCH 286/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6c2fcb689ac..33fbd2f0303 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -70,7 +70,7 @@ jobs: needs: metadata steps: - env: - JSON_OUTPUT: ${{ fromJSON(needs.metadata.outputs) }} + JSON_OUTPUT: ${{ needs.metadata.outputs }} run: | echo $JSON_OUTPUT echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT From 228fe5c75bad1d7d8bc175c8596a47838c57914c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:16:29 +0100 Subject: [PATCH 287/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 33fbd2f0303..99695cad50b 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -70,7 +70,7 @@ jobs: needs: metadata steps: - env: - JSON_OUTPUT: ${{ needs.metadata.outputs }} + JSON_OUTPUT: needs.metadata.outputs run: | echo $JSON_OUTPUT echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT From 799634f1fa8420e1a047def5d52564ff68e02478 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:22:00 +0100 Subject: [PATCH 288/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 99695cad50b..bf8f9c24e23 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -63,14 +63,14 @@ jobs: JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | TARGET=${-/_/$MATRIX_TARGET} - echo "metadata=$TARGET='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT + echo "${TARGET}=${JSON_OUTPUT}\n" >> $GITHUB_OUTPUT metadata-output: runs-on: ubuntu-latest needs: metadata steps: - env: - JSON_OUTPUT: needs.metadata.outputs + JSON_OUTPUT: "${{ jobs.metadata.outputs.rpm_builder }}" run: | echo $JSON_OUTPUT echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT From bc19c27b7fa7937c8f3b95cc0498481586a9afdc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:22:50 +0100 Subject: [PATCH 289/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index bf8f9c24e23..94f12653dae 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -70,7 +70,7 @@ jobs: needs: metadata steps: - env: - JSON_OUTPUT: "${{ jobs.metadata.outputs.rpm_builder }}" + JSON_OUTPUT: "${{ steps.metadata.outputs.rpm_builder }}" run: | echo $JSON_OUTPUT echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT From fe6f05111af1605c1b8c8ca82646e743d7744a6d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:28:15 +0100 Subject: [PATCH 290/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 19 ++++++------------- .github/workflows/rpm-builder.yml | 4 ++-- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 94f12653dae..054d7ae00c3 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -14,7 +14,6 @@ on: default: ${{ GITHUB.ACTOR }} required: false type: string - outputs: metadata: value: ${{ jobs.metadata-output.outputs }} @@ -24,7 +23,9 @@ jobs: metadata: runs-on: ubuntu-latest - # continue-on-error: true + + continue-on-error: true + outputs: metadata: string strategy: @@ -34,14 +35,7 @@ jobs: steps: - - uses: actions/cache@v4 - id: cache - with: - path: path/to/dependencies - key: ${{ runner.os }}-${{ hashFiles('**/metadata.json') }} - - uses: 'docker/login-action@v3' - # if: steps.cache.outputs.cache-hit != 'true' id: container-registry with: registry: ${{ INPUTS.REGISTRY }} @@ -49,7 +43,6 @@ jobs: password: ${{ SECRETS.TOKEN }} - uses: 'docker/metadata-action@v5' - # if: steps.cache.outputs.cache-hit != 'true' id: metadata with: images: ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }} @@ -59,18 +52,18 @@ jobs: - id: metadata-step-output env: + JSON: ${{ toJSON(steps.metadata.outputs) }} MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} - JSON_OUTPUT: toJSON(steps.metadata.outputs) run: | TARGET=${-/_/$MATRIX_TARGET} - echo "${TARGET}=${JSON_OUTPUT}\n" >> $GITHUB_OUTPUT + echo "${TARGET}=${JSON}\n" >> $GITHUB_OUTPUT metadata-output: runs-on: ubuntu-latest needs: metadata steps: - env: - JSON_OUTPUT: "${{ steps.metadata.outputs.rpm_builder }}" + JSON: "${{ metadata.outputs }}" run: | echo $JSON_OUTPUT echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 40247924295..181f591502b 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -4,14 +4,14 @@ on: [ push ] jobs: - image-metadata: + collect-metadata: uses: ./.github/workflows/reusable-metadata.yml secrets: token: ${{ SECRETS.GITHUB_TOKEN }} build-images: runs-on: ubuntu-latest - needs: image-metadata + needs: collect-metadata permissions: contents: read packages: write From 9c72504009debfef260a7de0f3eaff80feee16b3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:31:37 +0100 Subject: [PATCH 291/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 054d7ae00c3..7cb85ffdd87 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -63,7 +63,6 @@ jobs: needs: metadata steps: - env: - JSON: "${{ metadata.outputs }}" + OUTPUT: "${{ needs.metadata.outputs }}" run: | - echo $JSON_OUTPUT - echo "metadata='$JSON_OUTPUT'\n" >> $GITHUB_OUTPUT + echo "metadata='$$OUTPUT'\n" >> $GITHUB_OUTPUT From 6235edc5b937457203f7253e6cb87aa85151be7c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:33:37 +0100 Subject: [PATCH 292/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 7cb85ffdd87..0de84c176fd 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -52,7 +52,7 @@ jobs: - id: metadata-step-output env: - JSON: ${{ toJSON(steps.metadata.outputs) }} + JSON: '${{ toJSON(steps.metadata.outputs) }}' MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} run: | TARGET=${-/_/$MATRIX_TARGET} From 1da3299769e44295ee0833536b08ee284af7debf Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:34:31 +0100 Subject: [PATCH 293/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 0de84c176fd..048755352e9 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -52,7 +52,7 @@ jobs: - id: metadata-step-output env: - JSON: '${{ toJSON(steps.metadata.outputs) }}' + JSON: ${{ steps.metadata.outputs }} MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} run: | TARGET=${-/_/$MATRIX_TARGET} From ea5e20f705d4e0db292f7e3f538537386fc41801 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:39:56 +0100 Subject: [PATCH 294/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 048755352e9..8a756de2f54 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -52,11 +52,19 @@ jobs: - id: metadata-step-output env: - JSON: ${{ steps.metadata.outputs }} MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} + OUTPUTS: ${{ steps.metadata.outputs }} run: | TARGET=${-/_/$MATRIX_TARGET} - echo "${TARGET}=${JSON}\n" >> $GITHUB_OUTPUT + { + "${TARGET}='${OUTPUTS}'\n" + } >> $GITHUB_OUTPUT + { + echo "### Workflow variables" + echo "| Variable | Value " + echo "| -------- | --------" + echo "| $TARGET | $OUTPUTS" + } >> $GITHUB_STEP_SUMMARY metadata-output: runs-on: ubuntu-latest From 2f5fee8c2364447810adda39c452a709fd934fd6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:44:03 +0100 Subject: [PATCH 295/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 8a756de2f54..8a56341d4fe 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,15 +56,8 @@ jobs: OUTPUTS: ${{ steps.metadata.outputs }} run: | TARGET=${-/_/$MATRIX_TARGET} - { - "${TARGET}='${OUTPUTS}'\n" - } >> $GITHUB_OUTPUT - { - echo "### Workflow variables" - echo "| Variable | Value " - echo "| -------- | --------" - echo "| $TARGET | $OUTPUTS" - } >> $GITHUB_STEP_SUMMARY + echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT + echo "### Workflow variables\n$TARGET | $OUTPUTS" >> $GITHUB_STEP_SUMMARY metadata-output: runs-on: ubuntu-latest From 1181ddbd5ff8029523578fefabff2f443362128f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:49:38 +0100 Subject: [PATCH 296/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 8a56341d4fe..3c0a86ab9da 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -23,11 +23,12 @@ jobs: metadata: runs-on: ubuntu-latest - continue-on-error: true - outputs: - metadata: string + metadata_1: ${{ steps.metadata.outputs.output_1 }} + metadata_2: ${{ steps.metadata.outputs.output_2 }} + metadata_3: ${{ steps.metadata.outputs.output_3 }} + metadata_4: ${{ steps.metadata.outputs.output_4 }} strategy: max-parallel: 4 matrix: @@ -52,10 +53,9 @@ jobs: - id: metadata-step-output env: - MATRIX_TARGET: metadata-${{ MATRIX.TARGET }} OUTPUTS: ${{ steps.metadata.outputs }} run: | - TARGET=${-/_/$MATRIX_TARGET} + TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT echo "### Workflow variables\n$TARGET | $OUTPUTS" >> $GITHUB_STEP_SUMMARY From 940a0134b9db702187bb130b9048456b072ee31b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:51:57 +0100 Subject: [PATCH 297/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 3c0a86ab9da..8fbe5e96a32 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -25,10 +25,10 @@ jobs: runs-on: ubuntu-latest continue-on-error: true outputs: - metadata_1: ${{ steps.metadata.outputs.output_1 }} - metadata_2: ${{ steps.metadata.outputs.output_2 }} - metadata_3: ${{ steps.metadata.outputs.output_3 }} - metadata_4: ${{ steps.metadata.outputs.output_4 }} + builder: ${{ steps.metadata.outputs.metadata_rpm_builder }} + testing: ${{ steps.metadata.outputs.metadata_rpm_testing }} + integration: ${{ steps.metadata.outputs.metadata_rhel_integration }} + orchestration: ${{ steps.metadata.outputs.metadata_rhel_orchestration }} strategy: max-parallel: 4 matrix: From 2f9b68a833b022e6551ab7fdb96e274b10cd50b0 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 20:54:26 +0100 Subject: [PATCH 298/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 8fbe5e96a32..6aab1df0cb1 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -52,9 +52,8 @@ jobs: type=sha - id: metadata-step-output - env: - OUTPUTS: ${{ steps.metadata.outputs }} run: | + OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT echo "### Workflow variables\n$TARGET | $OUTPUTS" >> $GITHUB_STEP_SUMMARY From 9f6ea9bbeae1bd712205dba8cb458bd8fb4b582c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:00:43 +0100 Subject: [PATCH 299/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6aab1df0cb1..83190f27c33 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -55,9 +55,9 @@ jobs: run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} + echo "### Workflow variables:\N\N OUTPUTS" >> $GITHUB_STEP_SUMMARY echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT - echo "### Workflow variables\n$TARGET | $OUTPUTS" >> $GITHUB_STEP_SUMMARY - + metadata-output: runs-on: ubuntu-latest needs: metadata From 3ff2e4babf4cd33aa3afe8123a36ef2da74e9249 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:04:24 +0100 Subject: [PATCH 300/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 83190f27c33..4a7a36d1ddc 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,11 +53,16 @@ jobs: - id: metadata-step-output run: | - OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' + OUTPUTS='${{ toJSON(steps.metadata.output.builder) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} - echo "### Workflow variables:\N\N OUTPUTS" >> $GITHUB_STEP_SUMMARY - echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT + echo "### Workflow variables:\n" >> $GITHUB_STEP_SUMMARY + echo "\n${{ toJSON(steps.metadata.outputs.metadata_rpm_builder) }}" >> $GITHUB_STEP_SUMMARY + echo "\n${{ toJSON(steps.metadata.outputs.metadata_rpm_testing) }}" >> $GITHUB_STEP_SUMMARY + echo "\n${{ toJSON(steps.metadata.outputs.metadata_rhel_integration) }}" >> $GITHUB_STEP_SUMMARY + echo "\n${{ toJSON(steps.metadata.outputs.metadata_rhel_orchestration) }}" >> $GITHUB_STEP_SUMMARY + echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT + metadata-output: runs-on: ubuntu-latest needs: metadata From c2776c359887a7c629ccd18572a23f32363562cc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:04:49 +0100 Subject: [PATCH 301/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 4a7a36d1ddc..6fe3616f3df 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,6 +65,7 @@ jobs: metadata-output: runs-on: ubuntu-latest + continue-on-error: true needs: metadata steps: - env: From 45a29e353c2bdacbdca782105d1517fa5a655b3c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:06:57 +0100 Subject: [PATCH 302/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6fe3616f3df..6420c698069 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,14 +53,11 @@ jobs: - id: metadata-step-output run: | - OUTPUTS='${{ toJSON(steps.metadata.output.builder) }}' + OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} - echo "### Workflow variables:\n" >> $GITHUB_STEP_SUMMARY - echo "\n${{ toJSON(steps.metadata.outputs.metadata_rpm_builder) }}" >> $GITHUB_STEP_SUMMARY - echo "\n${{ toJSON(steps.metadata.outputs.metadata_rpm_testing) }}" >> $GITHUB_STEP_SUMMARY - echo "\n${{ toJSON(steps.metadata.outputs.metadata_rhel_integration) }}" >> $GITHUB_STEP_SUMMARY - echo "\n${{ toJSON(steps.metadata.outputs.metadata_rhel_orchestration) }}" >> $GITHUB_STEP_SUMMARY + echo "### Workflow variables:" >> $GITHUB_STEP_SUMMARY + echo "${{ toJSON(steps.metadata.outputs) }}" >> $GITHUB_STEP_SUMMARY echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT metadata-output: From 46d337f46e3f4658217e1cf1eaad0e9ff008371c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:11:04 +0100 Subject: [PATCH 303/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6420c698069..f65a807653b 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -57,7 +57,7 @@ jobs: TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} echo "### Workflow variables:" >> $GITHUB_STEP_SUMMARY - echo "${{ toJSON(steps.metadata.outputs) }}" >> $GITHUB_STEP_SUMMARY + echo "${{ steps.metadata.outputs }}" >> $GITHUB_STEP_SUMMARY echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT metadata-output: From 9f3f9aa76d0eaea8bcb5dd63d717f8251fe3dfd6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:13:31 +0100 Subject: [PATCH 304/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index f65a807653b..3210a9319b2 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,8 +56,8 @@ jobs: OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} - echo "### Workflow variables:" >> $GITHUB_STEP_SUMMARY - echo "${{ steps.metadata.outputs }}" >> $GITHUB_STEP_SUMMARY + echo "TARGET: ${TARGET}" >> $GITHUB_STEP_SUMMARY + echo 'OUTPUTS: ${OUTPUTS}' >> $GITHUB_STEP_SUMMARY echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT metadata-output: From de457e57c453883b1f848f83af5bf7f3df237c8b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:14:39 +0100 Subject: [PATCH 305/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 3210a9319b2..a5da917e274 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,7 +56,7 @@ jobs: OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} - echo "TARGET: ${TARGET}" >> $GITHUB_STEP_SUMMARY + echo "TARGET: metadata-${{ MATRIX.TARGET }}" >> $GITHUB_STEP_SUMMARY echo 'OUTPUTS: ${OUTPUTS}' >> $GITHUB_STEP_SUMMARY echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT From 2df992b3c14298eef29aee038da72416e0e50345 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:15:24 +0100 Subject: [PATCH 306/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index a5da917e274..36cf73e497f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -57,7 +57,7 @@ jobs: TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} echo "TARGET: metadata-${{ MATRIX.TARGET }}" >> $GITHUB_STEP_SUMMARY - echo 'OUTPUTS: ${OUTPUTS}' >> $GITHUB_STEP_SUMMARY + echo "OUTPUTS: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT metadata-output: From fda67a32f3f4f63deac99d73cf58920354f3eccf Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:16:55 +0100 Subject: [PATCH 307/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 36cf73e497f..706f2f4735b 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,12 +53,13 @@ jobs: - id: metadata-step-output run: | - OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' + + OUTPUTS=${{ toJSON(steps.metadata.outputs) }} TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} - echo "TARGET: metadata-${{ MATRIX.TARGET }}" >> $GITHUB_STEP_SUMMARY - echo "OUTPUTS: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY - echo "${TARGET}='${OUTPUTS}'\n" >> $GITHUB_OUTPUT + echo TARGET: metadata-${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY + echo OUTPUTS: '${OUTPUTS}' >> $GITHUB_STEP_SUMMARY + echo ${TARGET}='${OUTPUTS}' >> $GITHUB_OUTPUT metadata-output: runs-on: ubuntu-latest From 7f7621af972ee37e1f432f12463940335c74740e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:18:59 +0100 Subject: [PATCH 308/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 706f2f4735b..9cb2e4cdeae 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -66,7 +66,5 @@ jobs: continue-on-error: true needs: metadata steps: - - env: - OUTPUT: "${{ needs.metadata.outputs }}" - run: | - echo "metadata='$$OUTPUT'\n" >> $GITHUB_OUTPUT + - run: | + echo "metadata='${{ needs.metadata.outputs }}'" >> $GITHUB_OUTPUT From bb59ddef0e8d736aa95f9c2d8d3d7ff9323d7122 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:24:26 +0100 Subject: [PATCH 309/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 9cb2e4cdeae..2504dbf13a2 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -67,4 +67,5 @@ jobs: needs: metadata steps: - run: | - echo "metadata='${{ needs.metadata.outputs }}'" >> $GITHUB_OUTPUT + echo "metadata='${{ toJSON(needs.metadata.outputs) }}'" >> $GITHUB_STEP_SUMMARY + echo "metadata='${{ toJSON(needs.metadata.outputs) }}'" >> $GITHUB_OUTPUT From c67b39b0a28282d537210a06d824e061e0848bfd Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:25:33 +0100 Subject: [PATCH 310/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 2504dbf13a2..a4b56a0a186 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -67,5 +67,5 @@ jobs: needs: metadata steps: - run: | - echo "metadata='${{ toJSON(needs.metadata.outputs) }}'" >> $GITHUB_STEP_SUMMARY - echo "metadata='${{ toJSON(needs.metadata.outputs) }}'" >> $GITHUB_OUTPUT + echo 'metadata=\'${{ toJSON(needs.metadata.outputs) }}\'' >> $GITHUB_STEP_SUMMARY + echo 'metadata=\'${{ toJSON(needs.metadata.outputs) }}\'' >> $GITHUB_OUTPUT From d37665c00828c564b27e837e0cff9d5849487a04 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:26:11 +0100 Subject: [PATCH 311/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index a4b56a0a186..452641e7206 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -54,7 +54,7 @@ jobs: - id: metadata-step-output run: | - OUTPUTS=${{ toJSON(steps.metadata.outputs) }} + OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} echo TARGET: metadata-${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY From c3d66f224ab76a54e959c9232cc42490b6ef2415 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:28:42 +0100 Subject: [PATCH 312/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 452641e7206..2816554d801 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -67,5 +67,5 @@ jobs: needs: metadata steps: - run: | - echo 'metadata=\'${{ toJSON(needs.metadata.outputs) }}\'' >> $GITHUB_STEP_SUMMARY - echo 'metadata=\'${{ toJSON(needs.metadata.outputs) }}\'' >> $GITHUB_OUTPUT + echo metadata='${{ toJSON(needs.metadata.outputs) }}' >> $GITHUB_STEP_SUMMARY + echo metadata='${{ toJSON(needs.metadata.outputs) }}' >> $GITHUB_OUTPUT From b4622c5b117e992597cea63f869dc8747a3016f1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:30:07 +0100 Subject: [PATCH 313/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 2816554d801..94f0b00fa6e 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -21,9 +21,8 @@ on: jobs: - metadata: + metadata-matrix: runs-on: ubuntu-latest - continue-on-error: true outputs: builder: ${{ steps.metadata.outputs.metadata_rpm_builder }} testing: ${{ steps.metadata.outputs.metadata_rpm_testing }} @@ -61,10 +60,9 @@ jobs: echo OUTPUTS: '${OUTPUTS}' >> $GITHUB_STEP_SUMMARY echo ${TARGET}='${OUTPUTS}' >> $GITHUB_OUTPUT - metadata-output: + metadata-matrix-output: runs-on: ubuntu-latest - continue-on-error: true - needs: metadata + needs: metadata-matrix steps: - run: | echo metadata='${{ toJSON(needs.metadata.outputs) }}' >> $GITHUB_STEP_SUMMARY From c1dd8d8cc8e70cb42131c6ac79a7dd58e948312d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:34:14 +0100 Subject: [PATCH 314/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 94f0b00fa6e..aafdd92173e 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,14 +56,14 @@ jobs: OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} - echo TARGET: metadata-${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY - echo OUTPUTS: '${OUTPUTS}' >> $GITHUB_STEP_SUMMARY - echo ${TARGET}='${OUTPUTS}' >> $GITHUB_OUTPUT + echo TARGET: metadata_${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY + echo OUTPUTS:\n${OUTPUTS} >> $GITHUB_STEP_SUMMARY + echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT metadata-matrix-output: runs-on: ubuntu-latest needs: metadata-matrix steps: - run: | - echo metadata='${{ toJSON(needs.metadata.outputs) }}' >> $GITHUB_STEP_SUMMARY - echo metadata='${{ toJSON(needs.metadata.outputs) }}' >> $GITHUB_OUTPUT + echo metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY + echo metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' >> $GITHUB_OUTPUT From a21c018966bd275f1a870fe4cd583ae83635ac18 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:35:37 +0100 Subject: [PATCH 315/443] matrix output added. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 181f591502b..94ee5a7c417 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -66,7 +66,7 @@ jobs: uses: './.github/workflows/reusable-attestation.yml' id: attestation with: - image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest checksums: ${{ steps.build.outputs.checksums }} digest: ${{ steps.build.outputs.digest }} From fb808c45e75b1a28d13412c465bc957b54dea5f6 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:37:06 +0100 Subject: [PATCH 316/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index aafdd92173e..a306583d6ac 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -54,11 +54,10 @@ jobs: run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - TARGET=${-/_/metadata-${{ MATRIX.TARGET }}} - - echo TARGET: metadata_${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY - echo OUTPUTS:\n${OUTPUTS} >> $GITHUB_STEP_SUMMARY + TARGET="${-/_/metadata-${{ MATRIX.TARGET }}}" echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT + echo TARGET: metadata_${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY + echo OUTPUTS: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY metadata-matrix-output: runs-on: ubuntu-latest From 3cc029d14d72570d519b935034308ccef2d2958c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:42:06 +0100 Subject: [PATCH 317/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index a306583d6ac..018d1ea9987 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -45,24 +45,23 @@ jobs: - uses: 'docker/metadata-action@v5' id: metadata with: - images: ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }} + images: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }} tags: | - ${{ INPUTS.REGISTRY }}/${{ MATRIX.TARGET }}/:latest + ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/:latest type=sha - id: metadata-step-output - run: | - + run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET="${-/_/metadata-${{ MATRIX.TARGET }}}" echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo TARGET: metadata_${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY - echo OUTPUTS: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY + echo META: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY metadata-matrix-output: runs-on: ubuntu-latest needs: metadata-matrix steps: - run: | - echo metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY echo metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' >> $GITHUB_OUTPUT + echo metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY \ No newline at end of file From 6a6a1c40049703702bdf5d9509b70b3790da5d3d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:45:21 +0100 Subject: [PATCH 318/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 018d1ea9987..dece76a4698 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,7 +53,7 @@ jobs: - id: metadata-step-output run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - TARGET="${-/_/metadata-${{ MATRIX.TARGET }}}" + TARGET=`echo ${{ MATRIX.TARGET }}} | tr - _` echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo TARGET: metadata_${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY echo META: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY From c972bf6c1af0eaa20f0821ae15fcb2a67d7ee31a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:50:00 +0100 Subject: [PATCH 319/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 7 ++++--- .github/workflows/rpm-builder.yml | 1 - 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index dece76a4698..c3469c7429f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,10 +53,11 @@ jobs: - id: metadata-step-output run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - TARGET=`echo ${{ MATRIX.TARGET }}} | tr - _` + TARGET=`echo metadata-${{ MATRIX.TARGET }}} | tr - _` echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - echo TARGET: metadata_${{ MATRIX.TARGET }} >> $GITHUB_STEP_SUMMARY - echo META: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY + echo PLATFORM: ${{ MATRIX.PLATFORM }} >> $GITHUB_STEP_SUMMARY + echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY + echo METADATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY metadata-matrix-output: runs-on: ubuntu-latest diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 94ee5a7c417..fdadeaa8721 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -39,7 +39,6 @@ jobs: # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) - # if: ${{ !contains(fromJSON(needs.image-metadata.outputs.metadata), null) }} uses: 'docker/metadata-action@v5' id: metadata with: From 8f9890d87507d5390b5312f4912e6a2bf1a7f0e4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:50:44 +0100 Subject: [PATCH 320/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c3469c7429f..2ae1970632c 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -55,7 +55,7 @@ jobs: OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=`echo metadata-${{ MATRIX.TARGET }}} | tr - _` echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - echo PLATFORM: ${{ MATRIX.PLATFORM }} >> $GITHUB_STEP_SUMMARY + echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY echo METADATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY From 03ebde8038a5c8bb007c652b52ef21d3a9536c3c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:52:04 +0100 Subject: [PATCH 321/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 2ae1970632c..7ef63ba85f2 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -47,7 +47,7 @@ jobs: with: images: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }} tags: | - ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/:latest + ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }}/:latest type=sha - id: metadata-step-output From 78439b4073ca3f9fa12924e4bf1b8cc27a16a57d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 21:58:58 +0100 Subject: [PATCH 322/443] token fixed. --- .github/workflows/rpm-builder.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index fdadeaa8721..53191ddf2d0 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -45,6 +45,13 @@ jobs: images: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} tags: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest + - uses: 'docker/login-action@v3' + id: container-registry + with: + registry: ${{ INPUTS.REGISTRY }} + username: ${{ INPUTS.USERNAME }} + password: ${{ SECRETS.GITHUB_TOKEN }} + # https://github.com/marketplace/actions/build-and-push-docker-images - name: Build and push Docker image uses: 'docker/build-push-action@v6' From 26318720ede33f7981b6a35a8102bf86060412de Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:12:14 +0100 Subject: [PATCH 323/443] attestation matrix added. --- .github/workflows/reusable-attestation.yml | 36 ++++++++++++++++------ .github/workflows/reusable-docker.yml | 8 ++--- .github/workflows/rpm-builder.yml | 20 +++++++----- 3 files changed, 42 insertions(+), 22 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index a94e79a16bc..abdbcc9e12e 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -14,27 +14,26 @@ on: default: ${{ GITHUB.ACTOR }} required: false type: string - - image: - required: true - type: string checksums: - required: false + required: true type: string digest: - required: false + required: true type: string - outputs: metadata: value: ${{ jobs.attestation.outputs }} description: "Attestation output" jobs: - attestation: + attestation-matrix: runs-on: ubuntu-latest outputs: - attestation: ${{ steps.attestation.outputs }} + attestation: ${{ steps.metadata.outputs.metadata_rpm_builder }} + strategy: + max-parallel: 4 + matrix: + target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] steps: - uses: 'docker/login-action@v3' @@ -47,7 +46,24 @@ jobs: - uses: 'actions/attest-build-provenance@v2' id: attestation with: - subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:latest + subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }}:latest subject-checksums: ${{ INPUTS.CHECKSUMS }} subject-digest: ${{ INPUTS.DIGEST }} push-to-registry: true + + - id: attestation-step-output + run: | + OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' + TARGET=`echo metadata-${{ MATRIX.TARGET }}} | tr - _` + echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT + + echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY + echo METADATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY + + attestation-matrix-output: + runs-on: ubuntu-latest + needs: attestation-matrix + steps: + - run: | + echo attestation='${{ toJSON(needs.attestation-matrix.outputs) }}' >> $GITHUB_OUTPUT + echo attestation='${{ toJSON(needs.attestation-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 46d08dfb062..cb43153ce99 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -17,25 +17,23 @@ on: image: required: true type: string - platform: default: linux/amd64 required: false type: string - outputs: builder: value: ${{ jobs.docker-run.outputs.builder }} description: "Build output" testing: value: ${{ jobs.docker-run.outputs.testing }} - description: "Test output" + description: "Package test output" integration: value: ${{ jobs.docker-run.outputs.integration }} - description: "Test output" + description: "Integration output" orchestration: value: ${{ jobs.docker-run.outputs.orchestration }} - description: "Test output" + description: "Orchestration output" jobs: docker-run: diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 53191ddf2d0..c93820440ff 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -4,11 +4,6 @@ on: [ push ] jobs: - collect-metadata: - uses: ./.github/workflows/reusable-metadata.yml - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} - build-images: runs-on: ubuntu-latest needs: collect-metadata @@ -48,8 +43,8 @@ jobs: - uses: 'docker/login-action@v3' id: container-registry with: - registry: ${{ INPUTS.REGISTRY }} - username: ${{ INPUTS.USERNAME }} + registry: 'ghcr.io' + username: ${{ GITBUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} # https://github.com/marketplace/actions/build-and-push-docker-images @@ -106,3 +101,14 @@ jobs: target: rhel-integration - platform: linux/arm64 target: rpm-testing + + collect-metadata: + uses: ./.github/workflows/reusable-metadata.yml + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} + + attest-images: + uses: ./.github/workflows/reusable-attestation.yml + needs: build-images + secrets: + token: ${{ SECRETS.GITHUB_TOKEN }} From ae234bf55d86fb2be18bf880036b28bb4545b3a7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:15:21 +0100 Subject: [PATCH 324/443] typo. --- .github/workflows/rpm-builder.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index c93820440ff..3b0b39c9731 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -44,7 +44,7 @@ jobs: id: container-registry with: registry: 'ghcr.io' - username: ${{ GITBUB.ACTOR }} + username: ${{ GITHUB.ACTOR }} password: ${{ SECRETS.GITHUB_TOKEN }} # https://github.com/marketplace/actions/build-and-push-docker-images @@ -67,7 +67,6 @@ jobs: uses: './.github/workflows/reusable-attestation.yml' id: attestation with: - image: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }}:latest checksums: ${{ steps.build.outputs.checksums }} digest: ${{ steps.build.outputs.digest }} @@ -112,3 +111,8 @@ jobs: needs: build-images secrets: token: ${{ SECRETS.GITHUB_TOKEN }} + with: + + # TODO + checksums: ${{ steps.build.outputs.checksums }} + digest: ${{ steps.build.outputs.digest }} From a7134a1cc7d77c14aab941473959c151fe25c486 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:17:32 +0100 Subject: [PATCH 325/443] typo. --- .github/workflows/rpm-builder.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 3b0b39c9731..52c891874b6 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -111,8 +111,9 @@ jobs: needs: build-images secrets: token: ${{ SECRETS.GITHUB_TOKEN }} + inputs: ${{ steps.build.outputs }} with: # TODO - checksums: ${{ steps.build.outputs.checksums }} - digest: ${{ steps.build.outputs.digest }} + checksums: ${{ inputs.checksums }} + digest: ${{ inputs.digest }} From bc1a3e3897a91b71d6eb48d0073f9ca26e7802d3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:18:53 +0100 Subject: [PATCH 326/443] typo. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 52c891874b6..1aea65f09d8 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -111,7 +111,7 @@ jobs: needs: build-images secrets: token: ${{ SECRETS.GITHUB_TOKEN }} - inputs: ${{ steps.build.outputs }} + inputs: ${{ needs.build-images.outputs }} with: # TODO From 0a13621e093beff0be600b572d8c71f76ada698f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:20:23 +0100 Subject: [PATCH 327/443] typo. --- .github/workflows/rpm-builder.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 1aea65f09d8..53e16090c0c 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -110,10 +110,8 @@ jobs: uses: ./.github/workflows/reusable-attestation.yml needs: build-images secrets: + # inputs: ${{ needs.build-images.outputs }} token: ${{ SECRETS.GITHUB_TOKEN }} - inputs: ${{ needs.build-images.outputs }} with: - - # TODO - checksums: ${{ inputs.checksums }} - digest: ${{ inputs.digest }} + checksums: '' + digest: '' From dbec86b837081afd900eacca1ba21d2c308e8255 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:21:43 +0100 Subject: [PATCH 328/443] typo. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 7ef63ba85f2..56923eb6440 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,7 +53,7 @@ jobs: - id: metadata-step-output run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - TARGET=`echo metadata-${{ MATRIX.TARGET }}} | tr - _` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _` echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY From b6cdba68e917d1bbd18a995ed46b6e01fd3e7cdc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:25:16 +0100 Subject: [PATCH 329/443] typo. --- .github/workflows/reusable-metadata.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 56923eb6440..1005b1982c5 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,13 +56,14 @@ jobs: TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _` echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY - echo METADATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY + echo INDEX: ${TARGET} >> $GITHUB_STEP_SUMMARY + echo DATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY metadata-matrix-output: runs-on: ubuntu-latest needs: metadata-matrix steps: - run: | - echo metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' >> $GITHUB_OUTPUT - echo metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY \ No newline at end of file + OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' + echo $OUTPUTS >> $GITHUB_STEP_SUMMARY + echo $OUTPUTS >> $GITHUB_OUTPUT From 326826ab419a4d54e2bc65785d871c02a03a9451 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:27:51 +0100 Subject: [PATCH 330/443] typo. --- .github/workflows/rpm-builder.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 53e16090c0c..ea970a018fd 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -106,12 +106,11 @@ jobs: secrets: token: ${{ SECRETS.GITHUB_TOKEN }} - attest-images: - uses: ./.github/workflows/reusable-attestation.yml - needs: build-images - secrets: - # inputs: ${{ needs.build-images.outputs }} - token: ${{ SECRETS.GITHUB_TOKEN }} - with: - checksums: '' - digest: '' +# attest-images: +# uses: ./.github/workflows/reusable-attestation.yml +# needs: build-images +# secrets: +# token: ${{ SECRETS.GITHUB_TOKEN }} +# with: +# checksums: '' +# digest: '' From 5219aae10d03941daf5db6aaf75d478394b94c8a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:33:07 +0100 Subject: [PATCH 331/443] typo. --- .github/workflows/reusable-metadata.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 1005b1982c5..cba13200d40 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,5 +65,6 @@ jobs: steps: - run: | OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' + echo ENV: `printenv` >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From 6f49e2439ebae849cdf6ab76f2417a293a9e8648 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:34:43 +0100 Subject: [PATCH 332/443] typo. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index cba13200d40..73bc71608c3 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -64,7 +64,7 @@ jobs: needs: metadata-matrix steps: - run: | + echo ENV: `printenv` | tr \n
>> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' - echo ENV: `printenv` >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From 58f167c7d720754673817f16659bc46749430b76 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:38:40 +0100 Subject: [PATCH 333/443] typo. --- .github/workflows/reusable-attestation.yml | 16 ++++++++-------- .github/workflows/rpm-builder.yml | 9 ++++----- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index abdbcc9e12e..a4abf54aa6d 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -23,10 +23,10 @@ on: outputs: metadata: value: ${{ jobs.attestation.outputs }} - description: "Attestation output" + description: "Artifact attestation output" jobs: - attestation-matrix: + artifact-attestation-matrix: runs-on: ubuntu-latest outputs: attestation: ${{ steps.metadata.outputs.metadata_rpm_builder }} @@ -44,14 +44,14 @@ jobs: password: ${{ SECRETS.TOKEN }} - uses: 'actions/attest-build-provenance@v2' - id: attestation + id: artifact-attestation with: subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }}:latest subject-checksums: ${{ INPUTS.CHECKSUMS }} subject-digest: ${{ INPUTS.DIGEST }} push-to-registry: true - - id: attestation-step-output + - id: artifact-attestation-step-output run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=`echo metadata-${{ MATRIX.TARGET }}} | tr - _` @@ -60,10 +60,10 @@ jobs: echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY echo METADATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY - attestation-matrix-output: + artifact-attestation-matrix-output: runs-on: ubuntu-latest - needs: attestation-matrix + needs: artifact-attestation-matrix steps: - run: | - echo attestation='${{ toJSON(needs.attestation-matrix.outputs) }}' >> $GITHUB_OUTPUT - echo attestation='${{ toJSON(needs.attestation-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY + echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY + echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index ea970a018fd..5b15ee19665 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -64,12 +64,11 @@ jobs: # Note: The digest comes from `buildx`, not the metadata. # https://github.com/actions/attest-build-provenance - name: Generate artifact attestation - uses: './.github/workflows/reusable-attestation.yml' - id: attestation + uses: 'actions/attest-build-provenance@v2' with: - checksums: ${{ steps.build.outputs.checksums }} - digest: ${{ steps.build.outputs.digest }} - + subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + subject-digest: ${{ steps.build.outputs.digest }} + push-to-registry: true run-images: uses: ./.github/workflows/reusable-docker.yml needs: build-images From f73715b9e73f26504f7d1921289d01b6bf219907 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:41:37 +0100 Subject: [PATCH 334/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 73bc71608c3..1fc49ee6644 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -64,7 +64,7 @@ jobs: needs: metadata-matrix steps: - run: | - echo ENV: `printenv` | tr \n
>> $GITHUB_STEP_SUMMARY + echo ENV:
- `printenv` | tr \n
-\s >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From e732bc83f35ddae565ddd0b188895dd4afa596ef Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:49:09 +0100 Subject: [PATCH 335/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 1fc49ee6644..3fd6d77f56e 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -64,7 +64,7 @@ jobs: needs: metadata-matrix steps: - run: | - echo ENV:
- `printenv` | tr \n
-\s >> $GITHUB_STEP_SUMMARY + echo ENV:
- `printenv` | tr \n -[:space:] >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From fa535e0e820f20cdbd42fe14b827650b44921287 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:56:24 +0100 Subject: [PATCH 336/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 3fd6d77f56e..171347c3bba 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,7 +56,7 @@ jobs: TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _` echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - echo INDEX: ${TARGET} >> $GITHUB_STEP_SUMMARY + echo INDEX: ${TARGET} | tr "[:lower:]" "[:upper:]" >> $GITHUB_STEP_SUMMARY echo DATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY metadata-matrix-output: @@ -64,7 +64,7 @@ jobs: needs: metadata-matrix steps: - run: | - echo ENV:
- `printenv` | tr \n -[:space:] >> $GITHUB_STEP_SUMMARY + echo ENV:
`printenv` | tr "\n" "
" >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From 02b97214009294b96b8d3a1aff544a27782576df Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 22:59:54 +0100 Subject: [PATCH 337/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 171347c3bba..c2e585190b9 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -64,7 +64,8 @@ jobs: needs: metadata-matrix steps: - run: | - echo ENV:
`printenv` | tr "\n" "
" >> $GITHUB_STEP_SUMMARY + echo ## ENV: >> $GITHUB_STEP_SUMMARY + echo `printenv` | tr \n "
" >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From 66473a337cee7f6f394f8bc23fc8a0c45ad4eb29 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:01:54 +0100 Subject: [PATCH 338/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c2e585190b9..40d1a521fee 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -21,7 +21,7 @@ on: jobs: - metadata-matrix: + metadata: runs-on: ubuntu-latest outputs: builder: ${{ steps.metadata.outputs.metadata_rpm_builder }} @@ -59,9 +59,9 @@ jobs: echo INDEX: ${TARGET} | tr "[:lower:]" "[:upper:]" >> $GITHUB_STEP_SUMMARY echo DATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY - metadata-matrix-output: + metadata-summary: runs-on: ubuntu-latest - needs: metadata-matrix + needs: metadata steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY From fa77b5d6f1066728329a0649f5f4c115e8713513 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:03:46 +0100 Subject: [PATCH 339/443] matrix output added. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index cb43153ce99..396737c52c9 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,7 +64,7 @@ jobs: env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | - docker buildx ls + docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet $RPM_PLATFORM MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') From 3def543d934d31104c2a133671c7a50fc5d205e1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:07:32 +0100 Subject: [PATCH 340/443] matrix output added. --- .github/workflows/reusable-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 396737c52c9..c8a835e20c7 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -65,7 +65,7 @@ jobs: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | - docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet $RPM_PLATFORM + docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data From da39ef5c621cf94e20efd7ed37dbbfcaa19eecd2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:11:53 +0100 Subject: [PATCH 341/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 40d1a521fee..deee781ef5b 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo `printenv` | tr \n "
" >> $GITHUB_STEP_SUMMARY + echo ${`printenv`//$'\n'/\\n} >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From 274bdfca4e72fdd175f3a8d5e70707b1d681cf85 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:15:46 +0100 Subject: [PATCH 342/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index deee781ef5b..0228477ccff 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo ${`printenv`//$'\n'/\\n} >> $GITHUB_STEP_SUMMARY + echo ${ `printenv`/$'\n'/\\n } >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From e725f0e47da72412e5fcc2fb7e266de52b0ba50e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:17:04 +0100 Subject: [PATCH 343/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 0228477ccff..4cce3380a3e 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo ${ `printenv`/$'\n'/\\n } >> $GITHUB_STEP_SUMMARY + echo ${ `printenv`/$\n \\n } >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From ca19e0c22b13317483ac12b1b86763d674890753 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:18:30 +0100 Subject: [PATCH 344/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 4cce3380a3e..0701520939b 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo ${ `printenv`/$\n \\n } >> $GITHUB_STEP_SUMMARY + echo ${`printenv`/$'\n'/\\n } >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From 357251fd2ab403bf8d717c8fe6dfdeed797865de Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:19:53 +0100 Subject: [PATCH 345/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 0701520939b..7938bda242e 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -59,13 +59,13 @@ jobs: echo INDEX: ${TARGET} | tr "[:lower:]" "[:upper:]" >> $GITHUB_STEP_SUMMARY echo DATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY - metadata-summary: + summary: runs-on: ubuntu-latest needs: metadata steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo ${`printenv`/$'\n'/\\n } >> $GITHUB_STEP_SUMMARY + echo ${`printenv`/\n'/'
'} >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From dd73bdd395829162885b3d2795ee820d2a97d6e7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:21:03 +0100 Subject: [PATCH 346/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 7938bda242e..d7e7503b457 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo ${`printenv`/\n'/'
'} >> $GITHUB_STEP_SUMMARY + echo ${`printenv`/$\n'/
} >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From 7a7391bb3124cb52fd66ecdd3d6d4720ffc08f0f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:28:06 +0100 Subject: [PATCH 347/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index d7e7503b457..3345435bed4 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo ${`printenv`/$\n'/
} >> $GITHUB_STEP_SUMMARY + echo ${`printenv`/\n'/
} >> $GITHUB_STEP_SUMMARY OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From cca80ae6c208e5d535430d4b10b80fc53e8f5b1c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:30:31 +0100 Subject: [PATCH 348/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 3345435bed4..66c400fee85 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -66,6 +66,12 @@ jobs: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY echo ${`printenv`/\n'/
} >> $GITHUB_STEP_SUMMARY + + echo ## RUNNER + echo ${{ steps.metadata.outputs.metadata_rpm_runner }} + echo ## TESTING + echo ${{ steps.metadata.outputs.metadata_rpm_testing }} + OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From df25e8edcedd385be0ade3ee7b6ba19bc5ad8841 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:32:16 +0100 Subject: [PATCH 349/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 66c400fee85..c705e947f71 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo ${`printenv`/\n'/
} >> $GITHUB_STEP_SUMMARY + printenv | tr \n
>> $GITHUB_STEP_SUMMARY echo ## RUNNER echo ${{ steps.metadata.outputs.metadata_rpm_runner }} From 91c455dc3691fad15f84fddf6eded9b23b86c7f2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:33:16 +0100 Subject: [PATCH 350/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c705e947f71..afcbc90f2ea 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - printenv | tr \n
>> $GITHUB_STEP_SUMMARY + printenv | tr \n >> $GITHUB_STEP_SUMMARY echo ## RUNNER echo ${{ steps.metadata.outputs.metadata_rpm_runner }} From 56a3290657c5e7fe3d680dc2b1dc18f66b57d562 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:34:26 +0100 Subject: [PATCH 351/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index afcbc90f2ea..ea1cf40be16 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - printenv | tr \n >> $GITHUB_STEP_SUMMARY + echo `printenv` | tr \n >> $GITHUB_STEP_SUMMARY echo ## RUNNER echo ${{ steps.metadata.outputs.metadata_rpm_runner }} From 8e78a0f48311e262dd388e59e614512f2e91c795 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:36:10 +0100 Subject: [PATCH 352/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index ea1cf40be16..c21e619e8cf 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo `printenv` | tr \n >> $GITHUB_STEP_SUMMARY + echo `printenv` | tr \n '
' >> $GITHUB_STEP_SUMMARY echo ## RUNNER echo ${{ steps.metadata.outputs.metadata_rpm_runner }} From 2f0a2908b2bc9a5b4049e13505656230535dde1f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:38:08 +0100 Subject: [PATCH 353/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c21e619e8cf..906c9961d28 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -64,14 +64,15 @@ jobs: needs: metadata steps: - run: | - echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo `printenv` | tr \n '
' >> $GITHUB_STEP_SUMMARY + + OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' + echo $OUTPUTS >> $GITHUB_STEP_SUMMARY + echo $OUTPUTS >> $GITHUB_OUTPUT echo ## RUNNER echo ${{ steps.metadata.outputs.metadata_rpm_runner }} echo ## TESTING echo ${{ steps.metadata.outputs.metadata_rpm_testing }} - - OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' - echo $OUTPUTS >> $GITHUB_STEP_SUMMARY - echo $OUTPUTS >> $GITHUB_OUTPUT + + echo ## ENV: >> $GITHUB_STEP_SUMMARY + echo `printenv` | tr \n '
' >> $GITHUB_STEP_SUMMARY \ No newline at end of file From c5e0e2fc55486af35d7699e3f97bb0ce4f55fd11 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:40:38 +0100 Subject: [PATCH 354/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 906c9961d28..d80531e25ac 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | - OUTPUTS=metadata='${{ toJSON(needs.metadata-matrix.outputs) }}' + OUTPUTS=metadata=$GITHUB_OUTPUT echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From af36aa7f1975a38b0f9b1f5b6f02d702c42f93aa Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:41:24 +0100 Subject: [PATCH 355/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index d80531e25ac..072f7758ce9 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -72,7 +72,4 @@ jobs: echo ## RUNNER echo ${{ steps.metadata.outputs.metadata_rpm_runner }} echo ## TESTING - echo ${{ steps.metadata.outputs.metadata_rpm_testing }} - - echo ## ENV: >> $GITHUB_STEP_SUMMARY - echo `printenv` | tr \n '
' >> $GITHUB_STEP_SUMMARY \ No newline at end of file + echo ${{ steps.metadata.outputs.metadata_rpm_testing }} \ No newline at end of file From d2491599492088819f7b972f9879f4423194973a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:44:03 +0100 Subject: [PATCH 356/443] matrix output added. --- .github/workflows/reusable-docker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index c8a835e20c7..5c556be1fce 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -65,7 +65,7 @@ jobs: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | - docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} + docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data @@ -98,7 +98,7 @@ jobs: if: ${{ contains(INPUTS.IMAGE, 'testing') }} id: test-rpm-packages run: | - docker run --name rpm-testing --quiet ${{ INPUTS.IMAGE }} + docker run --name rpm-testing --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT @@ -107,7 +107,7 @@ jobs: if: ${{ contains(INPUTS.IMAGE, 'integration') }} id: test-integration run: | - docker run --name rhel-integration --quiet ${{ INPUTS.IMAGE }} + docker run --name rhel-integration --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -115,5 +115,5 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration run: | - docker run --name rhel-orchestration --quiet ${{ INPUTS.IMAGE }} + docker run --name rhel-orchestration --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT From b865ac7c9d335751a81e7178a2ef6baad1c75bbe Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:48:45 +0100 Subject: [PATCH 357/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 072f7758ce9..dda545543ac 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,8 @@ jobs: steps: - run: | - OUTPUTS=metadata=$GITHUB_OUTPUT + OUTPUTS=metadata=${{ fromJSON(steps.metadata.outputs.metadata_rpm_runner) }} + # OUTPUTS=metadata=$GITHUB_OUTPUT echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From c9cbd6a96a2ff1bb16c4fc84dd55c737e2bd917b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:50:17 +0100 Subject: [PATCH 358/443] matrix output added. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 5c556be1fce..ee5c3763f3b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,8 +64,8 @@ jobs: env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | - - docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY + # docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY + docker run --name rpm-builder --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data From 992721cad46fc4fa24a2ae27f377b5b9ffe0a36a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:51:22 +0100 Subject: [PATCH 359/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index dda545543ac..e7d522a4e73 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,7 +65,7 @@ jobs: steps: - run: | - OUTPUTS=metadata=${{ fromJSON(steps.metadata.outputs.metadata_rpm_runner) }} + OUTPUTS=metadata=${{ toJSON(steps.metadata.outputs.metadata_rpm_runner) }} # OUTPUTS=metadata=$GITHUB_OUTPUT echo $OUTPUTS >> $GITHUB_STEP_SUMMARY echo $OUTPUTS >> $GITHUB_OUTPUT From ccb5375a06823fce0746bdd1903dd12bc59bf2d9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:53:10 +0100 Subject: [PATCH 360/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index e7d522a4e73..6f0842326fe 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -62,6 +62,8 @@ jobs: summary: runs-on: ubuntu-latest needs: metadata + env: + GITHUB_OUTPUT: ${{ GITHUB_OUTPUT }} steps: - run: | From c37cce887abe99c482c7adb8f317ee56eb65c0cc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:57:32 +0100 Subject: [PATCH 361/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6f0842326fe..a6b26de93dd 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -63,16 +63,12 @@ jobs: runs-on: ubuntu-latest needs: metadata env: - GITHUB_OUTPUT: ${{ GITHUB_OUTPUT }} + OUTPUTS: ${{ GITHUB_OUTPUT }} steps: - run: | - - OUTPUTS=metadata=${{ toJSON(steps.metadata.outputs.metadata_rpm_runner) }} - # OUTPUTS=metadata=$GITHUB_OUTPUT - echo $OUTPUTS >> $GITHUB_STEP_SUMMARY - echo $OUTPUTS >> $GITHUB_OUTPUT - - echo ## RUNNER - echo ${{ steps.metadata.outputs.metadata_rpm_runner }} - echo ## TESTING - echo ${{ steps.metadata.outputs.metadata_rpm_testing }} \ No newline at end of file + for i in "${!OUTPUTS[@]}" + do + echo " $i ${OUTPUTS[$i]}" >> $GITHUB_STEP_SUMMARY + done + echo ${OUTPUTS} >> $GITHUB_STEP_SUMMARY + \ No newline at end of file From 4bd145ce3dfb3426c1a5c4d760ffa46dc37dbd52 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sat, 29 Mar 2025 23:59:03 +0100 Subject: [PATCH 362/443] matrix output added. --- .github/workflows/reusable-docker.yml | 2 +- .github/workflows/reusable-metadata.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index ee5c3763f3b..cd1a01c759d 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -64,7 +64,7 @@ jobs: env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | - # docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY + # docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} docker run --name rpm-builder --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index a6b26de93dd..fd6d0f60cde 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -71,4 +71,3 @@ jobs: echo " $i ${OUTPUTS[$i]}" >> $GITHUB_STEP_SUMMARY done echo ${OUTPUTS} >> $GITHUB_STEP_SUMMARY - \ No newline at end of file From 8d950ef43c57e9cf70b82aa29817e184a4009046 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:01:13 +0100 Subject: [PATCH 363/443] matrix output added. --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index cd1a01c759d..eb8429fc05b 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -59,7 +59,7 @@ jobs: # https://docs.docker.com/reference/cli/docker/container/cp/ # --entrypoint ${{ INPUTS.ENTRY-POINT }} cannot be changed with GitHub docker. - name: Run docker and somehow extract the archive from the volume. - if: ${{ contains(INPUTS.IMAGE, 'builder') }} + if: ${{ contains(INPUTS.IMAGE, 'builder') && !contains(INPUTS.PLATFORM, 'linux/arm64') }} id: build-rpm-packages env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} @@ -87,7 +87,7 @@ jobs: - name: Retain Artifacts (*.rpm) uses: 'actions/upload-artifact@v4' id: retain-rpm-packages - if: ${{ contains(INPUTS.IMAGE, 'builder') }} + if: ${{ contains(INPUTS.IMAGE, 'builder') && !contains(INPUTS.PLATFORM, 'linux/arm64') }} with: path: ${{ RUNNER.TEMP }}/*.tar.gz name: android-cuttlefish-rhel-${{ INPUTS.PLATFORM }} From cb469286d4fab223140f3c4488a09a6957a63c2d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:02:53 +0100 Subject: [PATCH 364/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index fd6d0f60cde..6a615a2b0e4 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -66,8 +66,4 @@ jobs: OUTPUTS: ${{ GITHUB_OUTPUT }} steps: - run: | - for i in "${!OUTPUTS[@]}" - do - echo " $i ${OUTPUTS[$i]}" >> $GITHUB_STEP_SUMMARY - done echo ${OUTPUTS} >> $GITHUB_STEP_SUMMARY From 8ff6fcd8ad4385d02f79af0ab8b6dd7229f5c33d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:07:22 +0100 Subject: [PATCH 365/443] matrix output added. --- .github/workflows/reusable-attestation.yml | 4 +++- .github/workflows/reusable-docker.yml | 4 ++++ .github/workflows/reusable-metadata.yml | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index a4abf54aa6d..b92d384a304 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -52,6 +52,7 @@ jobs: push-to-registry: true - id: artifact-attestation-step-output + shell: bash run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=`echo metadata-${{ MATRIX.TARGET }}} | tr - _` @@ -64,6 +65,7 @@ jobs: runs-on: ubuntu-latest needs: artifact-attestation-matrix steps: - - run: | + - shell: bash + run: | echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_OUTPUT diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index eb8429fc05b..68a1ce42cfd 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -61,6 +61,7 @@ jobs: - name: Run docker and somehow extract the archive from the volume. if: ${{ contains(INPUTS.IMAGE, 'builder') && !contains(INPUTS.PLATFORM, 'linux/arm64') }} id: build-rpm-packages + shell: bash env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | @@ -97,6 +98,7 @@ jobs: - name: Run package tests if: ${{ contains(INPUTS.IMAGE, 'testing') }} id: test-rpm-packages + shell: bash run: | docker run --name rpm-testing --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY docker rm rpm-testing @@ -106,6 +108,7 @@ jobs: - name: Run integration test if: ${{ contains(INPUTS.IMAGE, 'integration') }} id: test-integration + shell: bash run: | docker run --name rhel-integration --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT @@ -114,6 +117,7 @@ jobs: - name: Run orchestration test if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration + shell: bash run: | docker run --name rhel-orchestration --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6a615a2b0e4..36e669b0f4c 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -51,6 +51,7 @@ jobs: type=sha - id: metadata-step-output + shell: bash run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _` @@ -63,7 +64,6 @@ jobs: runs-on: ubuntu-latest needs: metadata env: - OUTPUTS: ${{ GITHUB_OUTPUT }} steps: - run: | - echo ${OUTPUTS} >> $GITHUB_STEP_SUMMARY + echo ${GITHUB_OUTPUT} >> $GITHUB_STEP_SUMMARY From e780a3ca0e465ed088420995883b33fced4cacb1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:08:19 +0100 Subject: [PATCH 366/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 36e669b0f4c..ccfa29da162 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -63,7 +63,6 @@ jobs: summary: runs-on: ubuntu-latest needs: metadata - env: steps: - run: | echo ${GITHUB_OUTPUT} >> $GITHUB_STEP_SUMMARY From b7b6920985e6c02fa618234d9183b2d846cf7964 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:25:04 +0100 Subject: [PATCH 367/443] matrix output added. --- .github/workflows/reusable-docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 68a1ce42cfd..42ce887c155 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -65,6 +65,7 @@ jobs: env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | + PLATFORM=linux/amd64 # docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} docker run --name rpm-builder --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') From 0c69dd27cf2db888af103a8566b38dee0268e1e2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:26:58 +0100 Subject: [PATCH 368/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index ccfa29da162..13ba670c6a4 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,4 +65,4 @@ jobs: needs: metadata steps: - run: | - echo ${GITHUB_OUTPUT} >> $GITHUB_STEP_SUMMARY + cat ${GITHUB_OUTPUT} >> $GITHUB_STEP_SUMMARY From d3054ff0a91428e95db5d7394ed72880dd4a73c0 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:28:07 +0100 Subject: [PATCH 369/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 13ba670c6a4..f4f9d8dc366 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -52,9 +52,9 @@ jobs: - id: metadata-step-output shell: bash - run: | - OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' + run: | TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _` + OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo INDEX: ${TARGET} | tr "[:lower:]" "[:upper:]" >> $GITHUB_STEP_SUMMARY From 54324c04f08f919251fc8d2dca43b28d99c466a1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:30:28 +0100 Subject: [PATCH 370/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index f4f9d8dc366..648a9ed307d 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,4 +65,4 @@ jobs: needs: metadata steps: - run: | - cat ${GITHUB_OUTPUT} >> $GITHUB_STEP_SUMMARY + ls -la ${GITHUB_OUTPUT} >> $GITHUB_STEP_SUMMARY From 23a25a893da54f14d9e79eb520ad383f32a2984e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:50:02 +0100 Subject: [PATCH 371/443] matrix output added. --- .github/workflows/reusable-metadata.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 648a9ed307d..767bfc72883 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,16 +53,27 @@ jobs: - id: metadata-step-output shell: bash run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:] | tr - _"` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - - echo INDEX: ${TARGET} | tr "[:lower:]" "[:upper:]" >> $GITHUB_STEP_SUMMARY + echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV + + echo INDEX: ${TARGET} >> $GITHUB_STEP_SUMMARY echo DATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY summary: runs-on: ubuntu-latest needs: metadata + env: + builder: ${{ needs.metadata.outputs.builder }} + testing: ${{ needs.metadata.outputs.testing }} + integration: ${{ needs.metadata.outputs.integration }} + orchestration: ${{ needs.metadata.outputs.orchestration }} steps: - - run: | - ls -la ${GITHUB_OUTPUT} >> $GITHUB_STEP_SUMMARY + - id: metadata-summary + shell: bash + run: | + echo $BUILDER >> $GITHUB_STEP_SUMMARY + echo $TESTING >> $GITHUB_STEP_SUMMARY + echo $INTEGRATION >> $GITHUB_STEP_SUMMARY + echo $ORCHESTRATION >> $GITHUB_STEP_SUMMARY From 55704f9148775553fbd1135340fc7d4505738123 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:51:45 +0100 Subject: [PATCH 372/443] platform. --- .github/workflows/rpm-builder.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 5b15ee19665..7701d2947fe 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -81,7 +81,8 @@ jobs: max-parallel: 5 matrix: # The `platform` is being passed into the shell as variable $RPM_PLATFORM. - platform: [ linux/amd64, linux/arm64 ] + # platform: [ linux/amd64, linux/arm64 ] + platform: [ linux/amd64 ] target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] include: - target: rpm-builder From 651f004a87c763fa1c2c9a15ed13daf748ddc598 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 00:55:13 +0100 Subject: [PATCH 373/443] platform. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 767bfc72883..15a136f365d 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,8 +58,8 @@ jobs: echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV - echo INDEX: ${TARGET} >> $GITHUB_STEP_SUMMARY - echo DATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY + echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY + echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY summary: runs-on: ubuntu-latest From 45887cede66fdb0fecfc8de5bb086dc25f716d07 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:07:20 +0100 Subject: [PATCH 374/443] platform. --- .github/workflows/reusable-docker.yml | 21 ++++++++++++++++----- .github/workflows/rpm-builder.yml | 2 ++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 42ce887c155..5488a5ba5dc 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -17,6 +17,10 @@ on: image: required: true type: string + tag: + default: latest + required: false + type: string platform: default: linux/amd64 required: false @@ -63,11 +67,12 @@ jobs: id: build-rpm-packages shell: bash env: + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} RPM_PLATFORM: ${{ INPUTS.PLATFORM }} run: | PLATFORM=linux/amd64 - # docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet ${{ INPUTS.IMAGE }} - docker run --name rpm-builder --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY + # docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet $$DOCKER_IMAGE + docker run --name rpm-builder --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data @@ -100,8 +105,10 @@ jobs: if: ${{ contains(INPUTS.IMAGE, 'testing') }} id: test-rpm-packages shell: bash + env: + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} run: | - docker run --name rpm-testing --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY + docker run --name rpm-testing --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT @@ -110,8 +117,10 @@ jobs: if: ${{ contains(INPUTS.IMAGE, 'integration') }} id: test-integration shell: bash + env: + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} run: | - docker run --name rhel-integration --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY + docker run --name rhel-integration --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -119,6 +128,8 @@ jobs: if: ${{ contains(INPUTS.DOCKER-IMAGE, 'orchestration') }} id: test-orchestration shell: bash + env: + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} run: | - docker run --name rhel-orchestration --quiet ${{ INPUTS.IMAGE }} >> $GITHUB_STEP_SUMMARY + docker run --name rhel-orchestration --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 7701d2947fe..2bf90a79ae3 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -69,10 +69,12 @@ jobs: subject-name: ghcr.io/${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} subject-digest: ${{ steps.build.outputs.digest }} push-to-registry: true + run-images: uses: ./.github/workflows/reusable-docker.yml needs: build-images with: + registry: 'ghcr.io' image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} platform: ${{ MATRIX.PLATFORM }} secrets: From 1cfd83384a34859e279990f1ff112bb0d61442e0 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:20:40 +0100 Subject: [PATCH 375/443] DOCKER_OPTIONS --- .github/workflows/reusable-docker.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 5488a5ba5dc..988c264d562 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -67,12 +67,13 @@ jobs: id: build-rpm-packages shell: bash env: - DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} RPM_PLATFORM: ${{ INPUTS.PLATFORM }} + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_OPTIONS: '--name rpm-builder --attach STDOUT --attach STDERR --quiet' run: | PLATFORM=linux/amd64 - # docker run --name rpm-builder --env RPM_PLATFORM=$RPM_PLATFORM --quiet $$DOCKER_IMAGE - docker run --name rpm-builder --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + # docker run $DOCKER_OPTIONS --env RPM_PLATFORM=$RPM_PLATFORM $$DOCKER_IMAGE + docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data @@ -107,8 +108,9 @@ jobs: shell: bash env: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_OPTIONS: '--name rpm-testing --attach STDOUT --attach STDERR' run: | - docker run --name rpm-testing --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT @@ -119,8 +121,9 @@ jobs: shell: bash env: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_OPTIONS: '--name rhel-integration --attach STDOUT --attach STDERR --quiet' run: | - docker run --name rhel-integration --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -130,6 +133,7 @@ jobs: shell: bash env: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_OPTIONS: '--name rhel-orchestration --attach STDOUT --attach STDERR --quiet' run: | - docker run --name rhel-orchestration --append STDOUT --append STDERR --quiet $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT From 053329ed854fdf7b0b17704898e8eb4342e18ad7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:25:59 +0100 Subject: [PATCH 376/443] matrix outputs added. --- .github/workflows/reusable-attestation.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml index b92d384a304..f81dbd2dcf2 100644 --- a/.github/workflows/reusable-attestation.yml +++ b/.github/workflows/reusable-attestation.yml @@ -26,10 +26,13 @@ on: description: "Artifact attestation output" jobs: - artifact-attestation-matrix: + artifact-attestation: runs-on: ubuntu-latest outputs: - attestation: ${{ steps.metadata.outputs.metadata_rpm_builder }} + builder: ${{ steps.attestation.outputs.attestation_rpm_builder }} + testing: ${{ steps.attestation.outputs.attestation_rpm_testing }} + integration: ${{ steps.attestation.outputs.attestation_rhel_integration }} + orchestration: ${{ steps.attestation.outputs.attestation_rhel_orchestration }} strategy: max-parallel: 4 matrix: @@ -55,17 +58,17 @@ jobs: shell: bash run: | OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - TARGET=`echo metadata-${{ MATRIX.TARGET }}} | tr - _` + TARGET=`echo attestation-${{ MATRIX.TARGET }}} | tr - _` echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY echo METADATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY - artifact-attestation-matrix-output: + artifact-attestation-output: runs-on: ubuntu-latest - needs: artifact-attestation-matrix + needs: artifact-attestation steps: - shell: bash run: | - echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY - echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_OUTPUT + # echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY + # echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_OUTPUT From fd24e13bd92d512a9b0a3ea3448341ae292a9a79 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:31:01 +0100 Subject: [PATCH 377/443] DOCKER_OPTIONS --- .github/workflows/reusable-docker.yml | 11 +++++------ .github/workflows/rpm-builder.yml | 3 ++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 988c264d562..7d17b7670d5 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -11,8 +11,7 @@ on: required: false type: string username: - default: ${{ GITHUB.ACTOR }} - required: false + required: true type: string image: required: true @@ -68,7 +67,7 @@ jobs: shell: bash env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} - DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} DOCKER_OPTIONS: '--name rpm-builder --attach STDOUT --attach STDERR --quiet' run: | PLATFORM=linux/amd64 @@ -107,7 +106,7 @@ jobs: id: test-rpm-packages shell: bash env: - DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} DOCKER_OPTIONS: '--name rpm-testing --attach STDOUT --attach STDERR' run: | docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY @@ -120,7 +119,7 @@ jobs: id: test-integration shell: bash env: - DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} DOCKER_OPTIONS: '--name rhel-integration --attach STDOUT --attach STDERR --quiet' run: | docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY @@ -132,7 +131,7 @@ jobs: id: test-orchestration shell: bash env: - DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} + DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} DOCKER_OPTIONS: '--name rhel-orchestration --attach STDOUT --attach STDERR --quiet' run: | docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 2bf90a79ae3..2503a318b8c 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -75,7 +75,8 @@ jobs: needs: build-images with: registry: 'ghcr.io' - image: ${{ GITHUB.ACTOR }}/${{ MATRIX.TARGET }} + username: ${{ GITHUB.ACTOR }} + image: ${{ MATRIX.TARGET }} platform: ${{ MATRIX.PLATFORM }} secrets: token: ${{ SECRETS.GITHUB_TOKEN }} From c8bb0dbae88933bdc6b9be152c6e88d80ed89b66 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:34:03 +0100 Subject: [PATCH 378/443] DOCKER_OPTIONS --- .github/workflows/reusable-docker.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 7d17b7670d5..a05ca4053a2 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -46,7 +46,8 @@ jobs: testing: ${{ steps.test-rpm-packages.outputs.result }} integration: ${{ steps.test-integration.outputs.result }} orchestration: ${{ steps.test-orchestration.outputs.result }} - + env: + DEFAULT_OPTIONS: '--attach STDOUT --attach STDERR --quiet' steps: # https://github.com/docker/login-action @@ -68,11 +69,10 @@ jobs: env: RPM_PLATFORM: ${{ INPUTS.PLATFORM }} DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} - DOCKER_OPTIONS: '--name rpm-builder --attach STDOUT --attach STDERR --quiet' + DOCKER_OPTIONS: '--name rpm-builder' run: | - PLATFORM=linux/amd64 - # docker run $DOCKER_OPTIONS --env RPM_PLATFORM=$RPM_PLATFORM $$DOCKER_IMAGE - docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + # docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS --env RPM_PLATFORM=$RPM_PLATFORM $$DOCKER_IMAGE + docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data @@ -107,9 +107,9 @@ jobs: shell: bash env: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} - DOCKER_OPTIONS: '--name rpm-testing --attach STDOUT --attach STDERR' + DOCKER_OPTIONS: '--name rpm-testing' run: | - docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY docker rm rpm-testing echo "result=ok" >> $GITHUB_OUTPUT @@ -120,9 +120,9 @@ jobs: shell: bash env: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} - DOCKER_OPTIONS: '--name rhel-integration --attach STDOUT --attach STDERR --quiet' + DOCKER_OPTIONS: '--name rhel-integration' run: | - docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT # https://docs.docker.com/reference/cli/docker/container/run/ @@ -132,7 +132,7 @@ jobs: shell: bash env: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} - DOCKER_OPTIONS: '--name rhel-orchestration --attach STDOUT --attach STDERR --quiet' + DOCKER_OPTIONS: '--name rhel-orchestration' run: | - docker run $DOCKER_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY echo "result=ok" >> $GITHUB_OUTPUT From c8270cee52eb726302563a5f261de0fae5f104b7 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:41:47 +0100 Subject: [PATCH 379/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 15a136f365d..94cc4f23157 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,6 +58,11 @@ jobs: echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV + ls la $HOME + FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _"` + cat $OUTPUTS >> $HOME/&FILENAME + stat $HOME/&FILENAME + echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY From e839b55cc92b85230157d6970817ee76d5e28da8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:43:46 +0100 Subject: [PATCH 380/443] DOCKER_OPTIONS --- .github/workflows/rpm-builder.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 2503a318b8c..c2b95459448 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -86,7 +86,8 @@ jobs: # The `platform` is being passed into the shell as variable $RPM_PLATFORM. # platform: [ linux/amd64, linux/arm64 ] platform: [ linux/amd64 ] - target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] + # target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] + target: [ rpm-builder, rpm-testing ] include: - target: rpm-builder stage: builder From b90c7a9a311eac329532842bf4d734fe30442b43 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:51:53 +0100 Subject: [PATCH 381/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 94cc4f23157..6e03016a782 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,15 +53,15 @@ jobs: - id: metadata-step-output shell: bash run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:] | tr - _"` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _"` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV ls la $HOME - FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _"` - cat $OUTPUTS >> $HOME/&FILENAME - stat $HOME/&FILENAME + FILENAME=`echo | tr - _"` + cat $OUTPUTS >> $HOME/$TARGET.json + stat $HOME/$TARGET.json >> $GITHUB_STEP_SUMMARY echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY From 87bb4a7c3c576131b5d4a0628177bde95f728fb1 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:56:27 +0100 Subject: [PATCH 382/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6e03016a782..cbc8a5926f5 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -53,15 +53,15 @@ jobs: - id: metadata-step-output shell: bash run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _"` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:] | tr - _"` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV ls la $HOME - FILENAME=`echo | tr - _"` - cat $OUTPUTS >> $HOME/$TARGET.json - stat $HOME/$TARGET.json >> $GITHUB_STEP_SUMMARY + FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _"` + cat $OUTPUTS >> $HOME/$FILENAME + stat $HOME/$FILENAME >> $GITHUB_STEP_SUMMARY echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY From b8ba0c953e8f0b96df2d225c1f8957bf1fb280d9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:57:23 +0100 Subject: [PATCH 383/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index cbc8a5926f5..94258ad90bb 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,7 +58,7 @@ jobs: echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV - ls la $HOME + ls -la $HOME >> $GITHUB_STEP_SUMMARY FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _"` cat $OUTPUTS >> $HOME/$FILENAME stat $HOME/$FILENAME >> $GITHUB_STEP_SUMMARY From 3b947ff9471f1e2c8d0b27a052411f2564a59a2d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 01:59:58 +0100 Subject: [PATCH 384/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 94258ad90bb..6e9d2d33cf7 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -5,6 +5,8 @@ on: secrets: token: required: true + env: + TEMP: ${{ RUNNER.TEMP }} inputs: registry: default: 'ghcr.io' @@ -58,10 +60,10 @@ jobs: echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV - ls -la $HOME >> $GITHUB_STEP_SUMMARY + ls -la $TEMP >> $GITHUB_STEP_SUMMARY FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _"` - cat $OUTPUTS >> $HOME/$FILENAME - stat $HOME/$FILENAME >> $GITHUB_STEP_SUMMARY + cat $OUTPUTS >> $TEMP/$FILENAME + stat $TEMP/$FILENAME >> $GITHUB_STEP_SUMMARY echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY From 466aba22e96eb125c1bb8f5b446dc2af6b257b59 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:01:26 +0200 Subject: [PATCH 385/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 6e9d2d33cf7..1065d060655 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -6,7 +6,7 @@ on: token: required: true env: - TEMP: ${{ RUNNER.TEMP }} + TMPDIR: ${{ RUNNER.TEMP }} inputs: registry: default: 'ghcr.io' @@ -60,10 +60,10 @@ jobs: echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV - ls -la $TEMP >> $GITHUB_STEP_SUMMARY + ls -la $TMPDIR >> $GITHUB_STEP_SUMMARY FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _"` - cat $OUTPUTS >> $TEMP/$FILENAME - stat $TEMP/$FILENAME >> $GITHUB_STEP_SUMMARY + cat $OUTPUTS >> $TMPDIR/$FILENAME + stat $TMPDIR/$FILENAME >> $GITHUB_STEP_SUMMARY echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY From 98c27a3286de34fd8e5e423a27afc59147721fd4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:02:54 +0200 Subject: [PATCH 386/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 1065d060655..a160f0f02a6 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -5,8 +5,6 @@ on: secrets: token: required: true - env: - TMPDIR: ${{ RUNNER.TEMP }} inputs: registry: default: 'ghcr.io' @@ -54,6 +52,8 @@ jobs: - id: metadata-step-output shell: bash + env: + TMPDIR: ${{ RUNNER.TEMP }} run: | TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:] | tr - _"` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' From 2528471582766c61b24b7477350aa915bc831feb Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:04:44 +0200 Subject: [PATCH 387/443] typo. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index a160f0f02a6..bd80fef68de 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -55,7 +55,7 @@ jobs: env: TMPDIR: ${{ RUNNER.TEMP }} run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:] | tr - _"` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:]" | tr - _"` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV From d4b2ff6fc2319f46aa7b13f606dc61903526fbad Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:05:41 +0200 Subject: [PATCH 388/443] typo. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index bd80fef68de..2ab13e0f1cd 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -55,7 +55,7 @@ jobs: env: TMPDIR: ${{ RUNNER.TEMP }} run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:]" | tr - _"` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _"` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV From 86d723ce49f4099a6abfd044b8b93097e6358f06 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:07:05 +0200 Subject: [PATCH 389/443] typo. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 2ab13e0f1cd..038c3afe5d5 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -55,13 +55,13 @@ jobs: env: TMPDIR: ${{ RUNNER.TEMP }} run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr - _"` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:]" | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV ls -la $TMPDIR >> $GITHUB_STEP_SUMMARY - FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _"` + FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _` cat $OUTPUTS >> $TMPDIR/$FILENAME stat $TMPDIR/$FILENAME >> $GITHUB_STEP_SUMMARY From 93a8aeb80d5c3dd81c2f7d96877a9e21f30ba184 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:09:45 +0200 Subject: [PATCH 390/443] typo. --- .github/workflows/reusable-metadata.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 038c3afe5d5..a3c04a28fb3 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -31,8 +31,8 @@ jobs: strategy: max-parallel: 4 matrix: - target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] - + # target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] + target: [ rpm-builder, rpm-testing ] steps: - uses: 'docker/login-action@v3' @@ -55,7 +55,7 @@ jobs: env: TMPDIR: ${{ RUNNER.TEMP }} run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr "[:lower:]" "[:upper:]" | tr - _` + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV From 3c2c88fd24478f1f900e786cb6b754635af5adfc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:13:03 +0200 Subject: [PATCH 391/443] typo. --- .github/workflows/reusable-metadata.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index a3c04a28fb3..3d6515c56ef 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -55,16 +55,16 @@ jobs: env: TMPDIR: ${{ RUNNER.TEMP }} run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` - OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV ls -la $TMPDIR >> $GITHUB_STEP_SUMMARY FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _` cat $OUTPUTS >> $TMPDIR/$FILENAME - stat $TMPDIR/$FILENAME >> $GITHUB_STEP_SUMMARY + ls -la $TMPDIR >> $GITHUB_STEP_SUMMARY + TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` + OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' + echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT + echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY From 6a13df505b269817d95d58c16b9061bb2a36ed01 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:15:58 +0200 Subject: [PATCH 392/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 3d6515c56ef..c8afa05d81b 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,9 +56,8 @@ jobs: TMPDIR: ${{ RUNNER.TEMP }} run: | - ls -la $TMPDIR >> $GITHUB_STEP_SUMMARY FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _` - cat $OUTPUTS >> $TMPDIR/$FILENAME + cat $OUTPUTS > $TMPDIR/$FILENAME ls -la $TMPDIR >> $GITHUB_STEP_SUMMARY TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` From a10ba15387bef0f8b57e927401bd62b913cec6e2 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:20:40 +0200 Subject: [PATCH 393/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c8afa05d81b..c51083b6929 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -67,6 +67,11 @@ jobs: echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY + - uses: actions/upload-artifact@v4 + with: + name: metadata-${{ MATRIX.TARGET }} + path: ${{ RUNNER.TEMP }}/${{ MATRIX.TARGET }}.json + summary: runs-on: ubuntu-latest needs: metadata From 0de9a787260c7b52ba51e1c98fbe1c7264de1698 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:22:53 +0200 Subject: [PATCH 394/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c51083b6929..8355a7f2906 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -70,7 +70,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: metadata-${{ MATRIX.TARGET }} - path: ${{ RUNNER.TEMP }}/${{ MATRIX.TARGET }}.json + path: ${{ TMPDIR }}/${{ MATRIX.TARGET }}.json summary: runs-on: ubuntu-latest From a4553e9cf8ab68f104a1f9c943e4123bb43a2411 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:26:23 +0200 Subject: [PATCH 395/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 8355a7f2906..044d5749a8b 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,9 +56,9 @@ jobs: TMPDIR: ${{ RUNNER.TEMP }} run: | - FILENAME=`echo ${{ MATRIX.TARGET }}.json | tr - _` - cat $OUTPUTS > $TMPDIR/$FILENAME - ls -la $TMPDIR >> $GITHUB_STEP_SUMMARY + FILE_NAME=${{ MATRIX.TARGET }}.json + cat $OUTPUTS > $FILE_NAME + ls -la >> $GITHUB_STEP_SUMMARY TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' @@ -70,7 +70,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: metadata-${{ MATRIX.TARGET }} - path: ${{ TMPDIR }}/${{ MATRIX.TARGET }}.json + path: ${{ MATRIX.TARGET }}.json summary: runs-on: ubuntu-latest From 8edce612bde0e47723e8b5fd6e31a8d0d110c5e4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:37:32 +0200 Subject: [PATCH 396/443] typo. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 044d5749a8b..3f6088bd776 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,7 +58,7 @@ jobs: FILE_NAME=${{ MATRIX.TARGET }}.json cat $OUTPUTS > $FILE_NAME - ls -la >> $GITHUB_STEP_SUMMARY + stat $FILE_NAME >> $GITHUB_STEP_SUMMARY TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' From 8605842735d9968d29b8a5b42994edec89d63553 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:42:19 +0200 Subject: [PATCH 397/443] typo. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index c2b95459448..780d385e6b7 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -81,7 +81,7 @@ jobs: secrets: token: ${{ SECRETS.GITHUB_TOKEN }} strategy: - max-parallel: 5 + max-parallel: 1 matrix: # The `platform` is being passed into the shell as variable $RPM_PLATFORM. # platform: [ linux/amd64, linux/arm64 ] From ab5f200f6e2b540395c3a5f009790f4bb73618a9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:44:25 +0200 Subject: [PATCH 398/443] typo. --- .github/workflows/reusable-metadata.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 3f6088bd776..78a335bd22c 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -59,6 +59,7 @@ jobs: FILE_NAME=${{ MATRIX.TARGET }}.json cat $OUTPUTS > $FILE_NAME stat $FILE_NAME >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' From 4e987eeb08a087a1b739d2af1aa925db7a96a38f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:53:15 +0200 Subject: [PATCH 399/443] typo. --- .github/workflows/reusable-metadata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 78a335bd22c..1300338c910 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,7 +56,7 @@ jobs: TMPDIR: ${{ RUNNER.TEMP }} run: | - FILE_NAME=${{ MATRIX.TARGET }}.json + FILE_NAME=${{ ENV.GITHUB_WORKSPACE }}/${{ MATRIX.TARGET }}.json cat $OUTPUTS > $FILE_NAME stat $FILE_NAME >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY @@ -71,7 +71,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: metadata-${{ MATRIX.TARGET }} - path: ${{ MATRIX.TARGET }}.json + path: ${{ ENV.GITHUB_WORKSPACE }}/${{ MATRIX.TARGET }}.json summary: runs-on: ubuntu-latest From c3ca2158473ade11b8852133c8f1571b2f8f9f13 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:56:29 +0200 Subject: [PATCH 400/443] typo. --- .github/workflows/reusable-metadata.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 1300338c910..c1cbd55a8a1 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,6 +58,7 @@ jobs: FILE_NAME=${{ ENV.GITHUB_WORKSPACE }}/${{ MATRIX.TARGET }}.json cat $OUTPUTS > $FILE_NAME + chmod 644 $FILE_NAME stat $FILE_NAME >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY From 971ef4b5731c745217039d195d56428350d8e748 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:58:30 +0200 Subject: [PATCH 401/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index c1cbd55a8a1..ee3ebcd2e4e 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -56,7 +56,7 @@ jobs: TMPDIR: ${{ RUNNER.TEMP }} run: | - FILE_NAME=${{ ENV.GITHUB_WORKSPACE }}/${{ MATRIX.TARGET }}.json + FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json cat $OUTPUTS > $FILE_NAME chmod 644 $FILE_NAME stat $FILE_NAME >> $GITHUB_STEP_SUMMARY From 2beb0507ac787a85413488fa5e1d59559387b735 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 03:59:48 +0200 Subject: [PATCH 402/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index ee3ebcd2e4e..821a0ce36ce 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -55,19 +55,18 @@ jobs: env: TMPDIR: ${{ RUNNER.TEMP }} run: | - - FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json - cat $OUTPUTS > $FILE_NAME - chmod 644 $FILE_NAME - stat $FILE_NAME >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY + + echo "" >> $GITHUB_STEP_SUMMARY + FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json + cat $OUTPUTS > $FILE_NAME + chmod 644 $FILE_NAME + stat $FILE_NAME >> $GITHUB_STEP_SUMMARY - uses: actions/upload-artifact@v4 with: From e9dec65f9ce7dc0db23143be25a1a76e5d9fc94b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:01:48 +0200 Subject: [PATCH 403/443] DOCKER_OPTIONS --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 821a0ce36ce..f75543bb6e9 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -71,7 +71,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: metadata-${{ MATRIX.TARGET }} - path: ${{ ENV.GITHUB_WORKSPACE }}/${{ MATRIX.TARGET }}.json + path: /home/runner/work/android-cuttlefish/android-cuttlefish/${{ MATRIX.TARGET }}.json summary: runs-on: ubuntu-latest From 1215a09f68107bea64817da8eaae8bb014c11b9b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:03:23 +0200 Subject: [PATCH 404/443] typo. --- .github/workflows/reusable-metadata.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index f75543bb6e9..fb552abd091 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -60,9 +60,8 @@ jobs: echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY - echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY - - echo "" >> $GITHUB_STEP_SUMMARY + # echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY + # echo "" >> $GITHUB_STEP_SUMMARY FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json cat $OUTPUTS > $FILE_NAME chmod 644 $FILE_NAME From 7ba7f61582247ca8f4b453684539b21c835547a9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:08:29 +0200 Subject: [PATCH 405/443] DOCKER_OPTIONS --- docker/rpm-builder/buildscript.sh | 1 + tools/buildutils/build_packages.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 5b64cdedfe0..6ed38dc01d3 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +# The file deployed seems stuck. REPO_NAME=android-cuttlefish REPO_OWNER=syslogic diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index 4478100592b..7037176326c 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -32,6 +32,7 @@ function build_spec() { rpmbuild --define "_topdir `pwd`/tools/rpmbuild" -v -ba $specfile } +which dnf if [[ -f /usr/bin/dnf ]]; then build_spec cuttlefish_base.spec build_spec cuttlefish_user.spec From 2991a83035b0edbb67ecedb2fec729badf7a7aa4 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:10:40 +0200 Subject: [PATCH 406/443] script updated. --- tools/buildutils/build_packages.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index 7037176326c..732798b664a 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -27,13 +27,14 @@ function build_package() { function build_spec() { local specfile="${REPO_DIR}/tools/rpmbuild/SPECS/$1" echo "Installing package dependencies" - sudo dnf builddep --skip-unavailable $specfile + sudo dnf builddep --skip-unavailable "$specfile" echo "Building packages" - rpmbuild --define "_topdir `pwd`/tools/rpmbuild" -v -ba $specfile + rpmbuild --define "_topdir $(pwd)/tools/rpmbuild" -v -ba "$specfile" } which dnf -if [[ -f /usr/bin/dnf ]]; then + +if [[ -f /bin/dnf ]]; then build_spec cuttlefish_base.spec build_spec cuttlefish_user.spec build_spec cuttlefish_integration.spec From 5190d467df8b76784ed1a780e053cf7c21102c58 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:12:50 +0200 Subject: [PATCH 407/443] script updated. --- .github/workflows/reusable-metadata.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index fb552abd091..4126b1ed6c0 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -57,15 +57,16 @@ jobs: run: | TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' + + FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json + cat $OUTPUTS > $FILE_NAME + stat $FILE_NAME >> $GITHUB_STEP_SUMMARY + echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY # echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY # echo "" >> $GITHUB_STEP_SUMMARY - FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json - cat $OUTPUTS > $FILE_NAME - chmod 644 $FILE_NAME - stat $FILE_NAME >> $GITHUB_STEP_SUMMARY - uses: actions/upload-artifact@v4 with: From 53d39e0f3ba47e09034948c6e94403429dcb2f09 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:14:20 +0200 Subject: [PATCH 408/443] typo. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 4126b1ed6c0..231605c68ae 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -59,7 +59,7 @@ jobs: OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json - cat $OUTPUTS > $FILE_NAME + echo $OUTPUTS > $FILE_NAME stat $FILE_NAME >> $GITHUB_STEP_SUMMARY echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT From b94f8728d92961c7a0494810861c7377fb8a0269 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:16:18 +0200 Subject: [PATCH 409/443] script updated. --- .github/workflows/reusable-metadata.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 231605c68ae..fc67505a4f2 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -57,16 +57,14 @@ jobs: run: | TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - + + echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json echo $OUTPUTS > $FILE_NAME stat $FILE_NAME >> $GITHUB_STEP_SUMMARY - - echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - echo ${TARGET}=${OUTPUTS} >> $GITHUB_ENV - echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY - # echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY + # echo "" >> $GITHUB_STEP_SUMMARY + # echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY - uses: actions/upload-artifact@v4 with: From e9990b37e4dc8c6627935a65f8bcbd3f66afbf1e Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:21:10 +0200 Subject: [PATCH 410/443] script updated. --- .github/workflows/reusable-metadata.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index fc67505a4f2..0f8df40746f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -31,8 +31,7 @@ jobs: strategy: max-parallel: 4 matrix: - # target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] - target: [ rpm-builder, rpm-testing ] + target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] steps: - uses: 'docker/login-action@v3' @@ -83,7 +82,7 @@ jobs: - id: metadata-summary shell: bash run: | - echo $BUILDER >> $GITHUB_STEP_SUMMARY - echo $TESTING >> $GITHUB_STEP_SUMMARY - echo $INTEGRATION >> $GITHUB_STEP_SUMMARY - echo $ORCHESTRATION >> $GITHUB_STEP_SUMMARY + stat $GITHUB_WORKSPACE/rpm-builder.json >> $GITHUB_STEP_SUMMARY + stat $GITHUB_WORKSPACE/rpm-testing.json >> $GITHUB_STEP_SUMMARY + stat $GITHUB_WORKSPACE/rhel-integration.json >> $GITHUB_STEP_SUMMARY + stat $GITHUB_WORKSPACE/rhel-orchestration >> $GITHUB_STEP_SUMMARY From 4a97ebf6021d0492f0a010110e46a1186ca17798 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:23:28 +0200 Subject: [PATCH 411/443] script updated. --- docker/rpm-builder/buildscript.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 6ed38dc01d3..9de56edaa6c 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # The file deployed seems stuck. -REPO_NAME=android-cuttlefish -REPO_OWNER=syslogic +REPO_NAME='android-cuttlefish' +REPO_OWNER='syslogic' git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -if [[ ${REPO_OWNER} = syslogic ]]; then git switch rpm-build; fi +if [[ ${REPO_OWNER} = 'syslogic' ]]; then git switch rpm-build; fi ./tools/buildutils/build_packages.sh tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm From 179c5a56015c87bf1df96812b04f71037dc5256f Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:27:02 +0200 Subject: [PATCH 412/443] script updated. --- .github/workflows/reusable-metadata.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 0f8df40746f..79c6a7a5c42 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -58,7 +58,7 @@ jobs: OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY - FILE_NAME=$GITHUB_WORKSPACE/${{ MATRIX.TARGET }}.json + FILE_NAME=$GITHUB_WORKSPACE/metadata-${{ MATRIX.TARGET }}.json echo $OUTPUTS > $FILE_NAME stat $FILE_NAME >> $GITHUB_STEP_SUMMARY @@ -82,7 +82,7 @@ jobs: - id: metadata-summary shell: bash run: | - stat $GITHUB_WORKSPACE/rpm-builder.json >> $GITHUB_STEP_SUMMARY - stat $GITHUB_WORKSPACE/rpm-testing.json >> $GITHUB_STEP_SUMMARY - stat $GITHUB_WORKSPACE/rhel-integration.json >> $GITHUB_STEP_SUMMARY - stat $GITHUB_WORKSPACE/rhel-orchestration >> $GITHUB_STEP_SUMMARY + # stat $GITHUB_WORKSPACE/metadata-rpm-builder.json >> $GITHUB_STEP_SUMMARY + # stat $GITHUB_WORKSPACE/metadata-rpm-testing.json >> $GITHUB_STEP_SUMMARY + # stat $GITHUB_WORKSPACE/metadata-rhel-integration.json >> $GITHUB_STEP_SUMMARY + # stat $GITHUB_WORKSPACE/metadata-rhel-orchestration >> $GITHUB_STEP_SUMMARY From b2e4e8251c456a695aced57c594d624abbcfb1bb Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:30:33 +0200 Subject: [PATCH 413/443] script updated. --- .github/workflows/reusable-metadata.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 79c6a7a5c42..d4fb0087e7f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -16,7 +16,7 @@ on: type: string outputs: metadata: - value: ${{ jobs.metadata-output.outputs }} + value: ${{ jobs.metadata-output.outputs.metadata }} description: "Metadata output" jobs: @@ -73,12 +73,16 @@ jobs: summary: runs-on: ubuntu-latest needs: metadata - env: + outputs: builder: ${{ needs.metadata.outputs.builder }} testing: ${{ needs.metadata.outputs.testing }} integration: ${{ needs.metadata.outputs.integration }} orchestration: ${{ needs.metadata.outputs.orchestration }} steps: + - uses: actions/download-artifact@v4 + with: + name: metadata-rpm-builder + - id: metadata-summary shell: bash run: | From 5df6015365dd706d36dbb76b56e3dca3e4b4d7d5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:32:41 +0200 Subject: [PATCH 414/443] script updated. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index d4fb0087e7f..341b1deae6d 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -68,7 +68,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: metadata-${{ MATRIX.TARGET }} - path: /home/runner/work/android-cuttlefish/android-cuttlefish/${{ MATRIX.TARGET }}.json + path: ${{ GITHUB_WORKSPACE }}/${{ MATRIX.TARGET }}.json summary: runs-on: ubuntu-latest From efe64a18910ece4c11d80f9b7584559dbc22dc43 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:34:44 +0200 Subject: [PATCH 415/443] script updated. --- docker/rpm-builder/buildscript.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 9de56edaa6c..7ae54697e7b 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -6,7 +6,9 @@ REPO_OWNER='syslogic' git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -if [[ ${REPO_OWNER} = 'syslogic' ]]; then git switch rpm-build; fi +if [[ $REPO_OWNER = 'syslogic' ]]; then git switch rpm-build; fi +git switch rpm-build; + ./tools/buildutils/build_packages.sh tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm From beeb503ca723eb064e2216a5a15d6f58b18eaf1a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:35:45 +0200 Subject: [PATCH 416/443] script updated. --- .github/workflows/reusable-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 341b1deae6d..d4fb0087e7f 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -68,7 +68,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: metadata-${{ MATRIX.TARGET }} - path: ${{ GITHUB_WORKSPACE }}/${{ MATRIX.TARGET }}.json + path: /home/runner/work/android-cuttlefish/android-cuttlefish/${{ MATRIX.TARGET }}.json summary: runs-on: ubuntu-latest From cd4741a75d86d030b043eb675d74517267402f84 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:37:19 +0200 Subject: [PATCH 417/443] script updated. --- .github/workflows/reusable-metadata.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index d4fb0087e7f..4dee4347538 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -78,10 +78,11 @@ jobs: testing: ${{ needs.metadata.outputs.testing }} integration: ${{ needs.metadata.outputs.integration }} orchestration: ${{ needs.metadata.outputs.orchestration }} + steps: - - uses: actions/download-artifact@v4 - with: - name: metadata-rpm-builder + # - uses: actions/download-artifact@v4 + # with: + # name: metadata-rpm-builder - id: metadata-summary shell: bash From de8b3cc2b1aed21fa500944400b4c026c82b484d Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:39:41 +0200 Subject: [PATCH 418/443] dependency removed. --- .github/workflows/rpm-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 780d385e6b7..14cfb91bc3f 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -6,7 +6,7 @@ jobs: build-images: runs-on: ubuntu-latest - needs: collect-metadata + # needs: collect-metadata permissions: contents: read packages: write From e45cce46a42fc689dbf8198eb11125b5a34c0680 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:41:38 +0200 Subject: [PATCH 419/443] dependency removed. --- .github/workflows/reusable-metadata.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml index 4dee4347538..f54b4896631 100644 --- a/.github/workflows/reusable-metadata.yml +++ b/.github/workflows/reusable-metadata.yml @@ -65,10 +65,10 @@ jobs: # echo "" >> $GITHUB_STEP_SUMMARY # echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY - - uses: actions/upload-artifact@v4 - with: - name: metadata-${{ MATRIX.TARGET }} - path: /home/runner/work/android-cuttlefish/android-cuttlefish/${{ MATRIX.TARGET }}.json + # - uses: actions/upload-artifact@v4 + # with: + # name: metadata-${{ MATRIX.TARGET }} + # path: /home/runner/work/android-cuttlefish/android-cuttlefish/${{ MATRIX.TARGET }}.json summary: runs-on: ubuntu-latest From 4c05fec691336d9c7a32df1b086f4ea9c4997f64 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:50:05 +0200 Subject: [PATCH 420/443] dependency removed. --- docker/rpm-builder/buildscript.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 7ae54697e7b..9f1854cdc0c 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,15 +1,13 @@ #!/usr/bin/env bash # The file deployed seems stuck. -REPO_NAME='android-cuttlefish' -REPO_OWNER='syslogic' +REPO_NAME=android-cuttlefish +REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit - -if [[ $REPO_OWNER = 'syslogic' ]]; then git switch rpm-build; fi +# if [[ $REPO_OWNER = 'syslogic' ]]; then git switch rpm-build; fi git switch rpm-build; ./tools/buildutils/build_packages.sh - tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm ls -la ~ From 65ad6c571a5002f743bd470fb4bc790f22954fa3 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 04:56:23 +0200 Subject: [PATCH 421/443] container script updated. --- docker/rpm-builder/Dockerfile | 4 ++-- docker/rpm-builder/buildscript.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 651b3eae959..d41667818fc 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -37,7 +37,7 @@ protobuf protobuf-devel protobuf-compiler && dnf clean all # Add entrypoint script. COPY ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] # Run go install `bazelisk`. RUN go install github.com/bazelbuild/bazelisk@latest @@ -51,7 +51,7 @@ RUN dnf -y install libwayland-* && dnf clean all # Add entrypoint script. COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] # Integration Test diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 9f1854cdc0c..009f9806897 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -5,7 +5,7 @@ REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -# if [[ $REPO_OWNER = 'syslogic' ]]; then git switch rpm-build; fi +# if [[ $REPO_OWNER = syslogic ]]; then git switch rpm-build; fi git switch rpm-build; ./tools/buildutils/build_packages.sh From 94fe25e124d47a31f99d5d157a77a89c29eec721 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:01:05 +0200 Subject: [PATCH 422/443] container script updated. --- docker/rpm-builder/buildscript.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 009f9806897..b2a9b0bb362 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,12 +1,12 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # The file deployed seems stuck. REPO_NAME=android-cuttlefish REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -# if [[ $REPO_OWNER = syslogic ]]; then git switch rpm-build; fi -git switch rpm-build; +if [ $REPO_OWNER = syslogic ]; then git switch rpm-build; fi +# git switch rpm-build; ./tools/buildutils/build_packages.sh tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm From 70455ed56587e2e4ac63a49d0ddd44952ea27a28 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:03:22 +0200 Subject: [PATCH 423/443] entrypoint.sh --- docker/rpm-builder/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index d41667818fc..0725d2ace66 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -35,7 +35,7 @@ RUN dnf -y install rpm-build golang-bin curl-devel wayland-devel ncurses-compat- protobuf protobuf-devel protobuf-compiler && dnf clean all # Add entrypoint script. -COPY ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh +ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] @@ -49,7 +49,7 @@ FROM base AS testing RUN dnf -y install libwayland-* && dnf clean all # Add entrypoint script. -COPY ./docker/rpm-builder/testscript.sh /root/entrypoint.sh +ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] From 12bb94eeb13b1a6a1270c357c2dc9bf27c216146 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:14:49 +0200 Subject: [PATCH 424/443] container script updated. --- docker/rpm-builder/Dockerfile | 4 ++-- docker/rpm-builder/buildscript.sh | 6 +++--- tools/buildutils/build_packages.sh | 4 +--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 0725d2ace66..185fa407ab3 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -56,7 +56,7 @@ ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] # Integration Test FROM base AS integration -ENTRYPOINT [ "/bin/bash" ] +ENTRYPOINT [ "/bin/sh" ] # Runtime Dependencies RUN dnf -y install qemu-kvm && dnf clean all @@ -73,7 +73,7 @@ EXPOSE 6520-6620 # Orchestration Test FROM base AS orchestration -ENTRYPOINT [ "/bin/bash" ] +ENTRYPOINT [ "/bin/sh" ] # Runtime Dependencies RUN dnf -y install nginx systemd-journal-remote && dnf clean all diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index b2a9b0bb362..480d76d5797 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -5,9 +5,9 @@ REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -if [ $REPO_OWNER = syslogic ]; then git switch rpm-build; fi -# git switch rpm-build; +# if [ $REPO_OWNER = syslogic ]; then git switch rpm-build; fi +git switch rpm-build; -./tools/buildutils/build_packages.sh +./tools/buildutils/build_packages.sh rpmbuild tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm ls -la ~ diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index 732798b664a..2313c1d5080 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -32,9 +32,7 @@ function build_spec() { rpmbuild --define "_topdir $(pwd)/tools/rpmbuild" -v -ba "$specfile" } -which dnf - -if [[ -f /bin/dnf ]]; then +if [[ -f /bin/dnf || $1 = rpmbuild ]]; then build_spec cuttlefish_base.spec build_spec cuttlefish_user.spec build_spec cuttlefish_integration.spec From b97ad09d5b3d80ca1c50ac69b3b141a0301e3674 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:27:28 +0200 Subject: [PATCH 425/443] bash installed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 185fa407ab3..ce491855954 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -11,7 +11,7 @@ WORKDIR "/root" VOLUME "/root" # The EPEL repository installs `dnf-core-plugin` (`config-manager` and `builddeps`) and provides `ncurses-compat-libs`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo git dos2unix nano && dnf -y upgrade +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm bash sudo git dos2unix nano && dnf -y upgrade # Configuring further package repositories: / https://wiki.rockylinux.org/rocky/repo/#extra-repositories RUN dnf config-manager --set-enabled crb && dnf config-manager --set-disabled extras && dnf clean all From b85987ce704f7f1ca9f848050de1cfbea57189d8 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:29:03 +0200 Subject: [PATCH 426/443] bash installed. --- docker/rpm-builder/Dockerfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index ce491855954..a5465568d2c 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -7,6 +7,7 @@ LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/g # Base Image FROM rockylinux AS base +ENTRYPOINT [ "/bin/bash" ] WORKDIR "/root" VOLUME "/root" @@ -37,7 +38,7 @@ protobuf protobuf-devel protobuf-compiler && dnf clean all # Add entrypoint script. ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] # Run go install `bazelisk`. RUN go install github.com/bazelbuild/bazelisk@latest @@ -51,12 +52,11 @@ RUN dnf -y install libwayland-* && dnf clean all # Add entrypoint script. ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] # Integration Test FROM base AS integration -ENTRYPOINT [ "/bin/sh" ] # Runtime Dependencies RUN dnf -y install qemu-kvm && dnf clean all @@ -73,7 +73,6 @@ EXPOSE 6520-6620 # Orchestration Test FROM base AS orchestration -ENTRYPOINT [ "/bin/sh" ] # Runtime Dependencies RUN dnf -y install nginx systemd-journal-remote && dnf clean all From 908f251024df3e0070a6851ec74d74c56af0a44a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:31:43 +0200 Subject: [PATCH 427/443] bash installed. --- docker/rpm-builder/buildscript.sh | 6 ++---- tools/buildutils/build_packages.sh | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 480d76d5797..83c2bf6980b 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -5,9 +5,7 @@ REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -# if [ $REPO_OWNER = syslogic ]; then git switch rpm-build; fi -git switch rpm-build; - -./tools/buildutils/build_packages.sh rpmbuild +if [ "${REPO_OWNER}" = "syslogic" ]; then git switch rpm-build; fi +./tools/buildutils/build_packages.sh tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm ls -la ~ diff --git a/tools/buildutils/build_packages.sh b/tools/buildutils/build_packages.sh index 2313c1d5080..8f733638afd 100755 --- a/tools/buildutils/build_packages.sh +++ b/tools/buildutils/build_packages.sh @@ -32,7 +32,7 @@ function build_spec() { rpmbuild --define "_topdir $(pwd)/tools/rpmbuild" -v -ba "$specfile" } -if [[ -f /bin/dnf || $1 = rpmbuild ]]; then +if [[ -f /bin/dnf ]]; then build_spec cuttlefish_base.spec build_spec cuttlefish_user.spec build_spec cuttlefish_integration.spec From c1ac9150993b30eff7626c721f7c713bc3c20143 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:37:57 +0200 Subject: [PATCH 428/443] dos2unix removed. --- docker/rpm-builder/Dockerfile | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index a5465568d2c..6f4f0152410 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -12,7 +12,7 @@ WORKDIR "/root" VOLUME "/root" # The EPEL repository installs `dnf-core-plugin` (`config-manager` and `builddeps`) and provides `ncurses-compat-libs`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm bash sudo git dos2unix nano && dnf -y upgrade +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm bash sudo git nano && dnf -y upgrade # Configuring further package repositories: / https://wiki.rockylinux.org/rocky/repo/#extra-repositories RUN dnf config-manager --set-enabled crb && dnf config-manager --set-disabled extras && dnf clean all @@ -28,6 +28,10 @@ source ~/.bash_profile FROM base AS builder ARG BAZEL_VERSION=7.6.0 +# Add entrypoint script. +ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh +ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] + # Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced # RUN dnf -y install rpm-devel rpmdevtools rpmlint gcc make python diffutils patch @@ -35,32 +39,24 @@ RUN dnf -y install rpm-build golang-bin curl-devel wayland-devel ncurses-compat- # Package `protobuf` comes from CRB repository protobuf protobuf-devel protobuf-compiler && dnf clean all -# Add entrypoint script. -ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh -RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] - # Run go install `bazelisk`. RUN go install github.com/bazelbuild/bazelisk@latest + # RPM Testing FROM base AS testing -# Runtime Dependencies -RUN dnf -y install libwayland-* && dnf clean all - # Add entrypoint script. ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh -RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +# Runtime Dependencies +RUN dnf -y install libwayland-* && dnf clean all + # Integration Test FROM base AS integration -# Runtime Dependencies -RUN dnf -y install qemu-kvm && dnf clean all - # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) @@ -70,13 +66,13 @@ EXPOSE 8443/tcp 15550-15560 # Expose ADB EXPOSE 6520-6620 +# Runtime Dependencies +RUN dnf -y install qemu-kvm && dnf clean all + # Orchestration Test FROM base AS orchestration -# Runtime Dependencies -RUN dnf -y install nginx systemd-journal-remote && dnf clean all - # Expose Operator Port (HTTP:1080, HTTPS:1443) EXPOSE 1080 1443 # Expose HO(Host Orchestrator) Port (HTTP:2080, HTTPS:2443) @@ -85,3 +81,6 @@ EXPOSE 2080 2443 EXPOSE 8443/tcp 15550-15560 # Expose ADB EXPOSE 6520-6620 + +# Runtime Dependencies +RUN dnf -y install nginx systemd-journal-remote && dnf clean all From d5098eda736c137a435807a17837ff49942739bc Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:39:58 +0200 Subject: [PATCH 429/443] bash installed. --- docker/rpm-builder/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index a5465568d2c..e5583146de9 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -7,7 +7,7 @@ LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/g # Base Image FROM rockylinux AS base -ENTRYPOINT [ "/bin/bash" ] +ENTRYPOINT [ "/bin/sh" ] WORKDIR "/root" VOLUME "/root" @@ -38,7 +38,7 @@ protobuf protobuf-devel protobuf-compiler && dnf clean all # Add entrypoint script. ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] # Run go install `bazelisk`. RUN go install github.com/bazelbuild/bazelisk@latest @@ -52,7 +52,7 @@ RUN dnf -y install libwayland-* && dnf clean all # Add entrypoint script. ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh RUN dos2unix /root/entrypoint.sh && chmod +x /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] # Integration Test From 6ce04e41a47a98cea2eaede73a719d98ad27fcf5 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:57:05 +0200 Subject: [PATCH 430/443] workflow. --- .github/workflows/rpm-builder.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 14cfb91bc3f..2408c8d4955 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -30,7 +30,10 @@ jobs: steps: - uses: 'actions/checkout@v4' - - uses: 'docker/setup-buildx-action@v3' + - uses: 'docker/setup-qemu-action@v3' + with: + platforms: and64,arm64 + cache-image: false # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) @@ -48,6 +51,7 @@ jobs: password: ${{ SECRETS.GITHUB_TOKEN }} # https://github.com/marketplace/actions/build-and-push-docker-images + - uses: 'docker/setup-buildx-action@v3' - name: Build and push Docker image uses: 'docker/build-push-action@v6' id: build From 8fa3f23a2adc02e0dea8a32f2f4c1c803d45280b Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 05:59:37 +0200 Subject: [PATCH 431/443] options fixed. --- .github/workflows/rpm-builder.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 2408c8d4955..7b0f7b9751c 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -32,8 +32,7 @@ jobs: - uses: 'actions/checkout@v4' - uses: 'docker/setup-qemu-action@v3' with: - platforms: and64,arm64 - cache-image: false + platforms: arm64 # https://github.com/docker/metadata-action - name: Extract metadata (tags, labels) From 8fff466443a6adca8b31cbc5c17dc8aacbd8c942 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:01:30 +0200 Subject: [PATCH 432/443] useless metadata matrix job disabled. --- .github/workflows/rpm-builder.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 7b0f7b9751c..508002c9857 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -108,10 +108,10 @@ jobs: - platform: linux/arm64 target: rpm-testing - collect-metadata: - uses: ./.github/workflows/reusable-metadata.yml - secrets: - token: ${{ SECRETS.GITHUB_TOKEN }} +# collect-metadata: +# uses: ./.github/workflows/reusable-metadata.yml +# secrets: +# token: ${{ SECRETS.GITHUB_TOKEN }} # attest-images: # uses: ./.github/workflows/reusable-attestation.yml From e897d09d60ce534a1b2473d4e5ac4f57f443bc09 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:03:49 +0200 Subject: [PATCH 433/443] useless targets disabled. --- .github/workflows/rpm-builder.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index 508002c9857..ee276db0426 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -96,17 +96,17 @@ jobs: stage: builder - target: rpm-testing stage: testing - - target: rhel-integration - stage: integration - - target: rhel-orchestration - stage: orchestration - exclude: - - platform: linux/arm64 - target: rpm-testing - - platform: linux/arm64 - target: rhel-integration - - platform: linux/arm64 - target: rpm-testing +# - target: rhel-integration +# stage: integration +# - target: rhel-orchestration +# stage: orchestration +# exclude: +# - platform: linux/arm64 +# target: rpm-testing +# - platform: linux/arm64 +# target: rhel-integration +# - platform: linux/arm64 +# target: rpm-testing # collect-metadata: # uses: ./.github/workflows/reusable-metadata.yml From 768a9fe97dc69cbde1fb1ce46b41d8233263507c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:05:14 +0200 Subject: [PATCH 434/443] useless targets disabled. --- .github/workflows/rpm-builder.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index ee276db0426..f560606abfb 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -17,16 +17,24 @@ jobs: max-parallel: 1 matrix: platform: [ linux/amd64 ] - target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] + # target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] + target: [ rpm-builder, rpm-testing ] include: - target: rpm-builder - target_stage: builder + stage: builder - target: rpm-testing - target_stage: testing - - target: rhel-integration - target_stage: integration - - target: rhel-orchestration - target_stage: orchestration + stage: testing + # - target: rhel-integration + # stage: integration + # - target: rhel-orchestration + # stage: orchestration + # exclude: + # - platform: linux/arm64 + # target: rpm-testing + # - platform: linux/arm64 + # target: rhel-integration + # - platform: linux/arm64 + # target: rpm-testing steps: - uses: 'actions/checkout@v4' From 9d4474c663990579a936b6464219f224ac8c1de9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:08:23 +0200 Subject: [PATCH 435/443] docker system prune --all --force --- .github/workflows/reusable-docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index a05ca4053a2..01cce3f1e35 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -71,6 +71,7 @@ jobs: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} DOCKER_OPTIONS: '--name rpm-builder' run: | + docker system prune --all --force # docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS --env RPM_PLATFORM=$RPM_PLATFORM $$DOCKER_IMAGE docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') From ed0f7cf45cddc6596f99bc39b7e5ae2d8ee0aeee Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:09:18 +0200 Subject: [PATCH 436/443] login shell changed back. --- docker/rpm-builder/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index 6f4f0152410..ec8ee4b9085 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -7,7 +7,7 @@ LABEL description="RPM Builder" version="1.0.0" repository="https://github.com/g # Base Image FROM rockylinux AS base -ENTRYPOINT [ "/bin/bash" ] +ENTRYPOINT [ "/bin/sh" ] WORKDIR "/root" VOLUME "/root" @@ -30,7 +30,7 @@ ARG BAZEL_VERSION=7.6.0 # Add entrypoint script. ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] # Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced @@ -48,7 +48,7 @@ FROM base AS testing # Add entrypoint script. ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/bin/bash", "-c", "./entrypoint.sh" ] +ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] # Runtime Dependencies RUN dnf -y install libwayland-* && dnf clean all From 7b9690650680d8defd71cde96f57e577728f3cde Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:13:54 +0200 Subject: [PATCH 437/443] buildscript.sh --- docker/rpm-builder/buildscript.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 83c2bf6980b..8eb991e0ed4 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/usr/bin/env bssh # The file deployed seems stuck. REPO_NAME=android-cuttlefish REPO_OWNER=syslogic From c10626ddac38c14fff37afce9923b12983544f46 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:16:20 +0200 Subject: [PATCH 438/443] Package bash-5.1.8-9.el9.x86_64 is already installed. --- docker/rpm-builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index ec8ee4b9085..fb4da0ae2df 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -12,7 +12,7 @@ WORKDIR "/root" VOLUME "/root" # The EPEL repository installs `dnf-core-plugin` (`config-manager` and `builddeps`) and provides `ncurses-compat-libs`. -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm bash sudo git nano && dnf -y upgrade +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo git nano && dnf -y upgrade # Configuring further package repositories: / https://wiki.rockylinux.org/rocky/repo/#extra-repositories RUN dnf config-manager --set-enabled crb && dnf config-manager --set-disabled extras && dnf clean all From cfa9041263c9558ee8ae673b5c71fdf112b40a01 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:19:09 +0200 Subject: [PATCH 439/443] buildscript.sh --- .github/workflows/reusable-docker.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 01cce3f1e35..8bed9d7f024 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -71,9 +71,8 @@ jobs: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} DOCKER_OPTIONS: '--name rpm-builder' run: | - docker system prune --all --force - # docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS --env RPM_PLATFORM=$RPM_PLATFORM $$DOCKER_IMAGE - docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS --env RPM_PLATFORM="$RPM_PLATFORM" $$DOCKER_IMAGE + # docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data From 21a8a4aebe3cd1510283bba292859871ba365bea Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:20:50 +0200 Subject: [PATCH 440/443] Dockerfile --- docker/rpm-builder/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/rpm-builder/Dockerfile b/docker/rpm-builder/Dockerfile index fb4da0ae2df..69f900dfbb5 100644 --- a/docker/rpm-builder/Dockerfile +++ b/docker/rpm-builder/Dockerfile @@ -29,8 +29,8 @@ FROM base AS builder ARG BAZEL_VERSION=7.6.0 # Add entrypoint script. -ADD ./docker/rpm-builder/buildscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] +ADD ./docker/rpm-builder/buildscript.sh /root/buildscript.sh +ENTRYPOINT [ "/bin/sh", "-c", "./buildscript.sh" ] # Build dependencies. # RUN dnf -y install dpkg-dev devscripts vim-enhanced @@ -47,8 +47,8 @@ RUN go install github.com/bazelbuild/bazelisk@latest FROM base AS testing # Add entrypoint script. -ADD ./docker/rpm-builder/testscript.sh /root/entrypoint.sh -ENTRYPOINT [ "/bin/sh", "-c", "./entrypoint.sh" ] +ADD ./docker/rpm-builder/testscript.sh /root/testscript.sh +ENTRYPOINT [ "/bin/sh", "-c", "./testscript.sh" ] # Runtime Dependencies RUN dnf -y install libwayland-* && dnf clean all From 7a8ccd8d1a231d9e72bc9c58addfabc291f42df9 Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:23:12 +0200 Subject: [PATCH 441/443] buildscript.sh --- docker/rpm-builder/buildscript.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rpm-builder/buildscript.sh b/docker/rpm-builder/buildscript.sh index 8eb991e0ed4..03a64d1a2a8 100755 --- a/docker/rpm-builder/buildscript.sh +++ b/docker/rpm-builder/buildscript.sh @@ -1,11 +1,11 @@ -#!/usr/bin/env bssh +#!/usr/bin/env bash # The file deployed seems stuck. REPO_NAME=android-cuttlefish REPO_OWNER=syslogic git clone https://github.com/${REPO_OWNER}/${REPO_NAME}.git cd $REPO_NAME || exit -if [ "${REPO_OWNER}" = "syslogic" ]; then git switch rpm-build; fi +[ "${REPO_OWNER}" == "syslogic" ] && echo git switch rpm-build ./tools/buildutils/build_packages.sh tar zcvf ~/android-cuttlefish-rpm.tar.gz ~/${REPO_NAME}/tools/rpmbuild/*.rpm ls -la ~ From ac1891f28eea7c142a912088235a43322035118c Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:24:47 +0200 Subject: [PATCH 442/443] docker run ... --- .github/workflows/reusable-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-docker.yml b/.github/workflows/reusable-docker.yml index 8bed9d7f024..6eccd95fa70 100644 --- a/.github/workflows/reusable-docker.yml +++ b/.github/workflows/reusable-docker.yml @@ -71,8 +71,8 @@ jobs: DOCKER_IMAGE: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ INPUTS.IMAGE }}:${{ INPUTS.TAG }} DOCKER_OPTIONS: '--name rpm-builder' run: | - docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS --env RPM_PLATFORM="$RPM_PLATFORM" $$DOCKER_IMAGE - # docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY + # docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS --env platform="$RPM_PLATFORM" $$DOCKER_IMAGE + docker run $DOCKER_OPTIONS $DEFAULT_OPTIONS $DOCKER_IMAGE >> $GITHUB_STEP_SUMMARY MOUNT_POINT=$(docker volume ls --filter driver="local" --format '{{.Mountpoint}}') VOLUME_HASH=$(docker volume ls --filter driver="local" --format '{{.Name}}') DIRECTORY=/var/lib/docker/volumes/$VOLUME_HASH/_data From 140d209a7aabca8c9a600e54e06718025769075a Mon Sep 17 00:00:00 2001 From: Martin Zeitler Date: Sun, 30 Mar 2025 06:59:16 +0200 Subject: [PATCH 443/443] useless jobs removed. --- .github/workflows/reusable-attestation.yml | 74 ----------------- .github/workflows/reusable-build.yaml | 3 - .github/workflows/reusable-metadata.yml | 93 ---------------------- .github/workflows/rpm-builder.yml | 15 ---- 4 files changed, 185 deletions(-) delete mode 100644 .github/workflows/reusable-attestation.yml delete mode 100644 .github/workflows/reusable-metadata.yml diff --git a/.github/workflows/reusable-attestation.yml b/.github/workflows/reusable-attestation.yml deleted file mode 100644 index f81dbd2dcf2..00000000000 --- a/.github/workflows/reusable-attestation.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Reusable Container Attestation Job - -on: - workflow_call: - secrets: - token: - required: true - inputs: - registry: - default: 'ghcr.io' - required: false - type: string - username: - default: ${{ GITHUB.ACTOR }} - required: false - type: string - checksums: - required: true - type: string - digest: - required: true - type: string - outputs: - metadata: - value: ${{ jobs.attestation.outputs }} - description: "Artifact attestation output" - -jobs: - artifact-attestation: - runs-on: ubuntu-latest - outputs: - builder: ${{ steps.attestation.outputs.attestation_rpm_builder }} - testing: ${{ steps.attestation.outputs.attestation_rpm_testing }} - integration: ${{ steps.attestation.outputs.attestation_rhel_integration }} - orchestration: ${{ steps.attestation.outputs.attestation_rhel_orchestration }} - strategy: - max-parallel: 4 - matrix: - target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] - steps: - - - uses: 'docker/login-action@v3' - id: container-registry - with: - registry: ${{ INPUTS.REGISTRY }} - username: ${{ INPUTS.USERNAME }} - password: ${{ SECRETS.TOKEN }} - - - uses: 'actions/attest-build-provenance@v2' - id: artifact-attestation - with: - subject-name: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }}:latest - subject-checksums: ${{ INPUTS.CHECKSUMS }} - subject-digest: ${{ INPUTS.DIGEST }} - push-to-registry: true - - - id: artifact-attestation-step-output - shell: bash - run: | - OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - TARGET=`echo attestation-${{ MATRIX.TARGET }}} | tr - _` - echo ${TARGET}=${OUTPUTS} >> $GITHUB_OUTPUT - - echo TARGET: ${TARGET} >> $GITHUB_STEP_SUMMARY - echo METADATA: ${OUTPUTS} >> $GITHUB_STEP_SUMMARY - - artifact-attestation-output: - runs-on: ubuntu-latest - needs: artifact-attestation - steps: - - shell: bash - run: | - # echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_STEP_SUMMARY - # echo attestation='${{ toJSON(needs.artifact-attestation-matrix.outputs) }}' >> $GITHUB_OUTPUT diff --git a/.github/workflows/reusable-build.yaml b/.github/workflows/reusable-build.yaml index 5053bfca0ef..2a46d6fc4f5 100644 --- a/.github/workflows/reusable-build.yaml +++ b/.github/workflows/reusable-build.yaml @@ -24,6 +24,3 @@ jobs: with: name: cuttlefish_packages_arm64 path: tools/cuttlefish-host-image-installer/cuttlefish_packages.7z - -# build-arm64-cuttlefish-rpm-job: -# uses: ./.github/workflows/rpm-builder.yml diff --git a/.github/workflows/reusable-metadata.yml b/.github/workflows/reusable-metadata.yml deleted file mode 100644 index f54b4896631..00000000000 --- a/.github/workflows/reusable-metadata.yml +++ /dev/null @@ -1,93 +0,0 @@ -name: Reusable Container Metadata Job - -on: - workflow_call: - secrets: - token: - required: true - inputs: - registry: - default: 'ghcr.io' - required: false - type: string - username: - default: ${{ GITHUB.ACTOR }} - required: false - type: string - outputs: - metadata: - value: ${{ jobs.metadata-output.outputs.metadata }} - description: "Metadata output" - -jobs: - - metadata: - runs-on: ubuntu-latest - outputs: - builder: ${{ steps.metadata.outputs.metadata_rpm_builder }} - testing: ${{ steps.metadata.outputs.metadata_rpm_testing }} - integration: ${{ steps.metadata.outputs.metadata_rhel_integration }} - orchestration: ${{ steps.metadata.outputs.metadata_rhel_orchestration }} - strategy: - max-parallel: 4 - matrix: - target: [ rpm-builder, rpm-testing, rhel-integration, rhel-orchestration ] - steps: - - - uses: 'docker/login-action@v3' - id: container-registry - with: - registry: ${{ INPUTS.REGISTRY }} - username: ${{ INPUTS.USERNAME }} - password: ${{ SECRETS.TOKEN }} - - - uses: 'docker/metadata-action@v5' - id: metadata - with: - images: ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }} - tags: | - ${{ INPUTS.REGISTRY }}/${{ INPUTS.USERNAME }}/${{ MATRIX.TARGET }}/:latest - type=sha - - - id: metadata-step-output - shell: bash - env: - TMPDIR: ${{ RUNNER.TEMP }} - run: | - TARGET=`echo metadata-${{ MATRIX.TARGET }} | tr [:lower:] [:upper:] | tr - _` - OUTPUTS='${{ toJSON(steps.metadata.outputs) }}' - - echo "INDEX: ${TARGET}" >> $GITHUB_STEP_SUMMARY - FILE_NAME=$GITHUB_WORKSPACE/metadata-${{ MATRIX.TARGET }}.json - echo $OUTPUTS > $FILE_NAME - stat $FILE_NAME >> $GITHUB_STEP_SUMMARY - - # echo "" >> $GITHUB_STEP_SUMMARY - # echo "DATA: ${OUTPUTS}" >> $GITHUB_STEP_SUMMARY - - # - uses: actions/upload-artifact@v4 - # with: - # name: metadata-${{ MATRIX.TARGET }} - # path: /home/runner/work/android-cuttlefish/android-cuttlefish/${{ MATRIX.TARGET }}.json - - summary: - runs-on: ubuntu-latest - needs: metadata - outputs: - builder: ${{ needs.metadata.outputs.builder }} - testing: ${{ needs.metadata.outputs.testing }} - integration: ${{ needs.metadata.outputs.integration }} - orchestration: ${{ needs.metadata.outputs.orchestration }} - - steps: - # - uses: actions/download-artifact@v4 - # with: - # name: metadata-rpm-builder - - - id: metadata-summary - shell: bash - run: | - # stat $GITHUB_WORKSPACE/metadata-rpm-builder.json >> $GITHUB_STEP_SUMMARY - # stat $GITHUB_WORKSPACE/metadata-rpm-testing.json >> $GITHUB_STEP_SUMMARY - # stat $GITHUB_WORKSPACE/metadata-rhel-integration.json >> $GITHUB_STEP_SUMMARY - # stat $GITHUB_WORKSPACE/metadata-rhel-orchestration >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/rpm-builder.yml b/.github/workflows/rpm-builder.yml index f560606abfb..fa1e5de4a35 100644 --- a/.github/workflows/rpm-builder.yml +++ b/.github/workflows/rpm-builder.yml @@ -6,7 +6,6 @@ jobs: build-images: runs-on: ubuntu-latest - # needs: collect-metadata permissions: contents: read packages: write @@ -115,17 +114,3 @@ jobs: # target: rhel-integration # - platform: linux/arm64 # target: rpm-testing - -# collect-metadata: -# uses: ./.github/workflows/reusable-metadata.yml -# secrets: -# token: ${{ SECRETS.GITHUB_TOKEN }} - -# attest-images: -# uses: ./.github/workflows/reusable-attestation.yml -# needs: build-images -# secrets: -# token: ${{ SECRETS.GITHUB_TOKEN }} -# with: -# checksums: '' -# digest: ''