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

Offer built-in support for Ubuntu and ubuntu-toolbox image definitions #1284

Merged

Conversation

debarshiray
Copy link
Member

@debarshiray debarshiray commented Mar 27, 2023

For the full discussion, see: #483

This is meant to land the first two patches from the original pull request that:

  • Allows using the --distro and --release options to create and enter Ubuntu containers
  • Adds the ubuntu-toolbox image definitions

This doesn't include the details of publishing the images to quay.io/toolbx-images. Follow the original pull request for further updates on that.

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>
@debarshiray debarshiray force-pushed the wip/rishi/introduce-ubuntu-staging branch from 5647149 to a84a358 Compare March 27, 2023 22:15
@softwarefactory-project-zuul
Copy link

Build succeeded.
https://softwarefactory-project.io/zuul/t/local/buildset/a5259d1ab78b45d9a5411338b76b7968

✔️ unit-test SUCCESS in 8m 37s
✔️ unit-test-migration-path-for-coreos-toolbox SUCCESS in 2m 57s
✔️ unit-test-restricted SUCCESS in 8m 26s
✔️ system-test-fedora-rawhide SUCCESS in 20m 15s
✔️ system-test-fedora-38 SUCCESS in 19m 09s
✔️ system-test-fedora-37 SUCCESS in 19m 49s
✔️ system-test-fedora-36 SUCCESS in 19m 54s

@debarshiray debarshiray merged commit a84a358 into containers:main Mar 27, 2023
@debarshiray debarshiray deleted the wip/rishi/introduce-ubuntu-staging branch March 27, 2023 22:39
debarshiray added a commit to debarshiray/toolbox that referenced this pull request Jun 23, 2023
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
debarshiray added a commit to debarshiray/toolbox that referenced this pull request Jun 23, 2023
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
debarshiray added a commit to debarshiray/toolbox that referenced this pull request Jun 23, 2023
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
debarshiray added a commit to debarshiray/toolbox that referenced this pull request Jun 27, 2023
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
debarshiray added a commit to debarshiray/toolbox that referenced this pull request Jun 27, 2023
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants