-
Notifications
You must be signed in to change notification settings - Fork 210
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
Introduce Ubuntu LTS and latest non-LTS images #483
Introduce Ubuntu LTS and latest non-LTS images #483
Conversation
Build failed.
|
I'd really appreciate some feedback ;) @debarshiray ? |
I'd love to give this a spin but I'm currently working on something else.. :( |
@HarryMichal no problem :) What do you think about sharing extra-packages and READMEs? Any nice way to do it? |
In my opinion, sharing of those files mainly depends on the way the images will be built. I myself never worked with Docker Hub and other tools so I can't really help much with this. Dropping READMEs seems okay-ish to me. But on the other hand having some kind of file that holds some info about the image/tool is nice. Maybe some specialized file that will be defined once, will be shorter than the project's README that will not require to be updated with every tweak to the project's README? |
used the Dockerfile for 20.10, seems to be running OK 👍 |
Probably out-of-scope for the intended changes here, but support for |
cd5eacc
to
475a1dd
Compare
cc @debarshiray |
Build succeeded.
|
I now get |
I too would really like to see Ubuntu support being included one way or another. My use case is doing firmware development on Fedora when the rest of the team uses Ubuntu. They have set up install scripts and debs for installing the all the required cross compilation targets. I tried the image in this project using: $ toolbox create --image registry.hub.docker.com/jmennius/ubuntu-toolbox:20.04 firmaredev The
This seems to be documented in another issue as well: #176. Other than some dbus errors (probably because systemd isn't running) and the libpcap error I don't see any other problems with these containers. I tried both 20.04 and 18.04. I shouldn't hijack this MR, but is there a way of running services like SSH in the container? |
Guys, any updates or feedback? |
I've implemented this when I ported it to Go (back in April). |
Well, I wouldn't expect any of this to really work, the README should probably be corrected. |
I gave a try to 16.04 and 18.04 and both are failing for the same reason as:
The 20.04 image from #878 is working fine. I'm running podman and toolbox 0.0.99.3 on a Debian SID |
mounting a tmpfs on /tmp made it work ! mount -o mode=1777,nosuid,nodev -t tmpfs tmpfs /tmp |
Interesting.. so you didn't have a tmpfs on /tmp on your host (Debian)? edit: I see you've opened #906 |
For now i havent investigated into toolbox code to see how I could propose a patch but the other problem I faced was that on the tip, the binary was not exectutable. |
Few updates:
|
Build succeeded.
|
OK, I have access to the toolbx org on Quay.io now. |
I've set up the robot and permissions on Quay and added the token in the repo here. |
Note that to clearly distinguish PR & commit workflows, I've used two distinct GitHub Action definition in the toolbx-images repo. This PR is missing the one for PRs (https://github.com/toolbx-images/images/blob/main/.github/workflows/ubuntu-pr.yaml) and thus it is not triggered here. |
Thanks for doing that, @travier ! What are the next steps? Are we waiting for @Jmennius to update the GitHub Action in this pull request?
I will let @Jmennius respond to this one. |
The missing bits are in my review #483 (review). Then we should be able to merge this one. |
Build and push when there are changes in the `images/ubuntu` directory or in the GitHub workflow itself, as well as every other week (7th and 21st days of a month to be precise). Until now, the Ubuntu images (versions 16.04, 18.04, 20.04, 22.04 and 22.10) were published at quay.io/toolbx-images/ubuntu-toolbox:22.04, etc.. This changes the location to quay.io/toolbx/ubuntu-toolbox:22.04 and builds an image for Ubuntu 23.04 that was added recently [1]. Note that the changes to the toolbox(1) code and the system tests cannot be tested until the first round of images are available from the new location. [1] Commit 3cfb6bf containers#1292 containers#483 Signed-off-by: Ievgen Popovych <jmennius@gmail.com>
b58a774
to
8e912ee
Compare
Until now, the Ubuntu images (versions 16.04, 18.04, 20.04, 22.04 and 22.10) were published at quay.io/toolbx-images/ubuntu-toolbox:22.04, etc.. This changes the location to quay.io/toolbx/ubuntu-toolbox:22.04 and builds an image for Ubuntu 23.04 that was added recently [1]. Build and push when there are changes in the `images/ubuntu` directory or in the GitHub workflow itself, as well as every other week (7th and 21st days of a month to be precise). The toolbox(1) code and the system tests will be switched to the new location after the first round of images are available. [1] Commit 3cfb6bf containers#1292 containers#483 Signed-off-by: Ievgen Popovych <jmennius@gmail.com>
8e912ee
to
8dcd5d7
Compare
Build succeeded. ✔️ unit-test SUCCESS in 8m 41s |
Okay! I took the liberty to make those changes and merged. I hope I got it right. |
I filed a pull request to switch the |
Now that Toolbx offers built-in support for Ubuntu containers [1], it makes sense to test that it works well on Ubuntu hosts. Ubuntu 22.04 is the latest long term support (or LTS) release [2] from Ubuntu, and GitHub provides runners for GitHub workflows [3]. Ubuntu 22.04 only has Bats 1.2.1 [4], while Toolbx requires 1.7.0 [5]; and Shadow 4.8 [6], while libsubid.so was introduced in Shadow 4.9 [7]. Hence, newer versions of these dependencies need to be built to run the tests. Note that a separate sub-directory inside $GITHUB_WORKSPACE [8] is used for Toolbx itself to prevent codespell from getting triggered by problems in the dependencies themselves [9]. [1] Commit a84a358 containers#483 containers#1284 [2] https://wiki.ubuntu.com/Releases [3] https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners [4] https://packages.ubuntu.com/jammy/bats [5] Commit e22a82f containers#1273 [6] https://packages.ubuntu.com/source/jammy/shadow https://packages.ubuntu.com/source/jammy-updates/shadow [7] Shadow commit 0a7888b1fad613a0 shadow-maint/shadow@0a7888b1fad613a0 shadow-maint/shadow#154 [8] https://docs.github.com/en/actions/learn-github-actions/variables [9] bats-core/bats-core#743 containers#1319
Now that Toolbx offers built-in support for Ubuntu containers [1], adding an Ubuntu host to the upstream CI will help ensure that Toolbx continues to work well on Ubuntu. Ubuntu 22.04 is the latest long term support (or LTS) release [2] from Ubuntu, and GitHub provides runners for GitHub workflows [3]. Ubuntu 22.04 only has Bats 1.2.1 [4], while Toolbx requires 1.7.0 [5]; and Shadow 4.8 [6], while libsubid.so was introduced in Shadow 4.9 [7]. Hence, newer versions of these dependencies need to be built to run the tests. Note that a separate sub-directory inside $GITHUB_WORKSPACE [8] is used for Toolbx itself to prevent codespell from getting triggered by problems in the dependencies themselves [9]. [1] Commit a84a358 containers#483 containers#1284 [2] https://wiki.ubuntu.com/Releases [3] https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners [4] https://packages.ubuntu.com/jammy/bats [5] Commit e22a82f containers#1273 [6] https://packages.ubuntu.com/source/jammy/shadow https://packages.ubuntu.com/source/jammy-updates/shadow [7] Shadow commit 0a7888b1fad613a0 shadow-maint/shadow@0a7888b1fad613a0 shadow-maint/shadow#154 [8] https://docs.github.com/en/actions/learn-github-actions/variables [9] bats-core/bats-core#743 containers#1319
Now that Toolbx offers built-in support for Ubuntu containers [1], adding an Ubuntu host to the upstream CI will help ensure that Toolbx continues to work well on Ubuntu. Ubuntu 22.04 is the latest long term support (or LTS) release [2] from Ubuntu, and GitHub provides runners for GitHub workflows [3]. Ubuntu 22.04 only has Bats 1.2.1 [4], while Toolbx requires 1.7.0 [5]; and Shadow 4.8 [6], while libsubid.so was introduced in Shadow 4.9 [7]. Hence, newer versions of these dependencies need to be built to run the tests. Note that a separate sub-directory inside $GITHUB_WORKSPACE [8] is used for Toolbx itself to prevent codespell from getting triggered by problems in the dependencies themselves [9]. [1] Commit a84a358 containers#483 containers#1284 [2] https://wiki.ubuntu.com/Releases [3] https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners [4] https://packages.ubuntu.com/jammy/bats [5] Commit e22a82f containers#1273 [6] https://packages.ubuntu.com/source/jammy/shadow https://packages.ubuntu.com/source/jammy-updates/shadow [7] Shadow commit 0a7888b1fad613a0 shadow-maint/shadow@0a7888b1fad613a0 shadow-maint/shadow#154 [8] https://docs.github.com/en/actions/learn-github-actions/variables [9] bats-core/bats-core#743 containers#1319
Now that Toolbx offers built-in support for Ubuntu containers [1], adding an Ubuntu host to the upstream CI will help ensure that Toolbx continues to work well on Ubuntu. Ubuntu 22.04 is the latest long term support (or LTS) release [2] from Ubuntu, and GitHub provides runners for GitHub workflows [3]. Ubuntu 22.04 only has Bats 1.2.1 [4], while Toolbx requires 1.7.0 [5]; and Shadow 4.8 [6], while libsubid.so was introduced in Shadow 4.9 [7]. Hence, newer versions of these dependencies need to be built to run the tests. Note that a separate sub-directory inside $GITHUB_WORKSPACE [8] is used for Toolbx itself to prevent codespell from getting triggered by problems in the dependencies themselves [9]. [1] Commit a84a358 containers#483 containers#1284 [2] https://wiki.ubuntu.com/Releases [3] https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners [4] https://packages.ubuntu.com/jammy/bats [5] Commit e22a82f containers#1273 [6] https://packages.ubuntu.com/source/jammy/shadow https://packages.ubuntu.com/source/jammy-updates/shadow [7] Shadow commit 0a7888b1fad613a0 shadow-maint/shadow@0a7888b1fad613a0 shadow-maint/shadow#154 [8] https://docs.github.com/en/actions/learn-github-actions/variables [9] bats-core/bats-core#743 containers#1319
Now that Toolbx offers built-in support for Ubuntu containers [1], adding an Ubuntu host to the upstream CI will help ensure that Toolbx continues to work well on Ubuntu. Ubuntu 22.04 is the latest long term support (or LTS) release [2] from Ubuntu, and is the latest Ubuntu version that GitHub provides runners for [3]. Ubuntu 22.04 only has Bats 1.2.1 [4], while Toolbx requires 1.7.0 [5]; and Shadow 4.8 [6], while Toolbx requires 4.9 because it needs libsubid.so [7,8]. Hence, newer versions of these dependencies need to be built to run the tests. The build flags for Shadow were taken from the Debian package [9]. A separate sub-directory inside $GITHUB_WORKSPACE [10] is used for Toolbx itself to prevent codespell from getting triggered by spelling mistakes in these dependencies themselves [11]. Unfortunately, the SHELL environment variable goes mysteriously missing from the runtime environment of the GitHub Actions workflow [12]. This breaks the 'create' and 'enter' commands, and therefore tests involving them can't be run until this is resolved. Meanwhile, running the CI on Ubuntu with a subset of the tests, is still better than not running the CI on Ubuntu at all. [1] Commit a84a358 containers#483 containers#1284 [2] https://wiki.ubuntu.com/Releases [3] https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners [4] https://packages.ubuntu.com/jammy/bats [5] Commit e22a82f containers#1273 [6] https://packages.ubuntu.com/source/jammy/shadow https://packages.ubuntu.com/source/jammy-updates/shadow [7] Shadow commit 0a7888b1fad613a0 shadow-maint/shadow@0a7888b1fad613a0 shadow-maint/shadow#154 [8] Commit ca8007c containers#1074 [9] https://salsa.debian.org/debian/shadow/ [10] https://docs.github.com/en/actions/learn-github-actions/variables [11] bats-core/bats-core#743 [12] https://github.com/orgs/community/discussions/59413 containers#1319
This adds Ubuntu 16.04, 18.04, 20.04, 21.10 and 22.04 images that play well with
toolbox
:password-less
sudo
, able to resolve its own hostname (so thatsudo
does not complain), SELinux is masked off, etc.Since 18.04 Ubuntu images on the Docker Hub are 'minimized', so we have to undo that.
Pushed images to https://hub.docker.com/r/jmennius/ubuntu-toolbox for the time being.
Users may want to generate their locale after toolbox creation with
sudo sed -i "/${LANG}/s/^# //g" /etc/locale.gen && sudo locale-gen
(assuming that you haveLANG
set) to avoidperl
and others complain about it.I've been using an 18.04 image for
several months1.5yrs now with great success.Some things I'd like to resolve or discuss at least (need help/guidance/decisionmaking/PRs):
extra-packages
between images. Maybe we can store all Containerfiles in theubuntu
and a single readme and extra-packages alongside?I've only tested this with a shell-based toolbox.Works perfectly with golang implementation.NAME
andVERSION
variables (discussed in NAME and VERSION leak into toolbox container env #188)I'd be grateful for any testing and feedback on their use-case and environment.
Alternative-to: #298