You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(ci): add CI_PROVIDER toggle between Blacksmith and GitHub-hosted runners (#5808)
* chore(ci): add CI_PROVIDER toggle between Blacksmith and GitHub-hosted runners
* chore(ci): fail unrecognized CI_PROVIDER values over to GitHub-hosted runners
description: Mount a build cache directory using Blacksmith sticky disks, or the GitHub Actions cache when running on GitHub-hosted runners.
3
+
4
+
inputs:
5
+
provider:
6
+
description: Empty or 'blacksmith' selects sticky disks. Any other value selects actions/cache. Must stay byte-identical to the runs-on predicate in the calling workflow.
7
+
required: false
8
+
default: ''
9
+
key:
10
+
description: Cache key. Shared by both backends, so callers keep one key regardless of provider.
11
+
required: true
12
+
path:
13
+
description: Filesystem path the cache is mounted at.
14
+
required: true
15
+
16
+
# The two conditions are exact complements of the runs-on expression the caller
17
+
# uses. They must be inverted together: a job placed on ubuntu-latest that then
18
+
# took the sticky-disk branch would hard-fail, since stickydisk hot-mounts an
19
+
# ext4 volume from Blacksmith's storage agents and cannot run anywhere else.
description: Set up a buildx builder and build/push an image, using Blacksmith's builder or the upstream Docker actions on GitHub-hosted runners.
3
+
4
+
inputs:
5
+
provider:
6
+
description: Empty or 'blacksmith' selects Blacksmith's builder. Any other value selects the upstream docker/* actions. Must stay byte-identical to the runs-on predicate in the calling workflow.
7
+
required: false
8
+
default: ''
9
+
context:
10
+
description: Build context.
11
+
required: false
12
+
default: .
13
+
file:
14
+
description: Path to the Dockerfile.
15
+
required: true
16
+
platforms:
17
+
description: Target platforms, e.g. linux/amd64.
18
+
required: true
19
+
tags:
20
+
description: Comma-separated list of tags to push.
21
+
required: true
22
+
23
+
# Registry logins must already have run in the calling job — both backends read
24
+
# the same ~/.docker/config.json. provenance/sbom stay off everywhere: the
25
+
# attestation manifests they add break `imagetools create` retagging in the
0 commit comments