437 Commits

Author SHA1 Message Date
dependabot[bot]
9857a4d40a build(deps): bump github.com/go-debos/fakemachine from 0.0.5 to 0.0.6
Bumps [github.com/go-debos/fakemachine](https://github.com/go-debos/fakemachine) from 0.0.5 to 0.0.6.
- [Commits](https://github.com/go-debos/fakemachine/compare/v0.0.5...v0.0.6)

---
updated-dependencies:
- dependency-name: github.com/go-debos/fakemachine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
v1.1.2
2023-09-27 06:35:35 +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
dependabot[bot]
38afff7b40 build(deps): bump github.com/google/uuid from 1.3.0 to 1.3.1
Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/google/uuid/releases)
- [Changelog](https://github.com/google/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/uuid/compare/v1.3.0...v1.3.1)

---
updated-dependencies:
- dependency-name: github.com/google/uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-22 09:08:07 +00:00
Vignesh Raman
df4f717f4d action/debootstrap: make suite property mandatory for debootstrap action
Check if suite property is present for debootstarp action and contains
a string. If suite is not present, exit with an error.

Fixes: #238

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
2023-08-04 08:48:06 +00:00
dependabot[bot]
1ea5f887c8 build(deps): bump github.com/go-debos/fakemachine from 0.0.4 to 0.0.5
Bumps [github.com/go-debos/fakemachine](https://github.com/go-debos/fakemachine) from 0.0.4 to 0.0.5.
- [Commits](https://github.com/go-debos/fakemachine/compare/v0.0.4...v0.0.5)

---
updated-dependencies:
- dependency-name: github.com/go-debos/fakemachine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-25 10:05: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
Christopher Obbard
b1197b80b4 actions: apt: Don't show progress update percentages
Showing the update progress can cause non-interactive shells which do not
support moving the cursor to become confused and not show the correct
output. For instance, GitLab CI ignores any line which attempts to move the
cursor, meaning some output for the apt action is just discarded.

Disable the apt progress from being shown and instead only showing the apt
output log.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2023-07-22 07:24:28 +00:00
Vignesh Raman
6bcd2754cf actions: pack/unpack: use pigz for compression
pigz does gzip compression on multiple cores and multiple processors
and there is improvement in compression time on multi core machines.
Use pigz for gzip compression if installed on the host machine.

Fixes: #218

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
2023-07-11 09:54:48 +00:00
Christopher Obbard
5412d8beac filesystem: Bubble up errors rather than panicing
If the overlay action fails to copy a file into the target filesystem
(e.g. destination path inside the filesystem doesn't exist), the current
behaviour is to panic, which causes a debos call inside the fakemachine
to panic, which isn't detected by the outer debos call.

This causes the execution of the inner debos call to stop (i.e. the
remaining recipe actions are no longer ran which is expected), but the
postexec commands still run and the overall exection is marked as
successful!

Rework the panics to instead bubble up errors so that any errors when
overlaying files causes the recipe to error out correctly rather than
this unexpected behaviour.

Before this commit is applied, the panic causes the debos call inside the
fakemachine to fail without being trapped by the outer debos call and the
outer debos call to still run the postprocess commands and exit with no
error as if the overlay action was successful:

    $ debos tests/overlay-non-existent-destination/overlay-non-existent-destination.yaml
    2023/07/05 11:07:24 ==== Overlay file to a non-existent destination ====
    2023/07/05 11:07:24 Overlaying tests/overlay-non-existent-destination/overlay-non-existent-destination.yaml on /scratch/root/this/path/does/not/exist
    2023/07/05 11:07:24 Failed to copy file tests/overlay-non-existent-destination/overlay-non-existent-destination.yaml: open /scratch/root/this/path/does/not/3277940894: no such file or directory
    2023/07/05 12:07:24 ==== run ====
    2023/07/05 12:07:24 echo Test | Test
    2023/07/05 12:07:24 ==== Recipe done ====
    $ echo $?
    0

With this commit applied, the execution of the outer debos call stops when
the overlay action fails and the error is correctly bubbled up to the user:

    $ debos tests/overlay-non-existent-destination/overlay-non-existent-destination.yaml
    2023/07/05 11:08:15 ==== Overlay file to a non-existent destination ====
    2023/07/05 11:08:15 Overlaying tests/overlay-non-existent-destination/overlay-non-existent-destination.yaml on /scratch/root/this/path/does/not/exist
    2023/07/05 11:08:15 Action `Overlay file to a non-existent destination` failed at stage Run, error: Failed to copy file tests/overlay-non-existent-destination/overlay-non-existent-destination.yaml: open /scratch/root/this/path/does/not/1742738134: no such file or directory
    $ echo $?
    1

Fixes: #401
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2023-07-10 19:42:19 +00:00
Christopher Obbard
d08d5d1cfb Add test to overlay into a non-existent destination
Attempt to overlay a file into a directory in the filesystem which doesn't
exist. The expected behavior is to cause an error.

This test is currently a manual test case and is not hooked into the CI.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2023-07-10 19:42:19 +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
Christopher Obbard
340cd7c92f Remove bors in favour of GitHub merge queue
Use a GitHub merge queue instead of bors.

Closes: #405
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2023-06-19 06:55:08 +00:00
bors[bot]
e55edcdb4d Merge #400
400: build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 r=obbardc a=dependabot[bot]

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="f36bfe3c33"><code>f36bfe3</code></a> Fix Subset/NotSubset when map is missing keys from the subset (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1261">#1261</a>)</li>
<li><a href="0ab3ce1249"><code>0ab3ce1</code></a> Fix <code>CallerInfo()</code> source file paths (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1288">#1288</a>)</li>
<li><a href="2b00d33aec"><code>2b00d33</code></a> Fix Call.Unset() panic (issue <a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1236">#1236</a>) (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1250">#1250</a>)</li>
<li><a href="9acc22213e"><code>9acc222</code></a> fix: fix bug for check unsafe.Pointer isNil (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1319">#1319</a>)</li>
<li><a href="1333b5d3bd"><code>1333b5d</code></a> Add sub-tests to Suite (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1246">#1246</a>)</li>
<li>See full diff in <a href="https://github.com/stretchr/testify/compare/v1.8.1...v1.8.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.8.1&new-version=1.8.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-20 14:06:31 +00:00
bors[bot]
7b8ccef0aa Merge #402
402: image_partition_action.go: allow fraction sizes for binary units r=obbardc a=venkata-pyla

The current filter for checking the size unit is not considered the fractions and it is wrongly filtered.
 e.g: 10.5GiB is filtered for or converted value as 10.5GB.

 Before fix:
  When size is 10.5GiB, the image is generated with 10500000000Bytes (wrong)

 After fix:
  When size is 10.5GiB, the image is generated with 11274289152Bytes (correct)

Suggested-by: Akihiro Suzuki <akihiro27.suzuki@toshiba.co.jp>

Co-authored-by: venkata pyla <venkata.pyla@toshiba-tsip.com>
2023-03-20 13:19:22 +00:00
venkata pyla
babd5e6ba6 image_partition_action.go: allow fraction sizes for binary units
The current filter for checking the size unit is not considered the
fractions and it is wrongly filtered.
 e.g: 10.5GiB is filtered for or converted value as 10.5GB.

 Before fix:
  When size is 10.5GiB, the image is generated with 10500000000Bytes (wrong)

 After fix:
  When size is 10.5GiB, the image is generated with 11274289152Bytes (correct)

Suggested-by: Akihiro Suzuki <akihiro27.suzuki@toshiba.co.jp>
Signed-off-by: venkata pyla <venkata.pyla@toshiba-tsip.com>
2023-03-14 18:16:27 +05:30
dependabot[bot]
f6a4cb4e40 build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.1...v1.8.2)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 04:15:14 +00:00
bors[bot]
e330005567 Merge #399
399: Include non-free-firmware component in Simple example r=obbardc a=Penlect

Fixes #398

Co-authored-by: Daniel Andersson <daniel.andersson@qrtech.se>
2023-02-24 17:29:52 +00:00
Daniel Andersson
f4ff783055 Include non-free-firmware component in Simple example
Fixes #398
2023-02-24 18:21:50 +01:00
bors[bot]
91c4f2a248 Merge #397
397: build(deps): bump github.com/go-debos/fakemachine from 0.0.3 to 0.0.4 r=obbardc a=dependabot[bot]

Bumps [github.com/go-debos/fakemachine](https://github.com/go-debos/fakemachine) from 0.0.3 to 0.0.4.
<details>
<summary>Commits</summary>
<ul>
<li><a href="f31faeb506"><code>f31faeb</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/117">#117</a></li>
<li><a href="9311ecad4d"><code>9311eca</code></a> Add CI test to ensure man page is kept up-to-date</li>
<li><a href="24386589a7"><code>2438658</code></a> docs: add manpage</li>
<li><a href="25bc9478cf"><code>25bc947</code></a> docs: correct spelling of fakemachine</li>
<li><a href="f4abe050cb"><code>f4abe05</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/127">#127</a></li>
<li><a href="9d84400ddf"><code>9d84400</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/132">#132</a></li>
<li><a href="b4b03b72cf"><code>b4b03b7</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/73">#73</a></li>
<li><a href="8f8c5e49d2"><code>8f8c5e4</code></a> Add quiet mode</li>
<li><a href="15a20cde72"><code>15a20cd</code></a> Quieten poweroff message</li>
<li><a href="f9281ccd52"><code>f9281cc</code></a> Print startup message outside runner service</li>
<li>Additional commits viewable in <a href="https://github.com/go-debos/fakemachine/compare/v0.0.3...v0.0.4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-debos/fakemachine&package-manager=go_modules&previous-version=0.0.3&new-version=0.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-09 07:42:27 +00:00
dependabot[bot]
540a872d1a build(deps): bump github.com/go-debos/fakemachine from 0.0.3 to 0.0.4
Bumps [github.com/go-debos/fakemachine](https://github.com/go-debos/fakemachine) from 0.0.3 to 0.0.4.
- [Release notes](https://github.com/go-debos/fakemachine/releases)
- [Commits](https://github.com/go-debos/fakemachine/compare/v0.0.3...v0.0.4)

---
updated-dependencies:
- dependency-name: github.com/go-debos/fakemachine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 03:04:36 +00:00
bors[bot]
938ae8fcf1 Merge #394
394: build(deps): bump docker/build-push-action from 3 to 4 r=obbardc a=dependabot[bot]

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/docker/build-push-action/releases">docker/build-push-action's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<blockquote>
<p><strong>Warning</strong></p>
<p>Buildx v0.10 enables support for a minimal <a href="https://slsa.dev/provenance/">SLSA Provenance</a> attestation, which requires support for <a href="https://github.com/opencontainers/image-spec">OCI-compliant</a> multi-platform images. This may introduce issues with registry and runtime support (e.g. <a href="https://github-redirect.dependabot.com/docker/buildx/issues/1533">Google Cloud Run and AWS Lambda</a>). You can optionally disable the default provenance attestation functionality using <code>provenance: false</code>.</p>
</blockquote>
<ul>
<li>Revert disable provenance by default if not set by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` in <a href="https://github-redirect.dependabot.com/docker/build-push-action/pull/784">docker/build-push-action#784</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.3.1...v4.0.0">https://github.com/docker/build-push-action/compare/v3.3.1...v4.0.0</a></p>
<h2>v3.3.1</h2>
<ul>
<li>Disable provenance by default if not set by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/781">#781</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.3.0...v3.3.1">https://github.com/docker/build-push-action/compare/v3.3.0...v3.3.1</a></p>
<h2>v3.3.0</h2>
<blockquote>
<p><strong>Warning</strong></p>
<p>Buildx v0.10 enables support for a minimal <a href="https://slsa.dev/provenance/">SLSA Provenance</a> attestation, which requires support for <a href="https://github.com/opencontainers/image-spec">OCI-compliant</a> multi-platform images. This may introduce issues with registry and runtime support (e.g. <a href="https://github-redirect.dependabot.com/docker/buildx/issues/1533">Google Cloud Run and AWS Lambda</a>). You can optionally disable the default provenance attestation functionality using <code>provenance: false</code>.</p>
</blockquote>
<ul>
<li>Add <code>attests</code>, <code>provenance</code> and <code>sbom</code> inputs by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/746">#746</a> <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/759">#759</a>)</li>
<li>Log GitHub Actions runtime token access controls by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/707">#707</a>)</li>
<li>Examples moved to <a href="https://docs.docker.com/build/ci/github-actions/examples/">docs website</a> by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/718">#718</a>)</li>
<li>Bump minimatch from 3.0.4 to 3.1.2 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/732">#732</a>)</li>
<li>Bump csv-parse from 5.3.0 to 5.3.3 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/729">#729</a>)</li>
<li>Bump json5 from 2.2.0 to 2.2.3 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/749">#749</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.2.0...v3.3.0">https://github.com/docker/build-push-action/compare/v3.2.0...v3.3.0</a></p>
<h2>v3.2.0</h2>
<ul>
<li>Remove workaround for <code>setOutput</code> by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/704">#704</a>)</li>
<li>Docs: fix Git context link and add more details about subdir support by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/685">#685</a>)</li>
<li>Docs: named context by <a href="https://github.com/baibaratsky"><code>`@​baibaratsky</code></a>` and <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/665">#665</a>)</li>
<li>Bump <code>`@​actions/core</code>` from 1.9.0 to 1.10.0 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/667">#667</a> <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/695">#695</a>)</li>
<li>Bump <code>`@​actions/github</code>` from 5.0.3 to 5.1.1 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/696">#696</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.1.1...v3.2.0">https://github.com/docker/build-push-action/compare/v3.1.1...v3.2.0</a></p>
<h2>v3.1.1</h2>
<ul>
<li>Fix GitHub token not passed with Git context if subdir defined by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/663">#663</a>)</li>
<li>Replace deprecated <code>fs.rmdir</code> with <code>fs.rm</code> by <a href="https://github.com/bendrucker"><code>`@​bendrucker</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/657">#657</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.1.0...v3.1.1">https://github.com/docker/build-push-action/compare/v3.1.0...v3.1.1</a></p>
<h2>v3.1.0</h2>
<ul>
<li><code>no-cache-filters</code> input by <a href="https://github.com/crazy-max"><code>`@​crazy-max</code></a>` (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/653">#653</a>)</li>
<li>Bump <code>`@​actions/github</code>` from 5.0.1 to 5.0.3 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/619">#619</a>)</li>
<li>Bump <code>`@​actions/core</code>` from 1.6.0 to 1.9.0 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/620">#620</a> <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/637">#637</a>)</li>
<li>Bump csv-parse from 5.0.4 to 5.3.0 (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/623">#623</a> <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/650">#650</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.0.0...v3.1.0">https://github.com/docker/build-push-action/compare/v3.0.0...v3.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3b5e8027fc"><code>3b5e802</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/784">#784</a> from crazy-max/enable-provenance</li>
<li><a href="02d3266a89"><code>02d3266</code></a> update generated content</li>
<li><a href="f403dafe18"><code>f403daf</code></a> revert disable provenance by default if not set</li>
<li>See full diff in <a href="https://github.com/docker/build-push-action/compare/v3...v4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 07:57:34 +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]
0c8e97d6ab Merge #390
390: Limit old suite workaround r=obbardc a=andhe

The workaround for https://github.com/go-debos/debos/issues/361 that was applied in b3c1f76bcc breaks recipes for bookworm and newer.

This change makes the workaround less damaging (should atleast work with official debian releases for the forseeable future), while still far from perfect (any derivate distribution that is bookworm-based will fail).

Co-authored-by: Andreas Henriksson <andreas@fatal.se>
2023-01-03 12:28:13 +00:00
Andreas Henriksson
18998ffaf7 Limit old suite workaround
The workaround for https://github.com/go-debos/debos/issues/361
that was applied in b3c1f76bcc
breaks recipes for bookworm and newer.

Signed-off-by: Andreas Henriksson <andreas@fatal.se>
2023-01-03 12:42:42 +01: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
bors[bot]
39630adeff Merge #388
388: Fix --no-fakemachine CI tests r=obbardc a=obbardc



Co-authored-by: Christopher Obbard <chris.obbard@collabora.com>
2022-12-19 13:46:11 +00:00
Christopher Obbard
1beb884943 Fix --no-fakemachine CI tests
The --no-fakemachine tests currently fail when the test recipe
uses the apt actions with:

    2022/12/07 15:22:25 apt clean | Failed to mount cgroup (type cgroup) on /tmp/unifiedANLvrW (MS_NOSUID|MS_NODEV|MS_NOEXEC "none,name=systemd,xattr"): Operation not permitted

For whatever reason the docker container hasn't figured out
the correct cgroup heirarchy from the GitHub actiosn
environment. Fix it by forcing unified cgroup heirarchy in
the container used for the tests.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-12-19 13:44:40 +00:00
Emil Velikov
0f5cc52e07 tests: add basic Arch test suite
Nothing special here - a simple test.yaml akin to the existing ones.

The pacman.conf file is effectively vanilla config that comes with the
pacman package, while the mirrorlist file is a list of UK https mirrors
that I've been using for years.

Note that there is no canonical mirror for Arch. The top-level/tier 1
Arch server should _not_ be used as per the official recommendation.
Instead we use the mirrors set in the official arch docker tooling.

v2:
 - Also install archlinux-keyring and makepkg
 - Use arch + backend=qemu only testing matrix

v3:
 - Use the same mirrors as the Arch docker images tooling
 - Build and install pacman locally, until we get an official package

v4:
 - Remove the local pacman build - it's available in backports

v5:
 - Explicitly pull arch-install-scripts from backports, normal one lack
   pacstrap

v6:
 - Manually pull the latest keyring - Debian one is outdated

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2022-12-15 14:25:05 +00:00
Arnaud Rebillout
6502331170 Add pacman action
Add a pacman action, whereby pacman is the Arch package manager akin to
apt for Debian. This allows us to install packages, after the initial
pacstrap action (or equivalent).

Akin to the pacstrap action - there is a Debian package for pacman. Plus
upstream pacman continuously builds and tests pacman against Arch,
Fedora and Debian.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>

v2: [Ed]
 - Drop --color never as it is implicit
 - Drop --noprogressbar likewise
 - Reorder remaining arguments
 - Style tweaks

v3: [Emil]
 - Run the lot through gofmt -s -w
 - Commit message
 - Sort the action alphabetically

v4: [Emil]
 - Drop quotes around pacman

Signed-off-by: Ed Smith <ed.smith@collabora.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
---

Similar to the pacstrap action, the formatting is a bit weird props to
gofmt. Happy to drop that hunk.
2022-12-09 12:17:56 +00:00
Emil Velikov
c5b570b1c3 Add pacstrap action
Add a pacstrap action, which is the Arch variant of debootstrap.
In other words, this allows us to bootstrap an Arch image.

Bear in mind that the tool pacstrap is a thin wrapper around the pacman
package manager. Both of those are separate projects and are available
as Debian packages, in case one wants to give them a try.

This is loosely based on the work by Arnaud Rebillout

Note: the action works only within a fakemachine instance, making it
work outside is doable but left for a later day.

v2:
 - drop pacman-key capitalisation

v3:
 - drop pacstrap capitalisation

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
---
Some of the changes made:
 - Commit message
 - Remove all pacman.conf and mirrorlist generation
 - Use drop-in user files for ^^
 - Remove custom flags passed to pacman-key, pacstrap
 - Add Verify hook for validation
 - Sort the action
 - Run through gofmt -s -w
 - Add PreNoMachine() stage

NOTE: the funky formatting of the pacstrap_action.do header is due to
gofmt. Can drop those changes if people prefer.
2022-12-09 12:17:35 +00:00
Christopher Obbard
978bfc85e2 Run CI workflow weekly
We have issues with the CI workflow randomly failing
when users submit pull requests. It's not great to
block features added by users on these failures; let's
run the CI more frequently such that these issues are
caught earlier.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-12-07 16:37:51 +00:00
Emil Velikov
37cea98f15 ci: remove deprecated set-output
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/

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2022-12-07 16:34:46 +00:00
Christopher Obbard
d725efbf6d Fix typo in test case name
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-12-07 16:28:50 +00:00
bors[bot]
3b7072b1fe Merge #282
282: actions: overlay: Log using action log functions r=obbardc a=obbardc

Currently the overlay action prints directly to stdout, which
ends up not following the standard output format the other
actions follow. Let's clean this up by using the action's
existing logging functions rather than printing directly
to stdout.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>

Co-authored-by: Christopher Obbard <chris.obbard@collabora.com>
2022-11-02 19:00:54 +00:00
bors[bot]
08c651e7be Merge #383
383: tests: process json files throgh jq prior to comparing r=obbardc a=evelikov

There are various whitespace changes that can occur in json files. Use the same pretty-format in both files to ensure the output is stable and consistent.

Note: we need to explicitly call "bash -c" here otherwise, we'll end up with pure POSIX shell (sh), where anonymous pipes are not a thing.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

Co-authored-by: Emil Velikov <emil.velikov@collabora.com>
2022-11-02 17:36:56 +00:00
Emil Velikov
5ab3792a81 tests: process json files throgh jq prior to comparing
There are various whitespace changes that can occur in json files. Use
the same pretty-format in both files to ensure the output is stable and
consistent.

Note: we need to explicitly call "bash -c" here otherwise, we'll end up
with pure POSIX shell (sh), where anonymous pipes are not a thing.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2022-11-02 17:31:59 +00:00
bors[bot]
2a560adfee Merge #381
381: image-partition: add unlock() in the error paths r=obbardc a=evelikov

Earlier commit added image locking around the partition handling. Yet we forgot to unlock in the error path - fix that.

Fixes: 1002e0a ("image-partition: Minimize the image lock scope")

Co-authored-by: Emil Velikov <emil.velikov@collabora.com>
2022-11-02 16:54:41 +00:00
Emil Velikov
94ccf861d8 image-partition: add unlock() in the error paths
Earlier commit added image locking around the partition handling. Yet we
forgot to unlock in the error path - fix that.

v2: use defer - this may lead to File.Close() being called twice, but
internally golang is smart enough to only call `man 3 close` as needed

Fixes: 1002e0a ("image-partition: Minimize the image lock scope")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2022-11-02 16:50:55 +00:00
bors[bot]
1462687e0d Merge #371 #373
371: docs: RawAction: list possible values for origin r=obbardc a=jakob-tsd

Getting the raw action to work with an actual file was somewhat confusing for me.

Looking at the code, the origin is searched for in context.Origins, which is only set in three places:

 $ git grep Origins
 download_action.go:     context.Origins[d.Name] = originPath
 filesystem_deploy_action.go:    context.Origins["filesystem"] = context.ImageMntDir
 ostree_deploy_action.go:                context.Origins["filesystem"] = context.ImageMntDir

In addition, "recipe" is special-cased in DebosContext.Origin.

List all four options to hopefully make it less confusing for the next person.

373: build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 r=obbardc a=dependabot[bot]

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b747d7c5f8"><code>b747d7c</code></a> Bump github.com/stretchr/objx from 0.4.0 to 0.5.0 (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1283">#1283</a>)</li>
<li>See full diff in <a href="https://github.com/stretchr/testify/compare/v1.8.0...v1.8.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.8.0&new-version=1.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-27 10:15:17 +00:00
Christopher Obbard
cc75f7df3c doc/examples: Don't install packages missing from bullseye
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-10-27 10:45:19 +01:00
Christopher Obbard
67aeea3424 doc/examples: Don't use chroot to set hostname
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-10-27 10:45:19 +01:00
Christopher Obbard
44fe73c3e9 doc/examples: Keep consistency with whitespace modifiers
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-10-27 10:45:19 +01:00
Christopher Obbard
1415971122 doc/examples: Reformat array to use multiple lines
Linebreaks are cheap; they also allow us to see changes in git history
a lot cleaner.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-10-27 10:45:19 +01:00
Christopher Obbard
2d0ed37410 doc/examples: Don't enable contrib and non-free
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-10-27 10:45:19 +01:00
Christopher Obbard
a909725e1b doc/examples: Set suite to bullseye
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
2022-10-27 10:45:19 +01:00