-
Notifications
You must be signed in to change notification settings - Fork 23
94 lines (89 loc) · 2.85 KB
/
docker-steps.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: organizes the steps taken to build, upload, and test the images
on:
workflow_call:
inputs:
image:
description: Image name
required: true
type: string
directory:
description: The directory of the image files
required: true
type: string
parent-image:
description: Parent image name
required: false
type: string
parent-image-is-diff:
description: Parent image has been changed?
required: false
type: string
default: "false"
base-image:
description: The base image to build from if not located on our own repo
required: false
type: string
registry-name:
description: url of the registry <registy-name>
required: true
type: string
buildkit:
description: buildkit version, legacy is 0 and deprecated
required: false
type: number
default: 1
branch-name:
description: The name of the current branch
required: true
type: string
secrets:
REGISTRY_USERNAME:
description: The username for the container registry
required: true
REGISTRY_PASSWORD:
description: The password for the container registry
required: true
outputs:
is-diff:
description: Is there a difference between the master branch and the current branch
value: ${{ jobs.check-diff.outputs.is-diff }}
jobs:
check-diff:
uses: ./.github/workflows/check-diff.yaml
with:
directory: ${{ inputs.directory }}
parent-image-is-diff: ${{ inputs.parent-image-is-diff }}
branch-name: ${{ inputs.branch-name }}
print-variables:
needs: [check-diff]
runs-on: ubuntu-latest
steps:
- name: print inputs
run: echo "${{ toJSON(inputs) }}"
- name: print check-diff
run: echo "${{ toJSON(needs.check-diff) }}"
build-upload:
needs: [check-diff]
if: ${{ needs.check-diff.outputs.is-diff == 'true' }}
uses: ./.github/workflows/docker-build-upload.yaml
with:
parent-image: ${{ inputs.parent-image }}
directory: ${{ inputs.directory }}
image: ${{ inputs.image }}
base-image: ${{ inputs.base-image }}
registry-name: ${{ inputs.registry-name }}
buildkit: ${{ inputs.buildkit }}
branch-name: ${{ inputs.branch-name }}
secrets:
REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
pull-upload:
needs: [check-diff]
if: ${{ needs.check-diff.outputs.is-diff == 'false' }}
uses: ./.github/workflows/docker-pull-upload.yaml
with:
image: ${{ inputs.image }}
registry-name: ${{ inputs.registry-name }}
secrets:
REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}