@ -45,10 +45,7 @@ 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).
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 want to authenticate against a private repository, you have to use a secret named `GIT_AUTH_TOKEN` to be able
as a secret named `GIT_AUTH_TOKEN` to be able to authenticate against it with buildx:
to authenticate against it with buildx:
```yaml
```yaml
-
-
@ -96,7 +92,7 @@ as a secret named `GIT_AUTH_TOKEN` to be able to authenticate against it with bu
push: true
push: true
tags: user/app:latest
tags: user/app:latest
secrets: |
secrets: |
GIT_AUTH_TOKEN=${{ github.token }}
GIT_AUTH_TOKEN=${{ secrets.MYTOKEN }}
```
```
> :warning: Subdir for Git context is [not yet supported](https://github.com/docker/build-push-action/issues/120).
> :warning: Subdir for Git context is [not yet supported](https://github.com/docker/build-push-action/issues/120).
@ -106,17 +102,14 @@ as a secret named `GIT_AUTH_TOKEN` to be able to authenticate against it with bu
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.
<details>
```yaml
<summary><b>Show workflow</b></summary>
name: ci
```yaml
name: ci
on:
on:
push:
push:
branches: master
branches: master
jobs:
jobs:
path-context:
path-context:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
steps:
@ -144,22 +137,18 @@ You can also use the `PATH` context alongside the [`actions/checkout`](https://g
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
<details>
```yaml
<summary><b>Show workflow</b></summary>
name: ci
```yaml
name: ci
on:
on:
push:
push:
branches: master
branches: master
jobs:
jobs:
multi-builders:
multi-builders:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
steps:
@ -187,22 +176,18 @@ You can also use the `PATH` context alongside the [`actions/checkout`](https://g
with:
with:
builder: ${{ steps.builder2.outputs.name }}
builder: ${{ steps.builder2.outputs.name }}
target: mytarget2
target: mytarget2
```
```
</details>
### Multi-platform image
### Multi-platform image
<details>
```yaml
<summary><b>Show workflow</b></summary>
name: ci
```yaml
name: ci
on:
on:
push:
push:
branches: master
branches: master
jobs:
jobs:
multi:
multi:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
steps:
@ -232,14 +217,13 @@ You can also use the `PATH` context alongside the [`actions/checkout`](https://g
tags: |
tags: |
user/app:latest
user/app:latest
user/app:1.0.0
user/app:1.0.0
```
```
</details>
## Advanced usage
## Advanced usage
### Local registry
### Local registry
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:
<details>
<details>
<summary><b>Show workflow</b></summary>
<summary><b>Show workflow</b></summary>
@ -284,7 +268,7 @@ For testing purposes you may need to create a [local registry](https://hub.docke
### Leverage GitHub cache
### Leverage GitHub cache
You can leverage [GitHub cache](https://docs.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows)
You can leverage [GitHub cache](https://docs.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows)
using [actions/cache](https://github.com/actions/cache) with this action.
using [actions/cache](https://github.com/actions/cache) with this action:
<details>
<details>
<summary><b>Show workflow</b></summary>
<summary><b>Show workflow</b></summary>
@ -338,15 +322,6 @@ The following workflow with the `Prepare` step will generate some [outputs](http
to handle tags and labels based on GitHub actions events. This is just an example to show many cases that you
to handle tags and labels based on GitHub actions events. This is just an example to show many cases that you