Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

base: update to Debian 12. #84

Merged
merged 3 commits into from
Dec 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/base-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
strategy:
matrix:
image:
- { dir: base, name: lnls-debian-11-epics-7 }
- { dir: base, name: lnls-debian-epics-7 }
- { dir: base/musl, name: lnls-alpine-3-epics-7 }
env:
TAG: ${{ github.event_name == 'push' && github.ref_name || github.head_ref }}
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
with:
driver: docker
- name: Build and push included IOC images
if: ${{ matrix.image.name == 'lnls-debian-11-epics-7' }}
if: ${{ matrix.image.name == 'lnls-debian-epics-7' }}
uses: docker/bake-action@v5
with:
workdir: images/
Expand Down
3 changes: 3 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
* Failing tests should ideally be fixed. If that isn't possible --- no
control over upstream, or tests require hardware access --- they can be
disabled by setting the environment variable `SKIP_TESTS` to `1`.
* base: update to Debian 12. by @ericonr in
https://github.com/cnpem/epics-in-docker/pull/84
* Refer to up to date README for new/updated `RUNTIME_PACKAGES`.

## v0.12.0

Expand Down
5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG DEBIAN_VERSION=11.9
ARG DEBIAN_VERSION=12.8

FROM ghcr.io/cnpem/lnls-debian-11-epics-7:v0.12.0-dev AS build-image
FROM ghcr.io/cnpem/lnls-debian-epics-7:v0.12.0-dev AS build-image

FROM debian:${DEBIAN_VERSION}-slim AS base

Expand All @@ -15,6 +15,7 @@ COPY --from=build-image /etc/apt/apt.conf.d/90-disable-sandbox.conf /etc/apt/apt
RUN apt update -y && \
apt install -y --no-install-recommends \
libreadline8 \
libtirpc3 \
busybox \
netcat-openbsd \
procserv \
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ build thin IOC container images.
## Base image

The base image is built in CI and should be obtained directly from the [GitHub
registry](https://github.com/cnpem/epics-in-docker/pkgs/container/lnls-debian-11-epics-7).
registry](https://github.com/cnpem/epics-in-docker/pkgs/container/lnls-debian-epics-7).

The versions used in the base image are defined in `base/.env`.

Expand Down Expand Up @@ -92,10 +92,15 @@ with the `make runtests` build system target. However, if these tests fail, and
it is not possible to fix them (no control over upstream, or tests require
hardware access), the `SKIP_TESTS` argument can be set to `1`.

### IOCs using PVXS

IOCs using the `PVXS` module to provide `qsrv` and PVA link implementations
must include `libevent-pthreads-2.1-7` in the `RUNTIME_PACKAGES`.

### areaDetector IOCs

`areaDetector` IOCs must be built with target `dynamic-link`. In addition, they
must include `libxml2` and `libtiff5` in the `RUNTIME_PACKAGES`, as they are
must include `libxml2` and `libtiff6` in the `RUNTIME_PACKAGES`, as they are
not built in `ADSupport`.

### Pmac IOCs
Expand Down
3 changes: 2 additions & 1 deletion base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
ARG DEBIAN_VERSION

FROM debian:${DEBIAN_VERSION}

Check warning on line 3 in base/Dockerfile

View workflow job for this annotation

GitHub Actions / build_and_push (base, lnls-debian-epics-7)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG debian:${DEBIAN_VERSION} results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

ARG JOBS

ENV DEBIAN_FRONTEND noninteractive

Check warning on line 7 in base/Dockerfile

View workflow job for this annotation

GitHub Actions / build_and_push (base, lnls-debian-epics-7)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

# Disable APT sandbox so that single UID restriction is satisfied in systems
# without subuid and subgid configured.
Expand All @@ -25,6 +25,7 @@
libxml2-dev \
libsnmp-dev \
libssl-dev \
libtirpc-dev \
re2c \
unzip \
wget \
Expand All @@ -36,14 +37,14 @@
COPY lnls-get-n-unpack.sh /usr/local/bin/lnls-get-n-unpack
COPY lnls-run.sh /usr/local/bin/lnls-run

ENV EPICS_IN_DOCKER /opt/epics-in-docker

Check warning on line 40 in base/Dockerfile

View workflow job for this annotation

GitHub Actions / build_and_push (base, lnls-debian-epics-7)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
RUN mkdir $EPICS_IN_DOCKER

COPY install-functions.sh $EPICS_IN_DOCKER

ENV EPICS_BASE_PATH /opt/epics/base

Check warning on line 45 in base/Dockerfile

View workflow job for this annotation

GitHub Actions / build_and_push (base, lnls-debian-epics-7)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV EPICS_MODULES_PATH /opt/epics/modules

Check warning on line 46 in base/Dockerfile

View workflow job for this annotation

GitHub Actions / build_and_push (base, lnls-debian-epics-7)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV EPICS_RELEASE_FILE $EPICS_IN_DOCKER/RELEASE

Check warning on line 47 in base/Dockerfile

View workflow job for this annotation

GitHub Actions / build_and_push (base, lnls-debian-epics-7)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

WORKDIR /opt/epics

Expand All @@ -55,7 +56,7 @@

COPY backport-ipmicomm.patch ipmicomm.patch caputlog-waveform-fix.patch $EPICS_IN_DOCKER
COPY modules_versions.sh install_modules.sh $EPICS_IN_DOCKER
RUN $EPICS_IN_DOCKER/install_modules.sh
RUN NEEDS_TIRPC=YES $EPICS_IN_DOCKER/install_modules.sh

COPY backport-adsupport-nanohttp.patch $EPICS_IN_DOCKER
COPY area_detector_versions.sh install_area_detector.sh $EPICS_IN_DOCKER
Expand Down
4 changes: 2 additions & 2 deletions base/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
epics-base:
image: ${REGISTRY:-ghcr.io/cnpem}/lnls-debian-11-epics-7:$TAG
image: ${REGISTRY:-ghcr.io/cnpem}/lnls-debian-epics-7:$TAG
build:
context: ./
dockerfile: Dockerfile
Expand All @@ -10,4 +10,4 @@ services:
org.opencontainers.image.description: "EPICS base and modules build image"
args:
JOBS: ${JOBS:--1}
DEBIAN_VERSION: 11.9
DEBIAN_VERSION: 12.8
2 changes: 1 addition & 1 deletion images/docker-compose-opcua.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ services:
args:
REPONAME: opcua
RUNDIR: /opt/epics/modules/opcua/iocBoot/iocUaDemoServer
RUNTIME_PACKAGES: libxml2 libssl1.1
RUNTIME_PACKAGES: libxml2 libssl3
Loading