1
1
# Actions
2
2
3
- This repository contains various reusable actions which encapsulate series of
4
- commands to run a particular step in a workflow.
3
+ This repository contains various reusable actions which encapsulate series of commands to run a
4
+ particular step in a workflow.
5
5
6
6
## Definitions
7
7
@@ -22,35 +22,31 @@ commands to run a particular step in a workflow.
22
22
Manifest: [ build-product-image/action.yml] [ build-product-image ]
23
23
24
24
> [ !NOTE]
25
- > The build step is not concerned with registries, ports, paths to repositories,
26
- > but still requires a name. If the name does not contain a registry,
27
- > ` hub.docker.com ` (?) is implied. Therefore, ` localhost ` will be used as the
28
- > registry so as to avoid accidental interactions with an unintended registry .
25
+ > The build step is not concerned with registries, ports, paths to repositories, but still requires
26
+ > a name. If the name does not contain a registry, ` hub.docker.com ` (?) is implied. Therefore ,
27
+ > ` localhost ` will be used as the registry so as to avoid accidental interactions with an unintended
28
+ > registry.
29
29
>
30
- > Ideally, bake should be refactored to use ` localhost ` as the registry for the
31
- > previously mentioned reason (whether or not that is behind some option).
30
+ > Ideally, bake should be refactored to use ` localhost ` as the registry for the previously mentioned
31
+ > reason (whether or not that is behind some option).
32
32
33
- This action builds a * single* container image using ` bake ` . It does the
34
- following work:
33
+ This action builds a * single* container image using ` bake ` . It does the following work:
35
34
36
35
1 . Free disk space to avoid running out of disk space during larger builds.
37
36
2 . Build the image using ` bake ` which internally uses ` docker buildx ` .
38
- 3 . Temporarily retag the image to use ` localhost ` instead of
39
- ` docker.stackable.tech/stackable ` .
37
+ 3 . Temporarily retag the image to use ` localhost ` instead of ` docker.stackable.tech/stackable ` .
40
38
4 . Produce output values to be used in later steps.
41
39
42
- This action is considered to be the ** single** source of truth regarding image
43
- index tag and image manifest tag. All subsequent tasks must use these values to
44
- ensure consistency.
40
+ This action is considered to be the ** single** source of truth regarding image index tag and image
41
+ manifest tag. All subsequent tasks must use these values to ensure consistency.
45
42
46
43
Currently, bake provides the following ouput in the ` bake-target-tags ` file:
47
44
48
45
``` plain
49
46
docker.stackable.tech/stackable/kafka:3.4.1-stackable0.0.0-dev-amd64
50
47
```
51
48
52
- Until bake supports the ability to specify the registry, this action will retag
53
- the image as:
49
+ Until bake supports the ability to specify the registry, this action will retag the image as:
54
50
55
51
``` plain
56
52
localhost/kafka:3.4.1-stackable0.0.0-dev-amd64
@@ -59,8 +55,7 @@ localhost/kafka:3.4.1-stackable0.0.0-dev-amd64
59
55
### Inputs and Outputs
60
56
61
57
> [ !TIP]
62
- > For descriptions of the inputs and outputs, see the [ build-product-image]
63
- > workflow.
58
+ > For descriptions of the inputs and outputs, see the complete [ build-product-image] action.
64
59
65
60
#### Inputs
66
61
@@ -80,29 +75,27 @@ localhost/kafka:3.4.1-stackable0.0.0-dev-amd64
80
75
81
76
Manifest: [ publish-image/action.yml] [ publish-image ]
82
77
83
- This action signs and publishes a * single* container image to the given
84
- registry. It does the following work:
78
+ This action signs and publishes a * single* container image to the given registry. It does the
79
+ following work:
85
80
86
- 1 . Tag the ` source-image-uri ` with the specified ` image-registry-uti ` ,
87
- ` image-repository ` , and ` image-repository ` .
81
+ 1 . Tag the ` source-image-uri ` with the specified ` image-registry-uti ` , ` image-repository ` , and
82
+ ` image-repository ` .
88
83
2 . Push the container image to the specified registry.
89
- 3 . Sign the container image (which pushes the signature to the specified
90
- registry).
84
+ 3 . Sign the container image (which pushes the signature to the specified registry).
91
85
4 . Generate an SBOM via a syft scan.
92
- 5 . Attest an image with the SBOM as a predicate (which pushes the attestation
93
- to the specified registry).
86
+ 5 . Attest an image with the SBOM as a predicate (which pushes the attestation to the specified
87
+ registry).
94
88
95
89
### Inputs and Outputs
96
90
97
91
> [ !TIP]
98
- > For descriptions of the inputs and outputs, see the [ publish-image] workflow .
92
+ > For descriptions of the inputs and outputs, see the complete [ publish-image] action .
99
93
100
94
<!-- markdownlint-disable-next-line MD028 -->
101
95
> [ !IMPORTANT]
102
- > For multi-arch images, the ` image-manifest-tag ` should have the ` -$ARCH `
103
- > suffix, as the tag without it should be reserved for the image index manifest
104
- > which will refer to container images for each architecture we will push images
105
- > for.
96
+ > For multi-arch images, the ` image-manifest-tag ` should have the ` -$ARCH ` suffix, as the tag
97
+ > without it should be reserved for the image index manifest which will refer to container images
98
+ > for each architecture we will push images for.
106
99
107
100
#### Inputs
108
101
@@ -123,20 +116,16 @@ None
123
116
124
117
Manifest: [ publish-index-manifest/action.yml] [ publish-index-manifest ]
125
118
126
- This action creates an image index manifest, publishes it, and signs it. It does
127
- the following work:
119
+ This action creates an image index manifest, publishes it, and signs it. It does the following work:
128
120
129
- 1 . Create an image index manifest and link to each architecture in
130
- ` image-architectures ` .
121
+ 1 . Create an image index manifest and link to each architecture in ` image-architectures ` .
131
122
2 . Push the image index manifest.
132
- 3 . Sign the image index manifest (which pushes the signature to the specified
133
- registry).
123
+ 3 . Sign the image index manifest (which pushes the signature to the specified registry).
134
124
135
125
### Inputs and Outputs
136
126
137
127
> [ !TIP]
138
- > For descriptions of the inputs and outputs, see the [ publish-index-manifest]
139
- > workflow.
128
+ > For descriptions of the inputs and outputs, see the complete [ publish-index-manifest] action.
140
129
141
130
#### Inputs
142
131
157
146
158
147
Manifest: [ shard/action.yml] [ shard ]
159
148
160
- This action produces a list of versions for a product. This is to be used as a
161
- matrix dimension to parallelize builds. It does the following work:
149
+ This action produces a list of versions for a product. This is to be used as a matrix dimension to
150
+ parallelize builds. It does the following work:
162
151
163
152
1 . Reads the ` conf.py ` , filtering versions for the product
164
153
2 . Write the JSON array of version to ` $GITHUB_OUTPUT ` for use in a matrix.
@@ -190,7 +179,7 @@ jobs:
190
179
### Inputs and Outputs
191
180
192
181
> [ !TIP]
193
- > For descriptions of the inputs and outputs, see the [ shard] workflow .
182
+ > For descriptions of the inputs and outputs, see the complete [ shard] action .
194
183
195
184
#### Inputs
196
185
0 commit comments