Skip to content

Commit

Permalink
Merge pull request #338 from crazy-max/network
Browse files Browse the repository at this point in the history
Add network input
  • Loading branch information
crazy-max committed Apr 6, 2021
2 parents 8891861 + 5a4a26c commit e1b7f96
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 0 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/ci.yml
Expand Up @@ -290,6 +290,30 @@ jobs:
if: always()
uses: crazy-max/ghaction-dump-context@v1

network:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: List networks
run: docker network ls
-
name: Build
uses: ./
with:
context: ./test
tags: name/app:latest
network: host
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1

multi:
runs-on: ubuntu-latest
strategy:
Expand Down
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -204,6 +204,7 @@ Following inputs can be used as `step.with` keys
| `file` | String | Path to the Dockerfile. (default `{context}/Dockerfile`) |
| `labels` | List | List of metadata for an image |
| `load` | Bool | [Load](https://github.com/docker/buildx/blob/master/docs/reference/buildx_build.md#load) is a shorthand for `--output=type=docker` (default `false`) |
| `network` | String | Set the networking mode for the `RUN` instructions during build |
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
| `outputs` | List | List of [output destinations](https://github.com/docker/buildx/blob/master/docs/reference/buildx_build.md#output) (format: `type=local,dest=path`) |
| `platforms` | List/CSV | List of [target platforms](https://github.com/docker/buildx/blob/master/docs/reference/buildx_build.md#platform) for build |
Expand Down
2 changes: 2 additions & 0 deletions __tests__/context.test.ts
Expand Up @@ -346,6 +346,7 @@ ccc`],
['secret-files', `MY_SECRET=${path.join(__dirname, 'fixtures', 'secret.txt').split(path.sep).join(path.posix.sep)}`],
['file', './test/Dockerfile'],
['builder', 'builder-git-context-2'],
['network', 'host'],
['push', 'true']
]),
[
Expand All @@ -355,6 +356,7 @@ ccc`],
'--secret', 'id=MY_SECRET,src=/tmp/.docker-build-push-jest/.tmpname-jest',
'--file', './test/Dockerfile',
'--builder', 'builder-git-context-2',
'--network', 'host',
'--push',
'https://github.com/docker/build-push-action.git#heads/master'
]
Expand Down
3 changes: 3 additions & 0 deletions action.yml
Expand Up @@ -35,6 +35,9 @@ inputs:
description: "Load is a shorthand for --output=type=docker"
required: false
default: 'false'
network:
description: "Set the networking mode for the RUN instructions during build"
required: false
no-cache:
description: "Do not use cache when building the image"
required: false
Expand Down
4 changes: 4 additions & 0 deletions dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/context.ts
Expand Up @@ -22,6 +22,7 @@ export interface Inputs {
file: string;
labels: string[];
load: boolean;
network: string;
noCache: boolean;
outputs: string[];
platforms: string[];
Expand Down Expand Up @@ -66,6 +67,7 @@ export async function getInputs(defaultContext: string): Promise<Inputs> {
file: core.getInput('file'),
labels: await getInputList('labels', true),
load: /true/i.test(core.getInput('load')),
network: core.getInput('network'),
noCache: /true/i.test(core.getInput('no-cache')),
outputs: await getInputList('outputs', true),
platforms: await getInputList('platforms'),
Expand Down Expand Up @@ -163,6 +165,9 @@ async function getCommonArgs(inputs: Inputs): Promise<Array<string>> {
if (inputs.load) {
args.push('--load');
}
if (inputs.network) {
args.push('--network', inputs.network);
}
if (inputs.push) {
args.push('--push');
}
Expand Down

0 comments on commit e1b7f96

Please sign in to comment.