Skip to content

Commit

Permalink
Update mixer-ci image build
Browse files Browse the repository at this point in the history
Rework how mixer-ci is built and remove it from the test matrix as it
is no longer automatically updated as github's runner isn't able to
build it at this time.

Signed-off-by: William Douglas <[email protected]>
  • Loading branch information
bryteise committed Jan 7, 2025
1 parent 52fb1c1 commit 31b61ab
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 9 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ jobs:
- machine-learning-ui
- mariadb
- memcached
- mixer-ci
- nginx
- node
- openjdk/8
Expand All @@ -44,6 +43,6 @@ jobs:
run: |
dir=$(pwd)
cd ${{matrix.node}}
docker build -t clearlinux/${{matrix.node}} .
docker build -t ghcr.io/clearlinux/${{matrix.node}} .
cd $dir
if [ -d "./tests/${{matrix.node}}" ]; then cd tests; make ${{matrix.node}}; fi
43 changes: 36 additions & 7 deletions mixer-ci/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,44 @@
FROM clearlinux:latest
ARG clear_ver
FROM ghcr.io/clearlinux/os-core:$clear_ver AS core
FROM clearlinux:latest AS builder

ARG clear_ver
ARG swupd_args
# Move to latest Clear Linux release to ensure
# that the swupd command line arguments are
# correct
RUN swupd update --no-boot-update -V $clear_ver $swupd_args

# Grab os-release info from the minimal base image so
# that the new content matches the exact OS version
COPY --from=core /usr/lib/os-release /

# Install additional content in a target directory
# using the os version from the minimal base
RUN source /os-release && \
mkdir /install_root \
&& swupd os-install -V ${VERSION_ID} \
--path /install_root --statedir /swupd-state \
--bundles=mixer,go-basic,c-basic,os-core-update-dev,sudo --no-boot-update

# For some Host OS configuration with redirect_dir on,
# extra data are saved on the upper layer when the same
# file exists on different layers. To minimize docker
# image size, remove the overlapped files before copy.
RUN mkdir /os_core_install
COPY --from=core / /os_core_install/
RUN cd / && \
find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d &> /dev/null || true

FROM core

COPY --from=builder /install_root /

RUN useradd -G wheelnopw clr && mkdir -p /run/lock

# Configure Go
ENV GOPATH /home/clr/go
ENV PATH="/home/clr/go/bin:${PATH}"

# Update and add bundles
RUN swupd update -V $clear_ver && \
swupd bundle-add mixer go-basic c-basic os-core-update-dev sudo && \
useradd -G wheelnopw clr && \
mkdir -p /run/lock
USER clr
RUN git config --global user.email "[email protected]" && \
git config --global user.name "Travis CI"

0 comments on commit 31b61ab

Please sign in to comment.