@codedependant/semantic-release-docker 7.0.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +20 -0
- package/lib/docker/image.js +6 -1
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Semantic Release Docker
|
|
2
2
|
|
|
3
|
+
# [8.0.0](https://github.com/esatterwhite/semantic-release-docker/compare/v7.0.0...v8.0.0) (2026-08-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **image**: the allow the provenance flags to be passed through [ccb318d](https://github.com/esatterwhite/semantic-release-docker/commit/ccb318d9bc88b32cab721b81c415fcd350b26d73) - Eric Satterwhite, closes: [#64](https://github.com/esatterwhite/semantic-release-docker/issues/64)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Chores
|
|
12
|
+
|
|
13
|
+
* **compose**: regenerate ssl certs for compose [a8f9b1a](https://github.com/esatterwhite/semantic-release-docker/commit/a8f9b1aca29b2377dd661d6738efe58575f2a9ff) - Eric Satterwhite
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### **BREAKING CHANGES**
|
|
17
|
+
|
|
18
|
+
* **image:** boolean flags ([secure]) are no longer stripped
|
|
19
|
+
* **image:** the provenance flag is no longer removed
|
|
20
|
+
|
|
3
21
|
# [7.0.0](https://github.com/esatterwhite/semantic-release-docker/compare/v6.1.1...v7.0.0) (2026-04-29)
|
|
4
22
|
|
|
5
23
|
|
package/README.md
CHANGED
|
@@ -73,6 +73,25 @@ Platform specific builder must be setup and selected for this plugin to utilize
|
|
|
73
73
|
> and normal docker commands targeting those images will not work.
|
|
74
74
|
> The `dockerVerifyCmd` behavior will only trigger a build and is unable to execute local command
|
|
75
75
|
|
|
76
|
+
#### Provenance Attestations
|
|
77
|
+
|
|
78
|
+
When pushing to a registry, [buildx][] attaches a [provenance attestation][provenance] (`mode=min`) to
|
|
79
|
+
the image index by default. This adds extra `unknown/unknown` manifests to the index, which some
|
|
80
|
+
registries and container runtimes reject outright - notably AWS Lambda container images.
|
|
81
|
+
|
|
82
|
+
Provenance (and SBOM) attestations can be configured via `dockerBuildFlags`:
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
{
|
|
86
|
+
dockerBuildFlags: {
|
|
87
|
+
provenance: false
|
|
88
|
+
, sbom: false
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Alternatively, set `BUILDX_NO_DEFAULT_ATTESTATIONS=true` in the environment the release runs in.
|
|
94
|
+
|
|
76
95
|
### Build Arguments
|
|
77
96
|
|
|
78
97
|
By default several build arguments will be included when the docker images is being built.
|
|
@@ -327,3 +346,4 @@ $ openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -o
|
|
|
327
346
|
[Number]: https://mdn.io/number
|
|
328
347
|
[--cache-from]: https://docs.docker.com/engine/reference/commandline/build/#cache-from
|
|
329
348
|
[buildx]: https://docs.docker.com/reference/cli/docker/buildx/build
|
|
349
|
+
[provenance]: https://docs.docker.com/build/metadata/attestations/slsa-provenance/#create-provenance-attestations
|
package/lib/docker/image.js
CHANGED
|
@@ -155,6 +155,12 @@ class Image {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
for (const item of value) {
|
|
158
|
+
// booleans must use the --flag=value form so the value is not
|
|
159
|
+
// dropped as falsey when the command is assembled
|
|
160
|
+
if (typeof item === 'boolean') {
|
|
161
|
+
output.push(`${normalized}=${item}`)
|
|
162
|
+
continue
|
|
163
|
+
}
|
|
158
164
|
output.push(normalized, item)
|
|
159
165
|
}
|
|
160
166
|
}
|
|
@@ -195,7 +201,6 @@ class Image {
|
|
|
195
201
|
|
|
196
202
|
get buildx_cmd() {
|
|
197
203
|
if (!this.is_buildx) return
|
|
198
|
-
this.opts.flags.delete('provenance') // incompatible with load/push
|
|
199
204
|
this.opts.flags.delete('output') // alias of load/push
|
|
200
205
|
this.opts.flags.delete('load')
|
|
201
206
|
this.opts.flags.set('platform', [this.opts.platform.join(',')])
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codedependant/semantic-release-docker",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "8.0.0",
|
|
5
5
|
"description": "docker package",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"files": [
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"lint": "eslint .",
|
|
24
24
|
"lint:fix": "npm run lint -- --fix",
|
|
25
25
|
"local": "env $(cat env/local.env)",
|
|
26
|
-
"pretap": "npm run lint",
|
|
26
|
+
"pretap": "tap build && npm run lint",
|
|
27
27
|
"release": "npx semantic-release",
|
|
28
28
|
"release:dry": "npm run release -- --no-ci --dry-run --branches=${BRANCH_NAME:-main}"
|
|
29
29
|
},
|
|
@@ -44,6 +44,9 @@
|
|
|
44
44
|
"browser": false,
|
|
45
45
|
"show-full-coverage": true,
|
|
46
46
|
"output-file": ".tap-output",
|
|
47
|
+
"plugin": [
|
|
48
|
+
"!@tapjs/typescript"
|
|
49
|
+
],
|
|
47
50
|
"files": [
|
|
48
51
|
"test/unit",
|
|
49
52
|
"test/integration"
|