Compare commits

..

24 Commits

Author SHA1 Message Date
CrazyMax 60f5d53310 Merge pull request #286 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.51.0
chore(deps): Bump @docker/actions-toolkit from 0.50.0 to 0.51.0
2025-01-15 13:44:14 +01:00
CrazyMax cb84b96ea2 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-15 13:35:14 +01:00
dependabot[bot] 63a0b90c7c chore(deps): Bump @docker/actions-toolkit from 0.50.0 to 0.51.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.50.0 to 0.51.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.50.0...v0.51.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>
2025-01-15 12:07:30 +00:00
CrazyMax 5dd4f8e2d6 Merge pull request #285 from crazy-max/revert-git-auth-token
Revert "set GIT_AUTH_TOKEN secret if Git context used"
2025-01-14 14:52:03 +01:00
CrazyMax 8342e4814b Revert "set GIT_AUTH_TOKEN secret if Git context used"
This reverts commit 932b78563b.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-14 14:38:19 +01:00
CrazyMax 4e1bb14d4e Revert "chore: update generated content"
This reverts commit a23a0ceb07.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-14 14:38:19 +01:00
CrazyMax 5a1b7c9786 Merge pull request #284 from crazy-max/fix-git-auth-token
set GIT_AUTH_TOKEN secret if Git context used
2025-01-14 13:52:00 +01:00
CrazyMax a23a0ceb07 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-10 11:33:07 +01:00
CrazyMax 932b78563b set GIT_AUTH_TOKEN secret if Git context used
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-10 11:33:06 +01:00
CrazyMax ded8f8f101 Merge pull request #283 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.50.0
chore(deps): Bump @docker/actions-toolkit from 0.49.0 to 0.50.0
2025-01-10 10:24:17 +01:00
CrazyMax d0cc8f345a chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-10 10:19:39 +01:00
dependabot[bot] 8afe15ffcc chore(deps): Bump @docker/actions-toolkit from 0.49.0 to 0.50.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.49.0 to 0.50.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.49.0...v0.50.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>
2025-01-10 08:49:34 +00:00
CrazyMax 77f4fc97b7 Merge pull request #282 from crazy-max/update-git-keep-dir
chore: put context keep dir within the bake definition
2025-01-08 13:49:57 +01:00
CrazyMax bf35764d1d chore: put context keep dir within the bake definition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 13:47:36 +01:00
CrazyMax 309da7d154 Merge pull request #281 from crazy-max/bump-major
bump actions to latest major
2025-01-08 11:13:45 +01:00
CrazyMax 23cff4f49a bump actions to latest major
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 11:10:40 +01:00
CrazyMax 5ca506d06f Merge pull request #277 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.49.0
chore(deps): Bump @docker/actions-toolkit from 0.47.0 to 0.49.0
2025-01-08 10:50:38 +01:00
CrazyMax da6b67e5ed chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 10:48:23 +01:00
dependabot[bot] 23b87ebfd8 chore(deps): Bump @docker/actions-toolkit from 0.47.0 to 0.49.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.47.0 to 0.49.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.47.0...v0.49.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>
2025-01-08 09:35:30 +00:00
CrazyMax f26d1f2c48 Merge pull request #193 from crazy-max/git-context-optout
default to git context
2025-01-08 10:32:01 +01:00
CrazyMax 3ba2682456 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-06 14:10:42 +01:00
CrazyMax d2bf1df12d default to git context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-06 14:10:42 +01:00
CrazyMax 1677316f88 Merge pull request #274 from crazy-max/update-readme
readme: move login step up
2024-12-03 16:04:20 +01:00
CrazyMax 289179a60f readme: move login step up
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-03 15:25:30 +01:00
10 changed files with 127 additions and 70 deletions
+17 -4
View File
@@ -69,6 +69,7 @@ jobs:
name: Build and push
uses: ./
with:
source: .
builder: ${{ steps.buildx.outputs.name }}
files: |
./test/config.hcl
@@ -87,6 +88,7 @@ jobs:
continue-on-error: true
uses: ./
with:
source: .
files: |
./test/config.hcl
set: |
@@ -108,6 +110,7 @@ jobs:
continue-on-error: true
uses: ./
with:
source: .
files: |
./test/config.hcl
-
@@ -144,10 +147,11 @@ jobs:
name: Build
uses: ./
with:
source: .
files: |
./test/config.hcl
source:
remote:
runs-on: ubuntu-latest
steps:
-
@@ -188,6 +192,7 @@ jobs:
uses: ./
with:
workdir: ./test/go
source: .
targets: binary
provenance: ${{ matrix.attrs }}
set: |
@@ -229,6 +234,7 @@ jobs:
uses: ./
with:
workdir: ./test/go
source: .
targets: ${{ matrix.target }}
sbom: true
set: |
@@ -275,6 +281,7 @@ jobs:
uses: ./
with:
workdir: ./test/go
source: .
set: |
*.platform=linux/amd64
*.output=type=image,"name=localhost:5000/name/app:v1.0.0,localhost:5000/name/app:latest",push=true
@@ -304,6 +311,7 @@ jobs:
uses: ./
with:
workdir: ./test/group
source: .
push: true
set: |
t1.tags=localhost:5000/name/app:t1
@@ -324,6 +332,7 @@ jobs:
name: Build
uses: ./
with:
source: .
files: |
./test/config.hcl
@@ -361,6 +370,7 @@ jobs:
name: Build
uses: ./
with:
source: .
files: |
./test/config.hcl
targets: app-proxy
@@ -396,6 +406,7 @@ jobs:
name: Build
uses: ./
with:
source: .
files: |
./test/config.hcl
@@ -415,8 +426,6 @@ jobs:
-
name: Build
uses: ./
with:
source: "{{defaultContext}}"
git-context-and-local:
runs-on: ubuntu-latest
@@ -439,7 +448,6 @@ jobs:
name: Build
uses: ./
with:
source: "{{defaultContext}}"
files: |
cwd://${{ steps.meta.outputs.bake-file }}
@@ -466,6 +474,7 @@ jobs:
uses: ./
with:
workdir: ./test/go
source: .
set: |
*.output=type=image,name=localhost:5000/name/app:latest,push=true
*.output=type=docker,name=app:local
@@ -509,6 +518,7 @@ jobs:
uses: ./
with:
workdir: ./test/go
source: .
targets: image
load: true
push: true
@@ -563,6 +573,7 @@ jobs:
name: Build
uses: ./
with:
source: .
files: |
./test/config.hcl
targets: app
@@ -666,6 +677,7 @@ jobs:
uses: ./
with:
workdir: ./test
source: .
files: |
./lint.hcl
@@ -687,6 +699,7 @@ jobs:
uses: ./
with:
workdir: ./test
source: .
files: |
./lint.hcl
env:
+1 -4
View File
@@ -21,12 +21,9 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Test
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: test
-
+1 -4
View File
@@ -36,11 +36,8 @@ jobs:
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: ${{ matrix.target }}
+57 -53
View File
@@ -14,8 +14,8 @@ as a high-level build command.
___
* [Usage](#usage)
* [Path context](#path-context)
* [Git context](#git-context)
* [Path context](#path-context)
* [Summaries](#summaries)
* [Customizing](#customizing)
* [inputs](#inputs)
@@ -27,84 +27,51 @@ ___
## Usage
### Path context
By default, this action will use the local bake definition (`source: .`), so
you need to use the [`actions/checkout`](https://github.com/actions/checkout/)
action to check out the repository.
```yaml
name: ci
on:
push:
branches:
- 'master'
jobs:
bake:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/bake-action@v5
with:
push: true
```
### Git context
Git context can be provided using the [`source` input](#inputs). This means
that you don't need to use the [`actions/checkout`](https://github.com/actions/checkout/)
Since `v6` this action uses the [Git context](https://docs.docker.com/build/bake/remote-definition/)
to build from a remote bake definition by default like the [build-push-action](https://github.com/docker/build-push-action)
does. This means that you don't need to use the [`actions/checkout`](https://github.com/actions/checkout/)
action to check out the repository as [BuildKit](https://docs.docker.com/build/buildkit/)
will do this directly.
The git reference will be based on the [event that triggered your workflow](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows)
and will result in the following context: `https://github.com/<owner>/<repo>.git#<ref>`.
```yaml
name: ci
on:
push:
branches:
- 'master'
jobs:
bake:
runs-on: ubuntu-latest
steps:
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Build and push
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
source: "${{ github.server_url }}/${{ github.repository }}.git#${{ github.ref }}"
push: true
set: |
*.tags=user/app:latest
```
Be careful because **any file mutation in the steps that precede the build step
will be ignored, including processing of the `.dockerignore` file** since
the context is based on the Git reference. However, you can use the
[Path context](#path-context) alongside the [`actions/checkout`](https://github.com/actions/checkout/)
action to remove this restriction.
[Path context](#path-context) using the [`source` input](#inputs) alongside
the [`actions/checkout`](https://github.com/actions/checkout/) action to remove
this restriction.
Default Git context can also be provided using the [Handlebars template](https://handlebarsjs.com/guide/)
expression `{{defaultContext}}`. Here we can use it to provide a subdirectory
@@ -113,10 +80,12 @@ to the default Git context:
```yaml
-
name: Build and push
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
source: "{{defaultContext}}:mysubdir"
push: true
set: |
*.tags=user/app:latest
```
Building from the current repository automatically uses the `GITHUB_TOKEN`
@@ -131,14 +100,49 @@ another private repository for remote definitions, you can set the
```yaml
-
name: Build and push
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
source: "${{ github.server_url }}/${{ github.repository }}.git#${{ github.ref }}"
push: true
set: |
*.tags=user/app:latest
env:
BUILDX_BAKE_GIT_AUTH_TOKEN: ${{ secrets.MYTOKEN }}
```
### Path context
```yaml
name: ci
on:
push:
jobs:
bake:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Build and push
uses: docker/bake-action@v6
with:
source: .
push: true
set: |
*.tags=user/app:latest
```
## Summaries
This action generates a [job summary](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/)
+31 -1
View File
@@ -137,6 +137,7 @@ describe('getArgs', () => {
0,
'0.4.1',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -150,6 +151,7 @@ describe('getArgs', () => {
1,
'0.8.2',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -164,6 +166,7 @@ describe('getArgs', () => {
2,
'0.8.2',
new Map<string, string>([
['source', '.'],
['targets', 'webapp\nvalidate'],
['load', 'false'],
['no-cache', 'false'],
@@ -180,6 +183,7 @@ describe('getArgs', () => {
3,
'0.8.2',
new Map<string, string>([
['source', '.'],
['set', '*.cache-from=type=gha\n*.cache-to=type=gha'],
['load', 'false'],
['no-cache', 'false'],
@@ -197,6 +201,7 @@ describe('getArgs', () => {
4,
'0.10.0',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -212,6 +217,7 @@ describe('getArgs', () => {
5,
'0.10.0',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -228,6 +234,7 @@ describe('getArgs', () => {
6,
'0.10.0',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -244,6 +251,7 @@ describe('getArgs', () => {
7,
'0.10.0',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -260,6 +268,7 @@ describe('getArgs', () => {
8,
'0.10.0',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -276,6 +285,7 @@ describe('getArgs', () => {
9,
'0.10.0',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -296,6 +306,7 @@ describe('getArgs', () => {
10,
'0.10.0',
new Map<string, string>([
['source', '.'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -315,7 +326,6 @@ describe('getArgs', () => {
11,
'0.10.0',
new Map<string, string>([
['source', '{{defaultContext}}'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
@@ -334,6 +344,7 @@ describe('getArgs', () => {
12,
'0.17.0',
new Map<string, string>([
['source', '.'],
['allow', 'network.host'],
['load', 'false'],
['no-cache', 'false'],
@@ -347,6 +358,25 @@ describe('getArgs', () => {
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`
]
],
[
13,
'0.15.0',
new Map<string, string>([
['source', '{{defaultContext}}:subdir'],
['load', 'false'],
['no-cache', 'false'],
['push', 'false'],
['pull', 'false'],
['files', './foo.hcl'],
]),
[
'bake',
'https://github.com/docker/build-push-action.git#refs/heads/master:subdir',
'--file', './foo.hcl',
'--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',
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
Generated Vendored
+1 -1
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
+13
View File
@@ -1,3 +1,9 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
@@ -11,42 +17,49 @@ group "validate" {
}
target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
}
target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
+3
View File
@@ -147,6 +147,9 @@ function getSourceInput(name: string): string {
let source = handlebars.compile(core.getInput(name))({
defaultContext: Context.gitContext()
});
if (!source) {
source = Context.gitContext();
}
if (source === '.') {
source = '';
}
+2 -2
View File
@@ -42,7 +42,7 @@ jobs:
-
name: List targets
id: generate
uses: docker/bake-action/subaction/list-targets@v4
uses: docker/bake-action/subaction/list-targets@v6
with:
target: validate
@@ -60,7 +60,7 @@ jobs:
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v5
uses: docker/bake-action@v6
with:
targets: ${{ matrix.target }}
```