372: image-partition: Minimize the image lock scope r=obbardc a=sjoerdsimons
Newer systemd/udev versions will delay processing events for block devices if another process holds an exclusive file lock, which is meant to improve coordination with e.g. partitioners.
This also means `udevadm settle` will block until it hits a timeout if being called while a lock is held. Which happens with the current debos locking scheme (holding the lock for all paritioning operations) due to Debians parted running `udevadm settle` after committing partition changes.
However the debos current locking will equivalently be problematic when partitioning tools will take over systemds device locking recommendations as they'll want to flock the device themselves.
To fix both current and future issues change the debos locking scheme to *only* hold an exclusive lock for operations using the partition devices (formatting and mounting) to avoid udev triggering partition table rescans and devices disappearing when debos actually wants to use them.
Fixes: #344
See: https://systemd.io/BLOCK_DEVICE_LOCKING/
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
Co-authored-by: Sjoerd Simons <sjoerd@collabora.com>
Newer systemd/udev versions will delay processing events for block
devices if another process holds an exclusive file lock, which is meant to
improve coordination with e.g. partitioners.
This also means `udevadm settle` will block until it hits a timeout if
being called while a lock is held. Which happens with the current debos
locking scheme (holding the lock for all paritioning operations) due to
Debians parted running `udevadm settle` after committing partition
changes.
However the debos current locking will equivalently be problematic when
partitioning tools will take over systemds device locking
recommendations as they'll want to flock the device themselves.
To fix both current and future issues change the debos locking scheme to
*only* hold an exclusive lock for operations using the partition devices
(formatting and mounting) to avoid udev triggering partition table
rescans and devices disappearing when debos actually wants to use them.
Fixes: #344
See: https://systemd.io/BLOCK_DEVICE_LOCKING/
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
370: godoc: add blank line in front of yaml examples r=obbardc a=jakob-tsd
The yaml examples get somewhat mangled on godoc.org currently.
Example from https://pkg.go.dev/github.com/go-debos/debos/actions@main#hdr-Recipe_syntax :
action: apt recommends: bool unauthenticated: bool update: bool packages:
package1
package2
Adding a blank line in front of the blocks makes the examples render as preformatted text.
Co-authored-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
The yaml examples get somewhat mangled on godoc.org currently.
Example from https://pkg.go.dev/github.com/go-debos/debos/actions@main#hdr-Recipe_syntax :
action: apt recommends: bool unauthenticated: bool update: bool packages:
package1
package2
Adding a blank line in front of the blocks makes the examples render
as preformatted text.
369: build(deps): bump github.com/go-debos/fakemachine from 0.0.2 to 0.0.3 r=obbardc a=dependabot[bot]
Bumps [github.com/go-debos/fakemachine](https://github.com/go-debos/fakemachine) from 0.0.2 to 0.0.3.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9641d4f9f0"><code>9641d4f</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/106">#106</a></li>
<li><a href="ad12de23c2"><code>ad12de2</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/111">#111</a></li>
<li><a href="9d909e0f74"><code>9d909e0</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/87">#87</a></li>
<li><a href="58b2e621fa"><code>58b2e62</code></a> bors: Delete merged branches on main repository</li>
<li><a href="60be4149c1"><code>60be414</code></a> Run CI tests on user-mode-linux backend on Debian</li>
<li><a href="5f56dd86f0"><code>5f56dd8</code></a> machine: Remove pointless sorting in modules.dep</li>
<li><a href="0d67c50fbe"><code>0d67c50</code></a> machine: Simplify suffix handling</li>
<li><a href="35e096a99b"><code>35e096a</code></a> Fix TestImage unit test for user-mode-linux backend</li>
<li><a href="4631328783"><code>4631328</code></a> Allow backend to be chosen when running unit tests</li>
<li><a href="00790b2d44"><code>00790b2</code></a> Merge <a href="https://github-redirect.dependabot.com/go-debos/fakemachine/issues/102">#102</a></li>
<li>Additional commits viewable in <a href="https://github.com/go-debos/fakemachine/compare/v0.0.2...v0.0.3">compare view</a></li>
</ul>
</details>
<br />
[](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>
334: image_partition_action: Add support for FS extended options r=obbardc a=cazou
Extended options can be used for specific file system tuning.
352: build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 r=obbardc a=dependabot[bot]
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="181cea6eab"><code>181cea6</code></a> impr: <code>CallerInfo</code> should print full paths to the terminal (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1201">#1201</a>)</li>
<li><a href="cf1284f8dd"><code>cf1284f</code></a> Allow mock expectations to be ordered (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1106">#1106</a>)</li>
<li><a href="66eef0ef3a"><code>66eef0e</code></a> fix: assert.MapSubset (or just support maps in assert.Subset) (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1178">#1178</a>)</li>
<li><a href="2fab6dffcf"><code>2fab6df</code></a> Add WithinTimeRange method (<a href="https://github-redirect.dependabot.com/stretchr/testify/issues/1188">#1188</a>)</li>
<li>See full diff in <a href="https://github.com/stretchr/testify/compare/v1.7.5...v1.8.0">compare view</a></li>
</ul>
</details>
<br />
[](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>
360: build(deps): bump github.com/docker/go-units from 0.4.0 to 0.5.0 r=obbardc a=dependabot[bot]
Bumps [github.com/docker/go-units](https://github.com/docker/go-units) from 0.4.0 to 0.5.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="e682442797"><code>e682442</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/go-units/issues/40">#40</a> from kolyshkin/no-regex</li>
<li><a href="737572633c"><code>7375726</code></a> size: stop using regexp</li>
<li><a href="cec49607f7"><code>cec4960</code></a> size_test: add more tests</li>
<li><a href="54c3e55954"><code>54c3e55</code></a> size_test: add t.Helper annotations</li>
<li><a href="1d23ffa157"><code>1d23ffa</code></a> size_test: add parseSize benchmark</li>
<li><a href="af07f36391"><code>af07f36</code></a> size_test: add tests for 0.3 + suffix</li>
<li>See full diff in <a href="https://github.com/docker/go-units/compare/v0.4.0...v0.5.0">compare view</a></li>
</ul>
</details>
<br />
[](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: Detlev Casanova <detlev.casanova@collabora.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
365: bors: Delete merged branches on main repository r=sjoerdsimons a=obbardc
Once bors merges a branch from the main (i.e. this) repository, the original wip branch isn't removed. Add the configuration to delete the branch after the merge has completed.
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
Co-authored-by: Christopher Obbard <chris.obbard@collabora.com>
366: README.md: add benchmarks for the different backends r=obbardc a=rfjakob
For me as a user it was unclear to me what kind of penalty there is for not allowing access to /dev/kvm, so I timed how long building pine-a64-plus/debian.yaml takes for the different backends.
I did not use the rpi recipes as they spend a lot of time downloading firmware blobs.
The tested debos version is 82c36d07b3 (current main at the time of writing) and the benchmarks have been run on an otherwise-idle box with the following specs:
* Debian Bullseye AMD64 (kernel 5.10.92)
* go version go1.15.15 linux/amd64
* 4 x Intel(R) Pentium(R) CPU G4560T @ 2.90GHz
* Fast M.2 SSD
* 24 GiB of RAM
For posterity, the very simple benchmark script is attached below:
#!/bin/bash
set -eux
time sudo debos --disable-fakemachine debian.yaml
time debos -b kvm debian.yaml
time debos -b uml debian.yaml
time debos -b qemu debian.yaml
Co-authored-by: Jakob Unterwurzacher <jakobunt@gmail.com>
For me as a user it was unclear to me what kind of penalty there
is for not allowing access to /dev/kvm, so I timed how long
building pine-a64-plus/debian.yaml takes for the different
backends.
I did not use the rpi recipes as they spend a lot of time downloading
firmware blobs.
The tested debos version is 82c36d07b3
(current main at the time of writing) and the benchmarks have been
run on an otherwise-idle box with the following specs:
* Debian Bullseye AMD64 (kernel 5.10.92)
* go version go1.15.15 linux/amd64
* 4 x Intel(R) Pentium(R) CPU G4560T @ 2.90GHz
* Fast M.2 SSD
* 24 GiB of RAM
For posterity, the very simple benchmark script is attached below:
#!/bin/bash
set -eux
time sudo debos --disable-fakemachine debian.yaml
time debos -b kvm debian.yaml
time debos -b uml debian.yaml
time debos -b qemu debian.yaml
Once bors merges a branch from the main (i.e. this) repository, the
original wip branch isn't removed. Add the configuration to delete
the branch after the merge has completed.
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
364: ci: Run tests inside test container r=sjoerdsimons a=obbardc
For faster developer feedback, kick off a test build and the unit test suite inside pre-made containers. This allows the job to fail-fast since a developer doesn't need to wait for a Docker container to be built.
This also has the benefit of testing Debos on various platforms other than the final Docker container.
Co-authored-by: Christopher Obbard <chris.obbard@collabora.com>
For faster developer feedback, kick off a test build and the
unit test suite inside pre-made containers. This allows the
job to fail-fast since a developer doesn't need to wait for
a Docker container to be built.
This also has the benefit of testing Debos on various
platforms other than the final Docker container.
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
362: fix non-debian builds based on current debian releases r=obbardc a=sjoerdsimons
Work around new debootstrap behaviour by always excluding the
usr-is-merged package as this allows derivatives based on older debian
versions to build again. See #361 for more details
Co-authored-by: Sjoerd Simons <sjoerd@collabora.com>
Apertis is a Debian derivative, bootstrap that to test that a non-debian
based distribution with a different codenames for release can be
successfully bootstrapped by go-debos.
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
Work around new debootstrap behaviour by always excluding the
usr-is-merged package as this allows derivatives based on older debian
versions to build again. See #361 for more details
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
354: ci: Run workflow when tags are pushed r=obbardc a=obbardc
Currently the workflow isn't ran when a tag is pushed; so the
docker images are not pushed to the registry. Fix it.
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
Co-authored-by: Christopher Obbard <chris.obbard@collabora.com>
Currently the workflow isn't ran when a tag is pushed; so the
docker images are not pushed to the registry. Fix it.
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
These days there are more example recipes then just for
the Raspberry Pi 3; explain that.
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
We should only push images to Dockerhub if the secrets
exist in the GitHub project settings.
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
331: build(deps): bump actions/download-artifact from 2 to 3 r=sjoerdsimons a=dependabot[bot]
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node16 (<a href="https://github-redirect.dependabot.com/actions/download-artifact/pull/134">actions/download-artifact#134</a>)</li>
<li>Update package-lock.json file version to 2 (<a href="https://github-redirect.dependabot.com/actions/download-artifact/pull/136">actions/download-artifact#136</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
<h2>v2.1.0 Download Artifact</h2>
<ul>
<li>Improved output & logging</li>
<li>Fixed issue where downloading all artifacts could cause display percentages to be over 100%</li>
<li>Various small bug fixes & improvements</li>
</ul>
<h2>v2.0.10</h2>
<ul>
<li>Retry on HTTP 500 responses from the service</li>
</ul>
<h2>v2.0.9</h2>
<ul>
<li>Fixes to proxy related issues</li>
</ul>
<h2>v2.0.8</h2>
<ul>
<li>Improvements to retryability if an error is encountered during artifact download</li>
</ul>
<h2>v2.0.7 download-artifact</h2>
<ul>
<li>Improved download retry-ability if a partial download is encountered</li>
</ul>
<h2>v2.0.6</h2>
<p>Update actions/core NPM package that is used internally</p>
<h2>v2.0.5</h2>
<ul>
<li>Add Third Party License Information</li>
</ul>
<h2>v2.0.4</h2>
<ul>
<li>Use the latest version of the <code>`@actions/artifact</code>` NPM package</li>
</ul>
<h2>v2.0.3</h2>
<ul>
<li>Misc improvements</li>
</ul>
<h2>v2.0.2</h2>
<ul>
<li>Support for tilde expansion</li>
</ul>
<h2>v2.0.1</h2>
<ul>
<li>Download path output</li>
<li>Improved logging</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fb598a63ae"><code>fb598a6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/download-artifact/issues/136">#136</a> from actions/jtamsut/update-lockfile-version</li>
<li><a href="a4a09c5d7e"><code>a4a09c5</code></a> regenerate index.js</li>
<li><a href="9acf51df79"><code>9acf51d</code></a> regenerate package lock</li>
<li><a href="8821072325"><code>8821072</code></a> upgrade artifact version</li>
<li><a href="b8bbd3b64f"><code>b8bbd3b</code></a> regenerate lockfile</li>
<li><a href="6ee3d963e5"><code>6ee3d96</code></a> revert artifact version</li>
<li><a href="d4793f4e27"><code>d4793f4</code></a> update docs for v3</li>
<li><a href="2d338d2145"><code>2d338d2</code></a> upgrade package to v3</li>
<li><a href="360d0830b5"><code>360d083</code></a> update dependency on artifact lib</li>
<li><a href="d9b73cccac"><code>d9b73cc</code></a> update lock file</li>
<li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v2...v3">compare view</a></li>
</ul>
</details>
<br />
[](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>
332: build(deps): bump actions/upload-artifact from 2 to 3 r=sjoerdsimons a=dependabot[bot]
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node16 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/293">#293</a>)</li>
<li>Update package-lock.json file version to 2 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/302">#302</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
<h2>v2.3.1</h2>
<p>Fix for empty fails on Windows failing on upload <a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/281">#281</a></p>
<h2>v2.3.0 Upload Artifact</h2>
<ul>
<li>Optimizations for faster uploads of larger files that are already compressed</li>
<li>Significantly improved logging when there are chunked uploads</li>
<li>Clarifications in logs around the upload size and prohibited characters that aren't allowed in the artifact name or any uploaded files</li>
<li>Various other small bugfixes & optimizations</li>
</ul>
<h2>v2.2.4</h2>
<ul>
<li>Retry on HTTP 500 responses from the service</li>
</ul>
<h2>v2.2.3</h2>
<ul>
<li>Fixes for proxy related issues</li>
</ul>
<h2>v2.2.2</h2>
<ul>
<li>Improved retryability and error handling</li>
</ul>
<h2>v2.2.1</h2>
<ul>
<li>Update used actions/core package to the latest version</li>
</ul>
<h2>v2.2.0</h2>
<ul>
<li>Support for artifact retention</li>
</ul>
<h2>v2.1.4</h2>
<ul>
<li>Add Third Party License Information</li>
</ul>
<h2>v2.1.3</h2>
<ul>
<li>Use updated version of the <code>`@action/artifact</code>` NPM package</li>
</ul>
<h2>v2.1.2</h2>
<ul>
<li>Increase upload chunk size from 4MB to 8MB</li>
<li>Detect case insensitive file uploads</li>
</ul>
<h2>v2.1.1</h2>
<ul>
<li>Fix for certain symlinks not correctly being identified as directories before starting uploads</li>
</ul>
<h2>v2.1.0</h2>
<ul>
<li>Support for uploading artifacts with multiple paths</li>
<li>Support for using exclude paths</li>
<li>Updates to dependencies</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6673cd052c"><code>6673cd0</code></a> Update <code>lockfileVersion</code> in <code>package-lock.json</code> (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/302">#302</a>)</li>
<li><a href="2244c82003"><code>2244c82</code></a> Update to node16 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/293">#293</a>)</li>
<li><a href="87348cee5f"><code>87348ce</code></a> Add 503 warning when uploading to the same artifact</li>
<li>See full diff in <a href="https://github.com/actions/upload-artifact/compare/v2...v3">compare view</a></li>
</ul>
</details>
<br />
[](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>
Add support for using bors to do pre-merge testing. In particular avoid
running CI on branches ending in .tmp as bors uses those for
preperation and add a new dummy job to key the bors status against to
avoid having to call out all test jobs specifically which would be hard
to maintain
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>