80 Commits

Author SHA1 Message Date
dependabot[bot]
d1e7f14b97 build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [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/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 03:03:27 +00:00
dependabot[bot]
e04cee425b build(deps): bump golangci/golangci-lint-action from 8 to 9
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 8 to 9.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v8...v9)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 03:03:51 +00:00
Sjoerd Simons
a38da6a5d0 Stop build tests for Debian bookworm
Debian bookworm uses golang 1.19, which is rather outdated. In
preperation of switching to go modules that require a newer go stop
build testing with Debian bookworm. Leaving current Debian stable
(trixie), testing (forky) and arch.

Fixes: #564
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-11-01 22:01:58 +01:00
Sjoerd Simons
0e0fc6774b Merge pull request #521 from go-debos/wip/obbardc/qemu-backports
Upgrade container to trixie
2025-11-01 12:59:25 +00:00
Christopher Obbard
be3b6d4df8 ci: disable user-mode-linux tests
The user-mode-linux backend appears to be buggy in trixie. Disable
the user-mode-linux backend tests.

Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org>
2025-10-29 10:27:53 +00:00
Christopher Obbard
c63434cd11 Merge branch 'main' into dependabot/github_actions/actions/download-artifact-6 2025-10-29 10:26:43 +00:00
dependabot[bot]
62cfc5dfd3 build(deps): bump actions/download-artifact from 5 to 6
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 03:12:32 +00:00
dependabot[bot]
000aab0a32 build(deps): bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 03:12:29 +00:00
Sjoerd Simons
bc959b65d5 Merge pull request #603 from go-debos/copilot/fix-mmdebstrap-keyring-path
Fix mmdebstrap keyring-files path handling
2025-10-26 10:32:59 +00:00
Sjoerd Simons
b59af4ed28 actions/mmdebstrap_action.go: persist cleaned keyring paths
Let verify (indirectly) save the cleaned keyring paths back to the
action arguments so those are used for the Run as well

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-10-26 10:47:46 +01:00
Sjoerd Simons
dab69c1875 copilot: explain how to run integration tests
Running the docker container build in the copilot coding agent
environment need some workarounds. Document this in more detail for
copilot, while also emphasizing it should always run integration tests
before committing changes.
2025-10-25 23:03:18 +02:00
copilot-swe-agent[bot]
6de5a0defe Add comprehensive .github/copilot-instructions.md for repository onboarding
Co-authored-by: sjoerdsimons <22603932+sjoerdsimons@users.noreply.github.com>
2025-10-25 10:58:48 +02:00
dependabot[bot]
7acc5da173 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [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/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 10:00:57 +00:00
Christopher Obbard
c87f2823f1 Merge branch 'main' into wip/obbardc/go-lint 2025-09-03 21:10:18 +01:00
Christopher Obbard
19dbb9b8dd Run CI tests under debian-forky
Since forky is the codename for the new version of debian testing, run
the CI tests under forky.

Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org>
2025-08-13 15:01:12 +01:00
dependabot[bot]
d5654f3db1 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [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/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 12:48:39 +00:00
Christopher Obbard
83f4aa3930 ci: Add formatting linter stage to workflow
Ensure that submitted merge requests are run through a go linter check to keep
high code quality. Run the linter job in parallel with the unit test jobs
but do not run subsequent Docker container tests (which are heavy on
resources) if the linter job fails.

For now, disable all linters and simply run a `go fmt` check due to
older codebase. The intention is to enable linters one-by-one once the code
quality is manually cleaned up.

Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org>
2025-08-11 14:33:40 +01:00
dependabot[bot]
802bc16805 build(deps): bump actions/download-artifact from 4 to 5
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 03:16:13 +00:00
Christopher Obbard
49549abc3b ci: Build example recipes in GitHub Actions
To ensure that we don't ship broken example recipes (as reported in some
previous bugs), we should build the example recipes and make sure they
build before pushing new container images to the registry.

Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org>
2025-08-05 16:16:02 +01:00
Dylan Aïssi
7801b21f72 ci: Add exitcode tests
Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com>
2025-06-19 16:32:38 +02:00
Dylan Aïssi
d9ba6bab73 cmd: Add 'version' option
This 'version' option prints the debos version.

Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com>
2025-04-08 15:27:26 +02:00
Julien Massot
396bf430a1 Add test for partitioning with alternate sector size
parted will return an error code if the partition
table is not found, and will print the message:
"unrecognised disk label"

Signed-off-by: Julien Massot <julien.massot@collabora.com>
2025-03-04 07:16:15 +01:00
Julien Massot
f0b70e0bac Add test for raw action
Since the introduction of sectorsize header,
the raw action have to handle sector size computation.

Add a test recipe, to cover this feature.

Signed-off-by: Julien Massot <julien.massot@collabora.com>
2025-03-04 07:16:15 +01:00
Nicolai Buchwitz
b58fb75f5e actions: Add mmdebstrap action
Add mmdebstrap [1] as a faster and more flexible alternative to debootstrap.

[1] https://gitlab.mister-muffin.de/josch/mmdebstrap

Signed-off-by: Nicolai Buchwitz <nb+github@tipi-net.de>
2025-02-23 23:32:17 +01:00
Nicolai Buchwitz
e0b59e1dec ci: Fix docker compose command
GitHub deprecated the v1 comands of compose in their images, so all jobs
needs to be migrated to v2 (eg. replace docker-compose with docker
compose). This will fix the unit test job.

See [1] for more details.

[1] https://github.com/orgs/community/discussions/116610

Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
2024-10-29 22:30:57 +01:00
Nicolai Buchwitz
a118f4da3a docker: Add arm64 builds to Dockerfile and CI
Convert Dockerfile so multiple target architecturebuilds are possible. Also
modify the CI pipeline, in order to built a single multi-platform container.

Note that at the current time-being docker cannot export multi-platform
containers without an intermediate registry. Thus only the amd64 image
is exported for the test stage. Nevertheless the arm64 image is built in
the pipeline and also published later to the registry.

Co-authored-by: Thomas Böhler <t.boehler@kunbus.com>
Signed-off-by: Nicolai Buchwitz <n.buchwitz@kunbus.com>
2024-08-24 10:42:36 +02:00
dependabot[bot]
30f5b37cda build(deps): bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 03:32:25 +00:00
Sjoerd Simons
463b97d9ce only run arm builds on kvm backend
The qemu and uml backends are very slow doing arm build so just run it
on kvm builds; The testing on the other ones doesn't add so much value
especially now kvm capable runners are also available on github
2024-01-20 10:13:07 +00:00
Sjoerd Simons
532e55b17d Use github runners for kvm tests
With the github upgraded to newer/bigger runners virtualisation seems to
work so run those tests on the github runners again
2024-01-20 10:13:07 +00:00
dependabot[bot]
ee8cb754e5 build(deps): bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [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/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 06:38:01 +00:00
Sjoerd Simons
bf30a29445 tests: Merge uuid5 test with general templating tests
Setting up the test fixtures takes quite some time, so merge the uuid5
tests into the templating tests. Also simplify it somewhat by just using
`test` rather then diff

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2024-01-15 10:37:59 +00:00
venkata pyla
8cd111941b Add CI test for uuid5 function
Test uuid5 generates same value with given same input and vice-versa

Signed-off-by: venkata pyla <venkata.pyla@toshiba-tsip.com>
2024-01-15 10:37:59 +00:00
Sjoerd Simons
9051908056 tests: add test for msdos partitioning
Add a test for partitioning an msdos label with more then 4 partitions.
The expectation is that the 4th partition will be an extended partition
in this case.
2024-01-13 14:14:08 +00:00
Sjoerd Simons
94d061083e Add test for more templating functions
Renaming the escaping test to a general templating test and add tests
for a selection of functions from sprig-slim as well as the builtin
sector function

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-12-30 22:26:48 +00:00
Sjoerd Simons
7969a64070 Bump fakemachine to 0.0.8
Move to fakemachine 0.0.8. This requires dropping the test builds on
bullseeye as it bumps the minimal golang requirement.

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-12-30 16:08:04 +00:00
Christopher Obbard
1a1a61084d ci: use generic test container
In go-debos/test-containers#30 we simplified the test containers by
only creating one container for both fakemachine/debos instead of creating
separate containers for each project. Use the new container.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2023-12-30 11:44:55 +00:00
Sjoerd Simons
612b2356fa Also run tests on self-hosted kvm runner
kvm is the recommended backend for fakemachine; Unfortunately github
hosted runners don't always support virtualization[0]. Luckily the debos
organisation now has a kvm supported self-hosted runner sponsored by
Collabora, so use that for kvm tests.

This also simplifies the matrix properties for jobs, moving their quirks
into expressions instead. Simple tests for building non-debian
distributions (arch, apertis) are now ran on kvm as well

0: The github-hosted runners are sometimes the documented intel xeon
   based-instance type without virt support.. and sometimes amd epyc
   with virt support.

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-12-30 10:20:47 +00:00
dependabot[bot]
a7bfc09792 build(deps): bump actions/download-artifact from 3 to 4
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-22 15:21:54 +00:00
dependabot[bot]
2ecf23cecb build(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-22 15:21:54 +00:00
Sjoerd Simons
659acaa0b5 Add CI test for escaping
Test both escaping variables passed into debos and the new escaping
template function

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-11-11 09:53:47 +00:00
dependabot[bot]
61d9105f4c build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [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/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 12:49:35 +00:00
dependabot[bot]
2543a335b3 build(deps): bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 10:37:55 +00:00
dependabot[bot]
2d45d205bc build(deps): bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 10:37:51 +00:00
dependabot[bot]
32e70fe274 build(deps): bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 10:37:35 +00:00
dependabot[bot]
12cd9ff111 build(deps): bump docker/metadata-action from 4 to 5
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4 to 5.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md)
- [Commits](https://github.com/docker/metadata-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 10:36:38 +00:00
Christopher Obbard
201623dd8d ci: Add debian trixie to the test matrix
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2023-07-24 08:35:33 +00:00
Sjoerd Simons
44118fe78d Use alls-green to signal overall workflow state
Setting up each required job by hand is annoying; So similar to what we
did with bors have one job that concludes the overall status. As opposed
to bors this *always* runs rather then only when everything is good, as
that allows github to trigger properly.

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-06-19 06:55:08 +00:00
dependabot[bot]
40d50fa0c0 build(deps): bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 03:04:17 +00:00
bors[bot]
bcee56f3f5 Merge #375 #387
375: Modernise example recipes and fix bug r=obbardc a=obbardc

Fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1006823

387: ci: remove deprecated set-output r=obbardc a=evelikov

The option is deprecated and we should be using $GITHUB_OUTPUT instead. See the official announcement for details:

https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/


Co-authored-by: Christopher Obbard <chris.obbard@collabora.com>
Co-authored-by: Emil Velikov <emil.velikov@collabora.com>
2023-01-03 13:08:56 +00:00
bors[bot]
6c6e7dd698 Merge #377
377: Arch support - aka pacstrap, pacman and tests r=obbardc a=evelikov

This PR adds support for creating pacman based images (be that Arch or alike). Similar to the Debian variant we have two important actions - pacstrap and pacman.
 - pacstrap, requires pacman.conf and mirrorlist files
 - pacman is a simple list of packages, just like apt
 
 This PR supersedes https://github.com/go-debos/debos/pull/276 and https://github.com/go-debos/debos/pull/277, where the most significant changes are within the pacstrap action. In particular, we no longer write the config/mirrorlist files.

Considering that pacman is changing faster than debos, it makes sense to have the files as drop-ins instead of trying to hard-code them within debos itself.

Note: the final commit adds a simple CI file, which is not wired. Tips on how to achieve that would be appreciated.

Co-authored-by: Emil Velikov <emil.velikov@collabora.com>
Co-authored-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2023-01-03 11:39:54 +00:00