diff --git a/test/.env b/test/.env index b6968427..6ea67b8b 100644 --- a/test/.env +++ b/test/.env @@ -2,7 +2,7 @@ # shellcheck disable=SC2034,SC2154 # Current container image -INFIX_TEST=ghcr.io/kernelkit/infix-test:2.6 +INFIX_TEST=ghcr.io/kernelkit/infix-test:2.7 ixdir=$(readlink -f "$testdir/..") logdir=$(readlink -f "$testdir/.log") diff --git a/test/docker/Dockerfile b/test/docker/Dockerfile index 78aa3a8b..7991c1d6 100644 --- a/test/docker/Dockerfile +++ b/test/docker/Dockerfile @@ -4,6 +4,8 @@ FROM alpine:3.18.0 RUN apk add --no-cache \ busybox-extras \ curl \ + dhcp-server-vanilla \ + dnsmasq \ e2fsprogs \ e2tools \ ethtool \ diff --git a/test/docker/README.md b/test/docker/README.md index c28b084c..fd04aafb 100644 --- a/test/docker/README.md +++ b/test/docker/README.md @@ -4,38 +4,48 @@ Checklist for Updating Infamy Docker Image This directory holds the Dockerfile and any extras needed to build and update the infix-test container image used for the test system. +> [!IMPORTANT] +> Remember the final `.` in the `docker build` command, otherwise the +> build directory will be test/docker/ and you will get COPY errors! + +Build Checklist +--------------- + The following is a checklist/reminder to maintainers for how to update -the image, e.g., with missing Alpine packages. +the image, e.g., with missing Alpine packages: - 1. Update the Dockerfile - - cd test/docker/ - edit Dockerfile - - 2. Build the new image version, for latest version, see released images - here: - in this example we use version 0.4: +1. Update the Dockerfile cd test/ - docker build -f docker/Dockerfile -t ghcr.io/kernelkit/infix-test:0.4 . + edit docker/Dockerfile - 3. Update the `test/.env` file to use the new version - 4. Verify your new image works properly (remember to remove your `~/.infix/venv`) - 5. Send PR to co-maintainer for review +2. Build the new image version, for latest version, see released images + here: + in this example we use version 2.7: + + docker build -f docker/Dockerfile -t ghcr.io/kernelkit/infix-test:2.7 . + +3. Update the `test/.env` file to use the new version +4. Verify your new image works properly (remember to remove your `~/.infix/venv`) +5. Send PR to co-maintainer for review + +Upload New Image +---------------- The co-maintainer should then verify themselves before approving the PR. A crucial step to remember is to: - 1. Push the new image version to . For details on how - to do this, see this excellent guide to the [GitHub Container - Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry): - 2. Shorthand after setup (above): +1. Push the new image version to . For details on how + to do this, see this excellent guide to the [GitHub Container + Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry): +2. Shorthand after setup (above): - echo $CR_PAT | docker login ghcr.io -u troglobit --password-stdin - docker push ghcr.io/kernelkit/infix-test:0.4 + echo $CR_PAT | docker login ghcr.io -u troglobit --password-stdin + docker push ghcr.io/kernelkit/infix-test:2.7 - 3. Merge the PR to the `main` branch. +3. Merge the PR to the `main` branch. -> **Note:** the co-maintainer may delegate the chore of uploading the -> new image to the one who prepared the PR (you), provided of course -> they have the access rights to do so. +> [!NOTE] +> The co-maintainer may delegate the chore of uploading the new image to +> the one who prepared the PR (you), provided of course they have the +> access rights to do so.