1959 Commits
Author SHA1 Message Date
distrobox-docs-bot a1a0c35ea9 Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-10-02 15:19:56 +00:00
Luca Di Maio f15579acde Merge pull request #2233 from KyleGospo/patch-1
fix: rename bazzite-arch to steambox matching upstream change
2026-10-02 11:19:14 -04:00
Kyle Gospodnetich aa61ad1233 fix: rename bazzite-arch to steambox matching upstream change 2026-10-01 15:01:02 -07:00
dependabot[bot] 4b459007d2 chore(deps): bump github.com/urfave/cli/v3 from 3.11.0 to 3.13.0 (#2230)
Bumps [github.com/urfave/cli/v3](https://github.com/urfave/cli) from 3.11.0 to 3.13.0.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/urfave/cli/compare/v3.11.0...v3.13.0)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v3
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 22:31:21 +02:00
Luca Di Maio 1d7efaa31b Merge pull request #2231 from 89luca89/ci/nvidia-dependabot-bumps
ci(nvidia): run the VM e2e suite on dependabot PRs
2026-10-01 11:30:08 -04:00
Alessio Biancalana a29bedd143 ci(nvidia): run the VM e2e suite on dependabot PRs 2026-10-01 09:12:09 +02:00
Luca Di Maio f60fb9d35e Merge pull request #2223 from 89luca89/fix/init_orphan_mounts
fix(init): resync watched mounts after host file replacement
2026-09-17 17:05:27 +02:00
Luca Di Maio 510e6d9be3 fix(init): resync watched mounts after host file replacement
A bind mount tracks the inode, not the path. When the host replaces one
of the HOST_WATCH files, the container mount keeps pointing at the
unlinked inode and findmnt reports it with a "//deleted" source. The
keepalive loop only compared file contents, so a byte-identical recreate
left the mount disconnected, and when /run/host exposed the same deleted
peer the content check could never trigger at all.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-09-17 16:21:37 +02:00
Fabrizio Sestito 884f14ee17 ci: add zizmor (#2220)
* ci: add zizmor workflow to audit GitHub Actions

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>

* ci: restrict token permissions, drop persisted checkout credentials and fix template injections

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>

* ci: verify the shell-funcheck binary checksum before running it

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>

---------

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>
2026-09-14 10:47:19 +02:00
Luca Di Maio e20e230efb Merge pull request #2212 from 89luca89/dependabot/go_modules/github.com/urfave/cli/v3-3.11.0
chore(deps): bump github.com/urfave/cli/v3 from 3.10.1 to 3.11.0
2026-09-02 11:30:52 +02:00
dependabot[bot] 9548a0a983 chore(deps): bump github.com/urfave/cli/v3 from 3.10.1 to 3.11.0
Bumps [github.com/urfave/cli/v3](https://github.com/urfave/cli) from 3.10.1 to 3.11.0.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/urfave/cli/compare/v3.10.1...v3.11.0)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v3
  dependency-version: 3.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-02 09:26:49 +00:00
Luca Di Maio a67c80958d fix(tests): run tests rootless, fix archlinux, fix internal script extraction path (#2214)
- scripts.go: ProvisionScripts reuses the helpers if already present, else
  extracts into the install dir when writable, otherwise falls back to
  $XDG_DATA_HOME/distrobox. Fixes rootless create/enter for a system-wide
  install (/usr/local/bin), which died with "permission denied"
- hack/test/nvidia-test.sh: run box ops rootless as the cloud user
- hack/test/vm-run.sh: bump the ubuntu image to resolute.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-09-02 10:33:23 +02:00
dependabot[bot] 5ba421fe47 chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (#2210) 2026-09-01 23:07:45 +02:00
dependabot[bot] 3727364586 chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#2211)
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 22:38:07 +02:00
dependabot[bot] cb4caefda4 chore(deps): bump actions/upload-artifact from 4.6.2 to 7.0.1 (#2182)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.6.2...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 09:30:30 +02:00
Luca Di Maio 76acec3f07 Merge pull request #2181 from 89luca89/dependabot/github_actions/actions/cache/save-6.1.0
chore(deps): bump actions/cache/save from 4.2.3 to 6.1.0
2026-08-21 09:45:03 +02:00
dependabot[bot] 09efdcdaea chore(deps): bump actions/cache/save from 4.2.3 to 6.1.0
Bumps [actions/cache/save](https://github.com/actions/cache) from 4.2.3 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/5a3ec84eff668545956fd18022155c47e93e2684...55cc8345863c7cc4c66a329aec7e433d2d1c52a9)

---
updated-dependencies:
- dependency-name: actions/cache/save
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-21 07:28:27 +00:00
Luca Di Maio 10bab91563 Merge pull request #2195 from 89luca89/fix/nvidia_arch_tests
fix(e2e): update host distros on nvidia tests, avoid problems with stale dependencies
2026-08-09 21:27:03 +02:00
Luca Di Maio 77ca686be6 fix(e2e): update host distros on nvidia tests, avoid problems with stale dependencies
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-09 21:16:18 +02:00
Alessio Biancalana 9f4430cd18 fix(init,rm): honor user volumes under host-mount paths and --rm-home in headless rm (#2192)
* fix(init): do not shadow user volumes under host-mount paths

* fix(rm): honor --rm-home when stdin is not a tty
2026-08-09 19:51:27 +02:00
Alessio Biancalana 736989b677 fix(enter): use a real isatty check for --tty allocation (#2193)
* fix(enter): use a real isatty check for --tty allocation

* test(containermanager): make IsTTY regression test lint-clean
2026-08-09 19:15:49 +02:00
distrobox-docs-bot 0b04e4c94b Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-08-09 09:44:21 +00:00
A 37a41eb41f input: update documentation to make it more clear that certain flags to distrobox assemble run after every container restart (#2191) 2026-08-09 11:43:49 +02:00
distrobox-docs-bot 2c4a231fa0 Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-08-08 17:33:08 +00:00
Luca Di Maio eafe590a8d Merge pull request #2190 from 89luca89/feat/test_overhaul
ci(e2e): add end-to-end behavioral tests across distros and engines
2026-08-08 19:32:23 +02:00
Luca Di Maio 6aee0c552b Merge pull request #2139 from 89luca89/migrate-subcommand-implementation
feat(migrate): add `distrobox migrate` subcommand for v1→v2 containers
2026-08-07 21:43:12 +02:00
Alessio Biancalana 8abacf7205 fix(migrate): use the shared config scripts dir for migration
The migrate command introduced a parallel insidedistrobox.ScriptsDir()
that resolved to the old v2 prerelease location
(~/.local/share/distrobox/v2), which was abandoned in 94ae7fa with a
BREAKING CHANGE note. The two resolutions only agree when
DBX_SCRIPTS_DIR is set, which is exactly what the tests do - hiding the
divergence: migrate provisioned and filtered on a different host
directory than the create command mounts into new containers.

- drop insidedistrobox.ScriptsDir(); migrate now provisions and filters
  on c.cfg.ScriptsDir, the same resolution the create command uses
- set ScriptsDir on the recreated container's CreateOptions: it was
  left empty, which made ProvisionScripts("") fail on real runtimes
- make the scripts-mount filter path-boundary aware
- add an end-to-end migration test driving a fake podman runtime:
  v1 inspect JSON in, then compare the recreated container's create
  spec to the known-good v2 layout (scripts mounted from the config
  scripts dir, distrobox.version label set, v1 helper mounts gone)
2026-08-07 16:36:57 +02:00
Luca Di Maio b0b6b56b67 docs: refresh compatibility list, drop EOL distros and add current releases
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-07 15:44:50 +02:00
Luca Di Maio f01efac527 ci(e2e): verify the v2 binary end-to-end across distros and engines
Unit tests can't prove the rewritten binary actually works on each supported
distro and on both podman and docker; this exercises the real thing.

Move the tests in a set of simple scripts to run them.
Make a smaller e2e test for CLI and Images that runs on every PR
Keep the full compatibility suite in a separate job for main merge and
manual runs.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-07 14:46:19 +02:00
Luca Di Maio 1f3fa8109e test: pin slug, env-filter, and ps-parser behavior
Lock down the container-name slug, enter env allow/deny, and podman/docker
ps parsers so provider JSON drift and symlink/env edge cases fail in CI
instead of in the field. Fixtures also capture the known doc/code and
comma-in-label quirks so they're tracked rather than silently accepted.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-07 11:12:13 +02:00
Alessio Biancalana 1832fb65e1 fix(migrate): preserve same-path user volumes on recreate 2026-08-02 18:07:12 +02:00
Alessio Biancalana 92f092b1ab fix(providers): correctly map docker inspect output for migrate 2026-08-02 17:54:03 +02:00
Alessio Biancalana 6cef357d3b fix: add license headers to new files 2026-08-02 17:40:16 +02:00
Alessio Biancalana d50fd8d92b fix: codespell issues 2026-08-02 17:36:06 +02:00
Alessio Biancalana 23f196f54b refactor(migrate): flatten per-container loop in Execute 2026-08-02 17:36:06 +02:00
Alessio Biancalana 7ee57a7721 feat(migrate): detect outdated containers via distrobox.version label 2026-08-02 17:36:05 +02:00
Alessio Biancalana 9b65bec2fd fix: resolve goconst warnings in migrate command 2026-08-02 17:30:53 +02:00
Alessio Biancalana e793feccf8 feat(migrate): add distrobox migrate subcommand for v1→v2 containers 2026-08-02 17:30:52 +02:00
dependabot[bot] d34399f3da chore(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 (#2183)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 9.2.1 to 9.3.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/82606bf257cbaff209d206a39f5134f0cfbfd2ee...ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-02 17:23:58 +02:00
dependabot[bot] 0049f1bd07 chore(deps): bump stefanzweifel/git-auto-commit-action (#2184)
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/04702edda442b2e678b25b537cec683a1493fcb9...4a55954c782fc1ea30b9056cd3e7a2b40ca8887d)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-01 18:26:16 +02:00
dependabot[bot] 4bbe39d9a1 chore(deps): bump github.com/urfave/cli/v3 from 3.10.0 to 3.10.1 (#2186)
Bumps [github.com/urfave/cli/v3](https://github.com/urfave/cli) from 3.10.0 to 3.10.1.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/urfave/cli/compare/v3.10.0...v3.10.1)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v3
  dependency-version: 3.10.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-01 18:23:10 +02:00
Alessio Biancalana ff4cc63ac3 fix: bump install script next branch to rc4 (#2179) 2026-07-30 09:45:15 +02:00
Luca Di Maio 0c3f8d6472 test(nvidia): add debian as a tested host and guest distro
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-07-26 17:59:08 +02:00
Luca Di Maio 32bb5e8727 Merge pull request #2171 from 89luca89/feat/gpu-integration-improvements
fix(gpu): isolate NVIDIA libraries and fix Docker device groups for ROCm
2.0.0-rc.4
2026-07-25 18:00:53 +02:00
Luca Di Maio 3b5253e5c5 ci(nvidia): run the --nvidia VM e2e test on relevant PRs
The harness boots real VMs, so gate it to PRs touching distrobox-init or the
test itself instead of every push.

Base images use a split cache restore/save and on failure the per-distro log
dir is uploaded so it's debuggable without a re-run.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-07-25 17:19:55 +02:00
Luca Di Maio 5611967de8 test(nvidia): add local VM e2e test for --nvidia driver mirroring
The --nvidia path had no automated coverage and regresses easily (silent
32/64-bit collisions, dropped files), and GPU CI runners to exercise it
don't exist. This harness needs no GPU: it installs the nvidia driver in a
throwaway VM, runs `distrobox create --nvidia` against ubuntu/fedora/arch
guests, and checks every file the host package manager ships is mirrored in
with a matching checksum and resolvable deps. The package manifest is the
source of truth, so any gap fails loudly instead of silently.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-07-25 17:19:55 +02:00
Luca Di Maio 4fadc607d3 fix(docker): forward host supplementary groups for GPU device access
ROCm and other GPU workloads reach the device through /dev/kfd and
/dev/dri/renderD*, which are typically owned by group render (mode 0660).
Podman keeps the invoking user's supplementary groups via the
run.oci.keep_original_groups annotation, but the docker path forwarded only
the primary gid, so the container user was not in render/video and hit EACCES.

This generally puts docker on par with podman+crun
run.oci.keep_original_groups annotation.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-07-25 17:19:21 +02:00
Luca Di Maio ee5724ee62 fix(init): isolate NVIDIA driver libraries in a dedicated dir
The --nvidia path mapped each driver library to a guest destination by
rewriting its host path (x86_64-linux-gnu / lib64 / lib32 via sed), which is
fragile across distros and can shadow the guest's own libGL/glvnd/Mesa.

Mount libs into /usr/lib/distrobox-nvidia/{lib64,lib32} bucketed by ELF class +
one ld.so.conf, instead of guessing the guest path; 4 mount loops fold into one.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-07-25 17:19:21 +02:00
distrobox-docs-bot c08ad8dec7 Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-07-25 10:01:22 +00:00
Luca Di Maio 24eeae0f86 test(commands): make generate-all-entries test hermetic
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-07-25 11:56:17 +02:00