-
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
Offer built-in support for Ubuntu and ubuntu-toolbox image definitions #1284
Offer built-in support for Ubuntu and ubuntu-toolbox image definitions #1284
Conversation
These are the definitions of the ubuntu-toolbox images for Ubuntus 16.04, 18.04, 20.04, 22.04 and 22.10 that play well with Toolbx. Such as, password-less sudo, able to resolve its own hostname, SELinux is masked off, etc.. At the moment, these are already published at quay.io/toolbx-images/ubuntu-toolbox:22.04 and such. containers#483 containers#1284 Signed-off-by: Ievgen Popovych <jmennius@gmail.com>
This allows using the --distro and --release options to create and enter Ubuntu containers. Note that Ubuntu 4.10 was the first ever Ubuntu release [1]. Hence, values older than that are not permitted for the --release option. Some changes by Debarshi Ray. [1] https://wiki.ubuntu.com/Releases containers#483 containers#1284 Signed-off-by: Ievgen Popovych <jmennius@gmail.com>
5647149
to
a84a358
Compare
Build succeeded. ✔️ unit-test SUCCESS in 8m 37s |
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
For the full discussion, see: #483
This is meant to land the first two patches from the original pull request that:
--distro
and--release
options to create and enter Ubuntu containersThis doesn't include the details of publishing the images to
quay.io/toolbx-images
. Follow the original pull request for further updates on that.