Compare commits

...

6 Commits

Author SHA1 Message Date
CrazyMax 2e3d19baed Merge pull request #253 from crazy-max/allow-input
add allow input
2024-10-02 17:38:59 +02:00
CrazyMax 22815eb8f2 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-02 16:58:03 +02:00
CrazyMax c24ab5d426 add allow input
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-02 16:58:03 +02:00
CrazyMax 64673bcfac Merge pull request #250 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.39.0
chore(deps): Bump @docker/actions-toolkit from 0.38.0 to 0.39.0
2024-09-30 11:43:11 +02:00
CrazyMax f05b0ee234 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-09-30 11:40:57 +02:00
dependabot[bot] 6161d12436 chore(deps): Bump @docker/actions-toolkit from 0.38.0 to 0.39.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.38.0 to 0.39.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.38.0...v0.39.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 09:35:03 +00:00
10 changed files with 65 additions and 10 deletions
+22
View File
@@ -691,3 +691,25 @@ jobs:
./lint.hcl ./lint.hcl
env: env:
DOCKER_BUILD_CHECKS_ANNOTATIONS: false DOCKER_BUILD_CHECKS_ANNOTATIONS: false
allow:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
driver-opts: |
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
-
name: Build
uses: ./
with:
files: |
./test/config.hcl
allow: network.host
targets: app-entitlements
+2 -1
View File
@@ -184,6 +184,7 @@ The following inputs can be used as `step.with` keys
|----------------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) | | `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) |
| `source` | String | Context to build from. Can be either local (`.`) or a [remote bake definition](https://docs.docker.com/build/customize/bake/file-definition/#remote-definition) | | `source` | String | Context to build from. Can be either local (`.`) or a [remote bake definition](https://docs.docker.com/build/customize/bake/file-definition/#remote-definition) |
| `allow` | List/CSV | Allow build to access specified resources (e.g., `network.host`) |
| `files` | List/CSV | List of [bake definition files](https://docs.docker.com/build/customize/bake/file-definition/) | | `files` | List/CSV | List of [bake definition files](https://docs.docker.com/build/customize/bake/file-definition/) |
| `workdir` | String | Working directory of execution | | `workdir` | String | Working directory of execution |
| `targets` | List/CSV | List of bake targets (`default` target used if empty) | | `targets` | List/CSV | List of bake targets (`default` target used if empty) |
@@ -193,7 +194,7 @@ The following inputs can be used as `step.with` keys
| `provenance` | Bool/String | [Provenance](https://docs.docker.com/build/attestations/slsa-provenance/) is a shorthand for `--set=*.attest=type=provenance` | | `provenance` | Bool/String | [Provenance](https://docs.docker.com/build/attestations/slsa-provenance/) is a shorthand for `--set=*.attest=type=provenance` |
| `push` | Bool | Push is a shorthand for `--set=*.output=type=registry` (default `false`) | | `push` | Bool | Push is a shorthand for `--set=*.output=type=registry` (default `false`) |
| `sbom` | Bool/String | [SBOM](https://docs.docker.com/build/attestations/sbom/) is a shorthand for `--set=*.attest=type=sbom` | | `sbom` | Bool/String | [SBOM](https://docs.docker.com/build/attestations/sbom/) is a shorthand for `--set=*.attest=type=sbom` |
| `set` | List | List of [targets values to override](https://docs.docker.com/engine/reference/commandline/buildx_bake/#set) (eg: `targetpattern.key=value`) | | `set` | List | List of [targets values to override](https://docs.docker.com/engine/reference/commandline/buildx_bake/#set) (e.g., `targetpattern.key=value`) |
| `github-token` | String | API token used to authenticate to a Git repository for [remote definitions](https://docs.docker.com/build/bake/remote-definition/) (default `${{ github.token }}`) | | `github-token` | String | API token used to authenticate to a Git repository for [remote definitions](https://docs.docker.com/build/bake/remote-definition/) (default `${{ github.token }}`) |
### outputs ### outputs
+17
View File
@@ -330,6 +330,23 @@ describe('getArgs', () => {
'--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`, '--provenance', `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
] ]
], ],
[
12,
'0.17.0',
new Map<string, string>([
['allow', 'network.host'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
['pull', 'false'],
]),
[
'bake',
'--allow', 'network.host',
'--metadata-file', metadataJson,
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`
]
],
])( ])(
'[%d] given %p with %p as inputs, returns %p', '[%d] given %p with %p as inputs, returns %p',
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => { async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
+3
View File
@@ -13,6 +13,9 @@ inputs:
source: source:
description: "Context to build from. Can be either local or a remote bake definition" description: "Context to build from. Can be either local or a remote bake definition"
required: false required: false
allow:
description: "Allow build to access specified resources (e.g., network.host)"
required: false
files: files:
description: "List of bake definition files" description: "List of bake definition files"
required: false required: false
Generated Vendored
+2 -2
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -27,7 +27,7 @@
"packageManager": "yarn@3.6.3", "packageManager": "yarn@3.6.3",
"dependencies": { "dependencies": {
"@actions/core": "^1.10.1", "@actions/core": "^1.10.1",
"@docker/actions-toolkit": "^0.38.0", "@docker/actions-toolkit": "^0.39.0",
"handlebars": "^4.7.8" "handlebars": "^4.7.8"
}, },
"devDependencies": { "devDependencies": {
+7
View File
@@ -11,6 +11,7 @@ import {Util} from '@docker/actions-toolkit/lib/util';
import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake'; import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake';
export interface Inputs { export interface Inputs {
allow: string[];
builder: string; builder: string;
files: string[]; files: string[];
workdir: string; workdir: string;
@@ -28,6 +29,7 @@ export interface Inputs {
export async function getInputs(): Promise<Inputs> { export async function getInputs(): Promise<Inputs> {
return { return {
allow: Util.getInputList('allow'),
builder: core.getInput('builder'), builder: core.getInput('builder'),
files: Util.getInputList('files'), files: Util.getInputList('files'),
workdir: core.getInput('workdir') || '.', workdir: core.getInput('workdir') || '.',
@@ -80,6 +82,11 @@ async function getBakeArgs(inputs: Inputs, definition: BakeDefinition, toolkit:
if (inputs.source) { if (inputs.source) {
args.push(inputs.source); args.push(inputs.source);
} }
if (await toolkit.buildx.versionSatisfies('>=0.17.0')) {
if (inputs.allow.length > 0) {
args.push('--allow', inputs.allow.join(','));
}
}
await Util.asyncForEach(inputs.files, async file => { await Util.asyncForEach(inputs.files, async file => {
args.push('--file', file); args.push('--file', file);
}); });
+5
View File
@@ -42,3 +42,8 @@ target "app-proxy" {
inherits = ["app"] inherits = ["app"]
dockerfile = "proxy.Dockerfile" dockerfile = "proxy.Dockerfile"
} }
target "app-entitlements" {
inherits = ["app"]
entitlements = ["network.host"]
}
+5 -5
View File
@@ -1058,9 +1058,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@docker/actions-toolkit@npm:^0.38.0": "@docker/actions-toolkit@npm:^0.39.0":
version: 0.38.0 version: 0.39.0
resolution: "@docker/actions-toolkit@npm:0.38.0" resolution: "@docker/actions-toolkit@npm:0.39.0"
dependencies: dependencies:
"@actions/artifact": ^2.1.9 "@actions/artifact": ^2.1.9
"@actions/cache": ^3.2.4 "@actions/cache": ^3.2.4
@@ -1083,7 +1083,7 @@ __metadata:
semver: ^7.6.3 semver: ^7.6.3
tar-stream: ^3.1.7 tar-stream: ^3.1.7
tmp: ^0.2.3 tmp: ^0.2.3
checksum: 543a3931fd169033db527208bfb7209591b0de744a00b9c8149062b37077fa02318350e89f881df84a4150735595c234f347f613778ca46e040e50b983f8f188 checksum: 9dafe3c3e02f6f78c8da4cfb8bc726ae5eef9b6a2fedfca5d75ee6d6c559745c12aa16587dd595360f76be91803235dc66e0852e595ef7a582506fa0d4402983
languageName: node languageName: node
linkType: hard linkType: hard
@@ -3158,7 +3158,7 @@ __metadata:
resolution: "docker-buildx-bake@workspace:." resolution: "docker-buildx-bake@workspace:."
dependencies: dependencies:
"@actions/core": ^1.10.1 "@actions/core": ^1.10.1
"@docker/actions-toolkit": ^0.38.0 "@docker/actions-toolkit": ^0.39.0
"@types/node": ^20.12.12 "@types/node": ^20.12.12
"@typescript-eslint/eslint-plugin": ^7.9.0 "@typescript-eslint/eslint-plugin": ^7.9.0
"@typescript-eslint/parser": ^7.9.0 "@typescript-eslint/parser": ^7.9.0