Skip to content

Commit 9b1ce24

Browse files
authored
Merge pull request #2422 from reubenmiller/chore-update-system-test-image
chore: update dev and system test images
2 parents 8404726 + cfcce1e commit 9b1ce24

File tree

8 files changed

+38
-16
lines changed

8 files changed

+38
-16
lines changed

.devcontainer/Dockerfile

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.195.0/containers/rust/.devcontainer/base.Dockerfile
22
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye
3-
ARG VARIANT="bullseye"
3+
ARG VARIANT="bookworm"
44
FROM mcr.microsoft.com/devcontainers/rust:1-${VARIANT}
55

66
# [Optional] Uncomment this section to install additional packages.
@@ -22,10 +22,21 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
2222
docker \
2323
python3 \
2424
python3-pip \
25-
python3-venv \
26-
# tedge dependencies
25+
python3-venv
26+
27+
# tedge dependencies
28+
# Install more recent version of mosquitto >= 2.0.18 from debian sid to avoid mosquitto following bugs:
29+
# The mosquitto repo can't be used as it does not included builds for arm64/aarch64 (only amd64 and armhf)
30+
# * https://github.com/eclipse/mosquitto/issues/2604 (2.0.11)
31+
# * https://github.com/eclipse/mosquitto/issues/2634 (2.0.15)
32+
RUN sh -c "echo 'deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian sid main' > /etc/apt/sources.list.d/debian-sid.list" \
33+
&& apt-get update \
34+
&& DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
2735
mosquitto \
28-
mosquitto-clients
36+
mosquitto-clients \
37+
# Remove sid afterwards to prevent unexpected packages from being installed
38+
&& rm -f /etc/apt/sources.list.d/debian-sid.list \
39+
&& apt-get update
2940

3041
# Install gh utility
3142
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
@@ -55,7 +66,7 @@ RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
5566
RUN curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/bin/
5667

5768
# Update python deps
58-
RUN pip3 install --upgrade pip
69+
RUN pip3 install --upgrade pip --break-system-packages
5970

6071
# Delete the dummy systemctl command added by the base image
6172
RUN rm -f /usr/local/bin/systemctl

.devcontainer/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services:
55
context: .
66
dockerfile: Dockerfile
77
args:
8-
VARIANT: bullseye
8+
VARIANT: bookworm
99
environment:
1010
- DOCKER_HOST=unix:///opt/run/docker.sock
1111

docs/src/contribute/BUILDING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ You can use any OS to build from source (below has been tested on Ubuntu, but we
1212

1313
Our recommended setup and required tools are:
1414

15-
* Ubuntu 20.04 or Debian 10.9 (Buster)
15+
* Ubuntu 20.04 or Debian 12 (Bookworm)
1616
* git
1717
* Rust toolchain
1818

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
robotframework-devicelibrary[docker] @ git+https://github.com/reubenmiller/robotframework-devicelibrary.git@1.10.2
1+
robotframework-devicelibrary[docker] @ git+https://github.com/reubenmiller/robotframework-devicelibrary.git@1.11.1
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
robotframework-devicelibrary[local] @ git+https://github.com/reubenmiller/robotframework-devicelibrary.git@1.10.2
1+
robotframework-devicelibrary[local] @ git+https://github.com/reubenmiller/robotframework-devicelibrary.git@1.11.1
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
robotframework-devicelibrary[ssh] @ git+https://github.com/reubenmiller/robotframework-devicelibrary.git@1.10.2
1+
robotframework-devicelibrary[ssh] @ git+https://github.com/reubenmiller/robotframework-devicelibrary.git@1.11.1
22
robotframework-sshlibrary~=3.8.0

tests/images/debian-systemd/debian-systemd.dockerfile

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM debian:11-slim
1+
FROM debian:12-slim
22

33
# Install
44
RUN apt-get -y update \
@@ -13,14 +13,25 @@ RUN apt-get -y update \
1313
dbus \
1414
systemd-sysv \
1515
ssh \
16-
mosquitto \
17-
mosquitto-clients \
1816
vim.tiny \
1917
nginx \
20-
netcat \
18+
netcat-openbsd \
2119
iputils-ping \
2220
net-tools
2321

22+
# Install more recent version of mosquitto >= 2.0.18 from debian sid to avoid mosquitto following bugs:
23+
# The mosquitto repo can't be used as it does not included builds for arm64/aarch64 (only amd64 and armhf)
24+
# * https://github.com/eclipse/mosquitto/issues/2604 (2.0.11)
25+
# * https://github.com/eclipse/mosquitto/issues/2634 (2.0.15)
26+
RUN sh -c "echo 'deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian sid main' > /etc/apt/sources.list.d/debian-sid.list" \
27+
&& apt-get update \
28+
&& DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
29+
mosquitto \
30+
mosquitto-clients \
31+
# Remove sid afterwards to prevent unexpected packages from being installed
32+
&& rm -f /etc/apt/sources.list.d/debian-sid.list \
33+
&& apt-get update
34+
2435
# Remove unnecessary systemd services
2536
RUN rm -f /lib/systemd/system/multi-user.target.wants/* \
2637
/etc/systemd/system/*.wants/* \

tests/images/debian-systemd/files/bootstrap.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -464,14 +464,14 @@ configure_repos() {
464464
# Use a fixed distribution string to avoid guess work, and it does not really matter anyway
465465
curl -1sLf \
466466
"https://dl.cloudsmith.io/public/thinedge/${REPO}/setup.deb.sh" \
467-
| distro=raspbian version=11 codename=bullseye sudo -E bash
467+
| distro=raspbian version=11 codename=bookworm sudo -E bash
468468
else
469469
echo "Repo (channel=${REPO_CHANNEL}) is already configured"
470470
fi
471471
else
472472
# TODO: Support non-bash environments (but the cloudsmith script only supports bash)
473473
fail "Bash is missing. Currently this script requires bash to setup the apt repos"
474-
# deb [signed-by=/usr/share/keyrings/thinedge-tedge-release-archive-keyring.gpg] https://dl.cloudsmith.io/public/thinedge/tedge-release/deb/raspbian bullseye main
474+
# deb [signed-by=/usr/share/keyrings/thinedge-tedge-release-archive-keyring.gpg] https://dl.cloudsmith.io/public/thinedge/tedge-release/deb/raspbian bookworm main
475475
fi
476476
}
477477

0 commit comments

Comments
 (0)