* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot)
* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot)
* [Limitation](#limitation)
* [Limitation](#limitation)
@ -44,10 +45,10 @@ build-secrets, remote cache, etc. and different builder deployment/namespacing o
The default behavior of this action is to use the [Git context invoked by your workflow](https://github.com/docker/build-push-action/blob/master/src/context.ts#L35).
The default behavior of this action is to use the [Git context invoked by your workflow](https://github.com/docker/build-push-action/blob/master/src/context.ts#L35).
> :warning: Subdir for this context is [not yet supported](https://github.com/docker/build-push-action/issues/120).
<details>
> For the moment you can use the [path context](#path-context).
If you use this action in a private repository, you have to pass the [GitHub Token](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)
If you use this action in a private repository, you have to pass the [GitHub Token](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)
as a secret named `GIT_AUTH_TOKEN` to be able to authenticate against it with buildx:
as a secret named `GIT_AUTH_TOKEN` to be able to authenticate against it with buildx:
@ -97,18 +99,24 @@ as a secret named `GIT_AUTH_TOKEN` to be able to authenticate against it with bu
GIT_AUTH_TOKEN=${{ github.token }}
GIT_AUTH_TOKEN=${{ github.token }}
```
```
> :warning: Subdir for Git context is [not yet supported](https://github.com/docker/build-push-action/issues/120).
> For the moment you can use the [path context](#path-context).
### Path context
### Path context
You can also use the `PATH` context alongside the [`actions/checkout`](https://github.com/actions/checkout/) action.
You can also use the `PATH` context alongside the [`actions/checkout`](https://github.com/actions/checkout/) action.
```yaml
<details>
name: ci
<summary><b>Show workflow</b></summary>
on:
```yaml
name: ci
on:
push:
push:
branches: master
branches: master
jobs:
jobs:
path-context:
path-context:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
steps:
@ -136,18 +144,22 @@ jobs:
platforms: linux/amd64,linux/arm64,linux/386
platforms: linux/amd64,linux/arm64,linux/386
push: true
push: true
tags: user/app:latest
tags: user/app:latest
```
```
</details>
### Isolated builders
### Isolated builders
```yaml
<details>
name: ci
<summary><b>Show workflow</b></summary>
on:
```yaml
name: ci
on:
push:
push:
branches: master
branches: master
jobs:
jobs:
multi-builders:
multi-builders:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
steps:
@ -175,18 +187,22 @@ jobs:
with:
with:
builder: ${{ steps.builder2.outputs.name }}
builder: ${{ steps.builder2.outputs.name }}
target: mytarget2
target: mytarget2
```
```
</details>
### Multi-platform image
### Multi-platform image
```yaml
<details>
name: ci
<summary><b>Show workflow</b></summary>
on:
```yaml
name: ci
on:
push:
push:
branches: master
branches: master
jobs:
jobs:
multi:
multi:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
steps:
@ -216,7 +232,8 @@ jobs:
tags: |
tags: |
user/app:latest
user/app:latest
user/app:1.0.0
user/app:1.0.0
```
```
</details>
## Advanced usage
## Advanced usage
@ -224,14 +241,17 @@ jobs:
For testing purposes you may need to create a [local registry](https://hub.docker.com/_/registry) to push images into.
For testing purposes you may need to create a [local registry](https://hub.docker.com/_/registry) to push images into.