Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Push action v2 #92

Merged
merged 70 commits into from Sep 4, 2020
Merged
Show file tree
Hide file tree
Changes from 66 commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
99bea38
Build push action v2
crazy-max Aug 15, 2020
ba9a952
Remove
crazy-max Aug 15, 2020
f0ffce7
Missing context
crazy-max Aug 15, 2020
ea0c8ed
Handle push without buildx
crazy-max Aug 15, 2020
b15ad02
No post proc
crazy-max Aug 15, 2020
320acb8
Parse image reference before push
crazy-max Aug 15, 2020
52102ad
Remove runner info step
crazy-max Aug 15, 2020
23410ee
Push to local registry
crazy-max Aug 15, 2020
1af8829
Fix buildx condition
crazy-max Aug 15, 2020
6b0b71d
Disable buildx push for now
crazy-max Aug 15, 2020
ac03ceb
Check if buildx installed (builder alias)
crazy-max Aug 16, 2020
f7cac3b
Refactor Docker config
crazy-max Aug 16, 2020
25daa69
Typo
crazy-max Aug 16, 2020
585c2ae
Spelling
crazy-max Aug 16, 2020
78a1e0d
Remove builder v1 support
crazy-max Aug 16, 2020
01bd5c1
Add allow input
crazy-max Aug 16, 2020
b07bd1f
Fix ci workflow
crazy-max Aug 16, 2020
8be103f
Handle build bake through bake, bake-files and bake-targets
crazy-max Aug 16, 2020
8913dd9
Fix args
crazy-max Aug 16, 2020
4bbd4aa
Test git context
crazy-max Aug 16, 2020
7086e37
Set file input
crazy-max Aug 16, 2020
10b9d7e
Fix context url
crazy-max Aug 16, 2020
9c47365
Check context type
crazy-max Aug 16, 2020
1c3fedb
Use latest buildx for git context test
crazy-max Aug 16, 2020
5003e0d
Add Git context example
crazy-max Aug 16, 2020
22acf7c
Test GitHub Cache
crazy-max Aug 16, 2020
444d7e9
Add post run
crazy-max Aug 16, 2020
1ca381e
Compute args order
crazy-max Aug 16, 2020
bd7ed33
Typo
crazy-max Aug 16, 2020
6ede7e9
Fix cache restoreKeys
crazy-max Aug 16, 2020
bf8b1bf
Update ci workflow
crazy-max Aug 16, 2020
1ae53ef
Update README
crazy-max Aug 16, 2020
fbd34ed
Merge branch 'v2-working-branch' into v2-build-push
crazy-max Aug 16, 2020
512e4e9
Fix package name
crazy-max Aug 17, 2020
363c8ed
Treat platforms and allow as a list
crazy-max Aug 17, 2020
1110973
Update ci workflow
crazy-max Aug 17, 2020
e0b1277
Set buildkitd-flags for ci workflow
crazy-max Aug 17, 2020
ff03fa5
Inspect pushed image
crazy-max Aug 17, 2020
8413351
Ignore subactions
crazy-max Aug 17, 2020
e796490
Use url fragment for git ref context
crazy-max Aug 17, 2020
2962fe9
Remove bake support for now (future release or subaction)
crazy-max Aug 17, 2020
44d05b9
Remove GitHub Cache support for now (future release or buildkit cache…
crazy-max Aug 17, 2020
38c1f18
Add digest output
crazy-max Aug 17, 2020
25fd13d
Add complete workflow example
crazy-max Aug 18, 2020
c92227a
Add CHANGELOG
crazy-max Aug 19, 2020
52a6ac2
Add ref
crazy-max Aug 19, 2020
ea664df
Add badges and screenshot
crazy-max Aug 19, 2020
65e18bf
Bug report template
crazy-max Aug 19, 2020
a1114bb
Fix name
crazy-max Aug 20, 2020
a2059ed
Add note about dependabot
crazy-max Aug 20, 2020
aac8809
Fix TOC
crazy-max Aug 20, 2020
1c21811
Move zeit/ncc to vercel/ncc
crazy-max Aug 21, 2020
595e5e8
Add dependabot
crazy-max Aug 21, 2020
f11192a
Update README
crazy-max Aug 21, 2020
3e57a33
Check Buildx version
crazy-max Aug 23, 2020
e8186e9
Update tests
crazy-max Aug 23, 2020
995fe3c
Fix tests
crazy-max Aug 23, 2020
e13f2c2
Update workflow
crazy-max Aug 23, 2020
1baa070
Fix workflow
crazy-max Aug 23, 2020
2a794d5
Use docker/setup-buildx-action and docker/setup-qemu-action
crazy-max Aug 24, 2020
d8e8fa4
Move setup-buildx and setup-qemu actions
crazy-max Aug 24, 2020
d72873c
Switch to docker/login-action
crazy-max Aug 27, 2020
fbd19d2
Update CHANGELOG
crazy-max Aug 27, 2020
c124ff0
Add GitHub cache example
crazy-max Aug 29, 2020
8954ded
Ignore comma sep for CSV inputs type
crazy-max Aug 29, 2020
bd6a018
Add isolated builders example
crazy-max Aug 29, 2020
f295fbf
Add secrets input
crazy-max Sep 2, 2020
b563df0
Update README
crazy-max Sep 2, 2020
cf9301c
Use --builder
crazy-max Sep 3, 2020
ff910a3
Update CI workflow (docker/setup-buildx-action#14)
crazy-max Sep 3, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
File renamed without changes.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
@@ -0,0 +1 @@
* @crazy-max
29 changes: 29 additions & 0 deletions .github/CONTRIBUTING.md
@@ -0,0 +1,29 @@
## Contributing

Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.

Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE).

## Submitting a pull request

1. [Fork](https://github.com/docker/build-push-action/fork) and clone the repository
2. Configure and install the dependencies: `yarn install`
3. Make sure the tests pass on your machine: `yarn run test`
4. Create a new branch: `git checkout -b my-branch-name`
5. Make your change, add tests, and make sure the tests still pass
6. Run pre-checkin: `yarn run pre-checkin`
7. Push to your fork and [submit a pull request](https://github.com/docker/build-push-action/compare)
8. Pat your self on the back and wait for your pull request to be reviewed and merged.

Here are a few things you can do that will increase the likelihood of your pull request being accepted:

- Make sure the `README.md` and any other relevant **documentation are kept up-to-date**.
- We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as **separate pull requests**.
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).

## Resources

- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
- [GitHub Help](https://help.github.com)
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help us improve
---

### Behaviour

#### Steps to reproduce this issue

1.
2.
3.

#### Expected behaviour

> Tell us what should happen

#### Actual behaviour

> Tell us what happens instead

### Configuration

* Repository URL (if public):
* Build URL (if public):

```yml
# paste your YAML workflow file here and remove sensitive data
```

### Logs

> Download the [log file of your build](https://help.github.com/en/actions/configuring-and-managing-workflows/managing-a-workflow-run#downloading-logs) and [attach it](https://help.github.com/en/github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests) to this issue.
31 changes: 31 additions & 0 deletions .github/SUPPORT.md
@@ -0,0 +1,31 @@
# Support [![](https://isitmaintained.com/badge/resolution/docker/build-push-action.svg)](https://isitmaintained.com/project/docker/build-push-action)

First, [be a good guy](https://github.com/kossnocorp/etiquette/blob/master/README.md).

## Reporting an issue

Please do a search in [open issues](https://github.com/docker/build-push-action/issues?utf8=%E2%9C%93&q=) to see if the issue or feature request has already been filed.

If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment.

:+1: - upvote

:-1: - downvote

If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.

## Writing good bug reports and feature requests

File a single issue per problem and feature request.

* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.

The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.

You are now ready to [create a new issue](https://github.com/docker/build-push-action/issues/new/choose)!

## Closure policy

* Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
* Issues that go a week without a response from original poster are subject to closure at our discretion.
Binary file added .github/build-push-action.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions .github/dependabot.yml
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
allow:
- dependency-type: "production"
243 changes: 243 additions & 0 deletions .github/workflows/ci.yml
@@ -0,0 +1,243 @@
name: ci

on:
push:
branches:
- master
- v2-working-branch # remove when merged to master
pull_request:
branches:
- master
- v2-working-branch # remove when merged to master

jobs:
single:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
buildx-version:
- ""
- latest
steps:
-
name: Run local registry
run: |
docker run -d -p 5000:5000 registry:2
-
name: Checkout
uses: actions/checkout@v2.3.1
-
name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
with:
version: ${{ matrix.buildx-version }}
driver-opt: network=host
buildkitd-flags: --allow-insecure-entitlement security.insecure
-
name: Build and push
id: docker_build
uses: ./
with:
context: ./test
file: ./test/Dockerfile
builder: ${{ steps.buildx.outputs.name }}
allow: network.host,security.insecure
push: true
tags: |
localhost:5000/name/app:latest
localhost:5000/name/app:1.0.0
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:1.0.0
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1

multi:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
buildx-version:
- ""
- latest
dockerfile:
- multi
- multi-sudo
steps:
-
name: Run local registry
run: |
docker run -d -p 5000:5000 registry:2
-
name: Checkout
uses: actions/checkout@v2.3.1
-
name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
with:
version: ${{ matrix.buildx-version }}
driver-opt: network=host
buildkitd-flags: --allow-insecure-entitlement security.insecure
-
name: Build and push
id: docker_build
uses: ./
with:
context: ./test
file: ./test/Dockerfile-${{ matrix.dockerfile }}
builder: ${{ steps.buildx.outputs.name }}
platforms: linux/amd64,linux/arm64
allow: network.host,security.insecure
push: true
tags: |
localhost:5000/name/app:latest
localhost:5000/name/app:1.0.0
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:1.0.0
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1

github-cache:
runs-on: ubuntu-latest
steps:
-
name: Run local registry
run: |
docker run -d -p 5000:5000 registry:2
-
name: Checkout
uses: actions/checkout@v2.3.1
-
name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
with:
driver-opt: network=host
buildkitd-flags: --allow-insecure-entitlement security.insecure
-
name: Cache Docker layers
uses: actions/cache@v2
id: cache
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
-
name: Build and push
id: docker_build
uses: ./
with:
context: ./test
file: ./test/Dockerfile-multi-golang
builder: ${{ steps.buildx.outputs.name }}
platforms: linux/amd64,linux/arm64
allow: network.host,security.insecure
push: true
tags: |
localhost:5000/name/app:latest
localhost:5000/name/app:1.0.0
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:1.0.0
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
-
name: Cache hit
run: echo ${{ steps.cache.outputs.cache-hit }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1

git-context:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
buildx-version:
#- "" # GIT_AUTH_TOKEN not available in the current version on the GitHub Runner
- latest
steps:
-
name: Run local registry
run: |
docker run -d -p 5000:5000 registry:2
-
name: Checkout
uses: actions/checkout@v2.3.1
-
name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
with:
version: ${{ matrix.buildx-version }}
driver-opt: network=host
buildkitd-flags: --allow-insecure-entitlement security.insecure
-
name: Build and push
id: docker_build
uses: ./
env:
GIT_AUTH_TOKEN: ${{ github.token }}
with:
context: "${{ github.repositoryUrl }}#${{ github.ref }}"
file: ./test/Dockerfile
builder: ${{ steps.buildx.outputs.name }}
platforms: linux/amd64,linux/arm64
allow: network.host,security.insecure
push: true
tags: |
localhost:5000/name/app:latest
localhost:5000/name/app:1.0.0
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:1.0.0
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1
37 changes: 0 additions & 37 deletions .github/workflows/main.yml

This file was deleted.