Skip to content

Commit 7ad23d5

Browse files
committed
Add parallel processing of inputs
Support processing multiple inputs in parallel to reduce CI time
1 parent a00d97f commit 7ad23d5

4 files changed

Lines changed: 403 additions & 15 deletions

File tree

README.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ It is up to the caller to do something with the file/directory operated on.
2828
See [action.yml](action.yml) for the set of inputs. The file should be
2929
self-documenting.
3030

31-
The only output is `output_path`, which holds the filesystem path of the
32-
signed/notarized/stapled entity.
31+
The outputs are:
32+
33+
- `output_path`: filesystem path of the signed/notarized/stapled entity (or the
34+
first path when multiple `input_path` values are provided).
35+
- `output_paths`: newline-separated list of output paths when multiple
36+
`input_path` values are provided.
3337

3438
## Examples
3539

@@ -147,3 +151,21 @@ steps:
147151
app_store_connect_api_issuer: 'abcdef-42-2411312...'
148152
app_store_connect_api_key: 'DEADBEEF'
149153
```
154+
155+
Notarize multiple signed assets in parallel.
156+
157+
```yaml
158+
steps:
159+
# Add steps here to materialize signed assets (.app/.zip/.dmg/etc).
160+
161+
- name: Notarize (parallel)
162+
uses: BloopAI/apple-code-sign-action@v1
163+
with:
164+
input_path: |
165+
MyApp.zip
166+
MyOtherApp.zip
167+
sign: false
168+
notarize: true
169+
notarize_concurrency: 2
170+
app_store_connect_api_key_json_file: app_store_key.json
171+
```

action.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ inputs:
2626
description: 'Whether to notarize'
2727
default: 'false'
2828

29+
notarize_concurrency:
30+
description: 'Max parallel notarization submissions when input_path is multi-line (0 = unlimited)'
31+
default: '0'
32+
2933
# Attaches a pre-issued "notarization ticket" to an entity.
3034
staple:
3135
description: 'Whether to staple a notarization ticket'
@@ -113,7 +117,9 @@ inputs:
113117

114118
outputs:
115119
output_path:
116-
description: 'Path to signed/notarized/stapled entity'
120+
description: 'Path to signed/notarized/stapled entity (first when multiple input_path values)'
121+
output_paths:
122+
description: 'Newline-separated list of output paths when multiple input_path values are provided'
117123

118124
runs:
119125
using: node20

dist/index.js

Lines changed: 183 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)