Releases: Codex-/await-remote-run
Release list
v3.0.0
v3 now more broadly applies the usage of etags, reducing the number of requests that contribute to usage limits, and also brings
improvements driven by requests from the community (and probably organisations using it in a trench coat).
Await specific jobs
Thanks for requesting this, @jbelien (#212)
The new jobs input awaits named jobs within the run rather than the run itself, one name per line.
Useful when the remote run continues past the part you actually need, such as gating on build while its deploy carries on.
- uses: Codex-/await-remote-run@v3
with:
token: ${{ github.token }}
repo: repository-name
owner: repository-owner
run_id: ${{ steps.return_dispatch.outputs.run_id }}
jobs: |
buildResolves once every listed job has concluded with success, leaving the rest of the run in flight. Any other conclusion, skipped
included, fails immediately. Names must match what GitHub reports rather than the workflow's job key, so a matrix job is build (ubuntu-latest, 20) and a reusable workflow call is build / inner-job-name. A name that never matched fails once the run concludes,
listing every job the run did produce.
Cancel the remote run
Thanks for requesting this, @oskar-s9s (#215)
Timing out previously left the remote run going, which is a problem when your workflow then tears down something that run depends on.
Set cancel_timeout_seconds to request cancellation once that much time has elapsed:
- uses: Codex-/await-remote-run@v3
with:
token: ${{ secrets.TOKEN }} # Cancelling is a write, so not GITHUB_TOKEN
repo: repository-name
owner: repository-owner
run_id: ${{ steps.return_dispatch.outputs.run_id }}
run_timeout_seconds: 300
cancel_timeout_seconds: 240It must be less than run_timeout_seconds, the difference being how long the action keeps polling to observe the resulting cancelled
conclusion. Combined with jobs, an awaited job failing also cancels the run, as it can no longer succeed. A run whose awaited jobs all
succeeded is never cancelled.
Cancellation is a write and GITHUB_TOKEN cannot be granted Actions write on another repository, so this input always needs a PAT with
Actions write.
Fewer requests against your rate limit
The etag handling was rewritten as a fetch wrapper around the Octokit client, so every request the action makes is now conditional and a
304 costs nothing against the primary rate limit. Previously only the run state fetch was covered. The wrapper preserves any proxy fetch
@actions/github resolved, so self-hosted runners behind a proxy keep working.
Upgrading from v2
There are no intended breaking changes. Bumping the tag should be sufficient. Two behaviours changes worth noting:
- Failure diagnostics enumerate every unsuccessful job, not only those concluding
failure, so acancelledortimed_outjob now gets reported.skippedjobs are excluded as they bury the causal failure. - The jobs listing is paginated, so a run with more than 100 jobs no longer reports a truncated set.
Cancellation and awaiting jobs are both opt-in. Leave both inputs unset and the action behaves as it did in v2.
v2.1.0
🐞 Bug Fixes
View changes on GitHub
v2.0.0
🚀 Features
🐞 Bug Fixes
- Prevent createRequire clashes - by @Codex- (3b52f)
- Prevent extra iterations occurring on fetchWorkflowRunActiveJobUrlRetry - by @Codex- (24ef7)
- Redundant try/catch - by @Codex- (5020a)
- Handle missing states and test - by @Codex- (baf48)
- Handle missing conclusion types - by @Codex- (68592)
- Prevent teardown errors overriding the
setFailedcall - by @Codex- (5c22a)
View changes on GitHub
v1.13.0
🚀 Features
- Implement etag handling by @carlobeltrame in #264
🙌 New Contributors
- @carlobeltrame made their first contribution in #263
View changes on GitHub
v1.12.2
No significant changes
View changes on GitHub
v1.12.1
- build(deps): bump undici from 5.28.3 to 5.28.4
View changes on GitHub
v1.12.0
No significant changes
View changes on GitHub
v1.11.0
🐞 Bug Fixes
- Target branch will never not be main for dispatch - by @Codex- (f475c)
- Missing status type - by @Codex- (4c48a)
- Retry fetching the URL if the fetch initially fails - by @Codex- (e0837)
- Handle fetching the URL for a job that instantly completed - by @Codex- (fa8fb)
- Retry requests on error until timeout reached - by @Codex- (8073a)
- deps:
View changes on GitHub
Release 1.10.0
- chore(deps): lock file maintenance
#174 - chore(deps): update dependency release-it to v16
#173 - chore(deps): update all non-major dependencies
#169 - chore(deps): update dependency prettier to v3
#172 - build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4
#168 - chore(deps): lock file maintenance
#167 - build(deps): bump vite from 4.2.1 to 4.3.9
#162 - build(deps): bump vm2 from 3.9.17 to 3.9.18
#160 - build(deps): bump vm2 from 3.9.16 to 3.9.17
#158 - build(deps): bump vm2 from 3.9.15 to 3.9.16
#157 - build(deps): bump vm2 from 3.9.14 to 3.9.15
#156 - chore(deps): add dependency @typescript-eslint/eslint-plugin
abe6a73 - test: Use v8 for test coverage
042e8b7 - chore(deps): update dependency eslint-plugin-github to v4.10.0
fb77a3e - chore(format): run format
07d1183 - chore(deps): update dependency eslint-config-prettier to v9
7033a61 - chore: bump to use node20 for action
0d8381f - chore(deps): update dependency @typescript-eslint/parser to v6
a2fa106 - build: generate new bundle.
a1b6bcd
Release 1.9.0
- chore(deps): update dependency typescript to v5
#153 - chore(deps): update all non-major dependencies
#152 - chore(deps): update all non-major dependencies
#151 - chore(deps): lock file maintenance
#146 - build(deps): bump cacheable-request from 10.2.5 to 10.2.7
#150 - chore(deps): update all non-major dependencies
#149 - chore(deps): update all non-major dependencies to ^0.28.4
c831ffb - chore(deps): update renovatebot config.
9558cf0 - docs: update badge url
c63251c - build: generate new bundle.
a3d705c