Skip to content

Commit ec680b3

Browse files
authored
Merge pull request #2 from savi-lang/add/all-platforms-input
Add `all-platforms` option for action inputs.
2 parents c1f1cff + a68ab0c commit ec680b3

File tree

2 files changed

+65
-26
lines changed

2 files changed

+65
-26
lines changed

.github/workflows/test.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,7 @@ jobs:
3535
with:
3636
manifest-name: example
3737
tarball-name: example-vX.Y.Z
38-
x86_64-unknown-linux-gnu: true
39-
x86_64-unknown-linux-musl: true
40-
arm64-unknown-linux-musl: true
41-
x86_64-unknown-freebsd: true
42-
x86_64-apple-macosx: true
43-
arm64-apple-macosx: true
44-
x86_64-unknown-windows-msvc: true
38+
all-platforms: true
4539
macosx-accept-license: true
4640
windows-accept-license: true
4741

action.yaml

Lines changed: 64 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ inputs:
1515
Each tarball will have a suffix of the platform name and `.tar.gz`.
1616
required: true
1717

18+
all-platforms:
19+
type: boolean
20+
description: >
21+
Produce builds for all platforms.
22+
required: false
23+
default: false
24+
1825
x86_64-unknown-linux-gnu:
1926
type: boolean
2027
description: >
@@ -108,13 +115,18 @@ runs:
108115
shell: bash
109116

110117
# Set up the x86_64 debian root, if the user requested that target.
111-
- if: ${{ inputs.x86_64-unknown-linux-gnu == 'true' }}
118+
- if: >
119+
inputs.x86_64-unknown-linux-gnu == 'true'
120+
|| inputs.all-platforms == 'true'
112121
id: cache-x-x86_64-linux-gnu
113122
uses: actions/cache@v3
114123
with:
115124
key: savi-build-release-x86_64-debian-bullseye-20220922
116125
path: /tmp/x-x86_64-linux-gnu/root
117-
- if: ${{ inputs.x86_64-unknown-linux-gnu == 'true' && steps.cache-x-x86_64-linux-gnu.outputs.cache-hit != 'true' }}
126+
- if: >
127+
(inputs.x86_64-unknown-linux-gnu == 'true'
128+
|| inputs.all-platforms == 'true')
129+
&& steps.cache-x-x86_64-linux-gnu.outputs.cache-hit != 'true'
118130
shell: bash
119131
run: |
120132
libc6_sha256=a3ef5dbbfa61f944efaa759feb4b3d05f572be159216545bced7b297fc09bab5 && \
@@ -147,13 +159,18 @@ runs:
147159
echo Done!
148160
149161
# Set up the x86_64 alpine root, if the user requested that target.
150-
- if: ${{ inputs.x86_64-unknown-linux-musl == 'true' }}
162+
- if: >
163+
inputs.x86_64-unknown-linux-musl == 'true'
164+
|| inputs.all-platforms == 'true'
151165
id: cache-x-x86_64-alpine
152166
uses: actions/cache@v3
153167
with:
154168
key: savi-build-release-x86_64-alpine-3.16-20220922
155169
path: /tmp/x-x86_64-alpine/root
156-
- if: ${{ inputs.x86_64-unknown-linux-musl == 'true' && steps.cache-x-x86_64-alpine.outputs.cache-hit != 'true' }}
170+
- if: >
171+
(inputs.x86_64-unknown-linux-musl == 'true'
172+
|| inputs.all-platforms == 'true')
173+
&& steps.cache-x-x86_64-alpine.outputs.cache-hit != 'true'
157174
shell: bash
158175
run: |
159176
musl_dev_sha256=0c3c153ac60b9cbfb752a6e1f61b9dd5c168dfedd8837878bc4b51028f13f270 && \
@@ -181,13 +198,18 @@ runs:
181198
echo Done!
182199
183200
# Set up the arm64 alpine root, if the user requested that target.
184-
- if: ${{ inputs.arm64-unknown-linux-musl == 'true' }}
201+
- if: >
202+
inputs.arm64-unknown-linux-musl == 'true'
203+
|| inputs.all-platforms == 'true'
185204
id: cache-x-arm64-alpine
186205
uses: actions/cache@v3
187206
with:
188207
key: savi-build-release-arm64-alpine-3.16-20220922
189208
path: /tmp/x-arm64-alpine/root
190-
- if: ${{ inputs.arm64-unknown-linux-musl == 'true' && steps.cache-x-arm64-alpine.outputs.cache-hit != 'true' }}
209+
- if: >
210+
(inputs.arm64-unknown-linux-musl == 'true'
211+
|| inputs.all-platforms == 'true')
212+
&& steps.cache-x-arm64-alpine.outputs.cache-hit != 'true'
191213
shell: bash
192214
run: |
193215
musl_dev_sha256=c6ce351e2943ca9d984929ca4f57efd858ba9e07f34efda3a9d738a511ae3012 && \
@@ -218,13 +240,18 @@ runs:
218240
#
219241
# For updates, see package names and hashes in the following YAML file:
220242
# http://pkg.freebsd.org/FreeBSD:13:amd64/latest/packagesite.txz
221-
- if: ${{ inputs.x86_64-unknown-freebsd == 'true' }}
243+
- if: >
244+
inputs.x86_64-unknown-freebsd == 'true'
245+
|| inputs.all-platforms == 'true'
222246
id: cache-x-x86_64-freebsd
223247
uses: actions/cache@v3
224248
with:
225249
key: savi-build-release-x86_64-freebsd-13-20220922
226250
path: /tmp/x-x86_64-freebsd/root
227-
- if: ${{ inputs.x86_64-unknown-freebsd == 'true' && steps.cache-x-x86_64-freebsd.outputs.cache-hit != 'true' }}
251+
- if: >
252+
(inputs.x86_64-unknown-freebsd == 'true'
253+
|| inputs.all-platforms == 'true')
254+
&& steps.cache-x-x86_64-freebsd.outputs.cache-hit != 'true'
228255
shell: bash
229256
run: |
230257
sysroot_sha256=966a648cd0e12e6cc4e03b3c61d5975e519b0be19c8e4147a5bac2ffbd8332b4 && \
@@ -244,13 +271,15 @@ runs:
244271
echo Done!
245272
246273
# Set up the MacOSX root, if the user accepted the license.
247-
- if: ${{ inputs.macosx-accept-license == 'true' }}
274+
- if: inputs.macosx-accept-license == 'true'
248275
id: cache-x-macosx
249276
uses: actions/cache@v3
250277
with:
251278
key: savi-build-release-macosx-11.3-usr-lib-20220922
252279
path: /tmp/x-macosx/root/usr/lib
253-
- if: ${{ inputs.macosx-accept-license == 'true' && steps.cache-x-macosx.outputs.cache-hit != 'true' }}
280+
- if: >
281+
inputs.macosx-accept-license == 'true'
282+
&& steps.cache-x-macosx.outputs.cache-hit != 'true'
254283
shell: bash
255284
run: |
256285
macosx_sha512=36c1964ea43a782dfe2a0ef1da8c9c95ffe834fbc10b0d312ff8a87dd9f4c3310dea67e6e3d943824a2e3c288be4d60cf5bd852027770b35bc088527b598734f && \
@@ -263,13 +292,15 @@ runs:
263292
echo Done!
264293
265294
# Set up the Windows root, if the user accepted the license.
266-
- if: ${{ inputs.windows-accept-license == 'true' }}
295+
- if: inputs.windows-accept-license == 'true'
267296
id: cache-x-windows
268297
uses: actions/cache@v3
269298
with:
270299
key: savi-build-release-xwin-0.2.1-20220922
271300
path: /tmp/x-windows/root
272-
- if: ${{ inputs.windows-accept-license == 'true' && steps.cache-x-windows.outputs.cache-hit != 'true' }}
301+
- if: >
302+
inputs.windows-accept-license == 'true'
303+
&& steps.cache-x-windows.outputs.cache-hit != 'true'
273304
shell: bash
274305
env: { XWIN_ACCEPT_LICENSE: '1' }
275306
run: |
@@ -292,7 +323,9 @@ runs:
292323
##
293324
# Now, build for all requested platforms...
294325

295-
- if: ${{ inputs.x86_64-unknown-linux-gnu == 'true' }}
326+
- if: >
327+
inputs.x86_64-unknown-linux-gnu == 'true'
328+
|| inputs.all-platforms == 'true'
296329
run: ${{ inputs.build-command }}
297330
shell: bash
298331
env:
@@ -302,7 +335,9 @@ runs:
302335
target: x86_64-unknown-linux-gnu
303336
SAVI_SYS_ROOT: /tmp/x-x86_64-linux-gnu/root
304337
305-
- if: ${{ inputs.x86_64-unknown-linux-musl == 'true' }}
338+
- if: >
339+
inputs.x86_64-unknown-linux-musl == 'true'
340+
|| inputs.all-platforms == 'true'
306341
run: ${{ inputs.build-command }}
307342
shell: bash
308343
env:
@@ -312,7 +347,9 @@ runs:
312347
target: x86_64-unknown-linux-musl
313348
SAVI_SYS_ROOT: /tmp/x-x86_64-alpine/root
314349
315-
- if: ${{ inputs.arm64-unknown-linux-musl == 'true' }}
350+
- if: >
351+
inputs.arm64-unknown-linux-musl == 'true'
352+
|| inputs.all-platforms == 'true'
316353
run: ${{ inputs.build-command }}
317354
shell: bash
318355
env:
@@ -322,7 +359,9 @@ runs:
322359
target: arm64-unknown-linux-musl
323360
SAVI_SYS_ROOT: /tmp/x-arm64-alpine/root
324361
325-
- if: ${{ inputs.x86_64-unknown-freebsd == 'true' }}
362+
- if: >
363+
inputs.x86_64-unknown-freebsd == 'true'
364+
|| inputs.all-platforms == 'true'
326365
run: ${{ inputs.build-command }}
327366
shell: bash
328367
env:
@@ -332,7 +371,9 @@ runs:
332371
target: x86_64-unknown-freebsd
333372
SAVI_SYS_ROOT: /tmp/x-x86_64-freebsd/root/usr/local/freebsd-sysroot/amd64
334373
335-
- if: ${{ inputs.x86_64-apple-macosx == 'true' }}
374+
- if: >
375+
inputs.x86_64-apple-macosx == 'true'
376+
|| inputs.all-platforms == 'true'
336377
run: ${{ inputs.build-command }}
337378
shell: bash
338379
env:
@@ -342,7 +383,9 @@ runs:
342383
target: x86_64-apple-macosx
343384
SAVI_SYS_ROOT: /tmp/x-macosx/root
344385
345-
- if: ${{ inputs.arm64-apple-macosx == 'true' }}
386+
- if: >
387+
inputs.arm64-apple-macosx == 'true'
388+
|| inputs.all-platforms == 'true'
346389
run: ${{ inputs.build-command }}
347390
shell: bash
348391
env:
@@ -352,7 +395,9 @@ runs:
352395
target: arm64-apple-macosx
353396
SAVI_SYS_ROOT: /tmp/x-macosx/root
354397
355-
- if: ${{ inputs.x86_64-unknown-windows-msvc == 'true' }}
398+
- if: >
399+
inputs.x86_64-unknown-windows-msvc == 'true'
400+
|| inputs.all-platforms == 'true'
356401
run: ${{ inputs.build-command }}
357402
shell: bash
358403
env:

0 commit comments

Comments
 (0)