A GitHub Action to retry commands if weird things happen.
  • TypeScript 81.4%
  • JavaScript 18.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dependabot[bot] a192eda4f3
Bump pnpm/action-setup from 5 to 6 (#130)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 5 to 6.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v5...v6)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-28 02:54:11 +00:00
.github Bump pnpm/action-setup from 5 to 6 (#130) 2026-04-28 02:54:11 +00:00
src Move runUnstableCommand out of main.ts 2023-07-31 03:03:39 +02:00
tests Move runUnstableCommand out of main.ts 2023-07-31 03:03:39 +02:00
.gitattributes Initial commit 2023-07-30 18:40:33 +02:00
.gitignore Remove template files and directories and add .nvmrc 2023-07-31 00:41:55 +02:00
.markdownlint.json Add markdownlint config 2023-10-04 13:38:16 +02:00
.nvmrc Update action runtime to node24 2026-04-28 02:07:02 +02:00
.prettierignore Initial commit 2023-07-30 18:40:33 +02:00
.prettierrc.json Initial commit 2023-07-30 18:40:33 +02:00
action.yml Update action runtime to node24 2026-04-28 02:07:02 +02:00
CODEOWNERS Add CODEOWNERS & Update dependabot.yml 2026-04-28 01:35:01 +02:00
eslint.config.mjs Update devDependencies 2026-04-28 04:38:57 +02:00
jest.config.js Add simple tests 2023-07-31 02:51:31 +02:00
LICENSE Update README.md and LICENSE 2023-07-31 00:43:41 +02:00
package.json Update devDependencies 2026-04-28 04:38:57 +02:00
pnpm-lock.yaml Update devDependencies 2026-04-28 04:38:57 +02:00
pnpm-workspace.yaml Update devDependencies 2026-04-28 04:38:57 +02:00
README.md README: Add a link to step documentation for working-directory 2024-02-20 14:01:18 +01:00
tsconfig.json Initial commit 2023-07-30 18:40:33 +02:00

Unstable commands

unstable-commands status

A GitHub Action to retry commands if weird things happen.

Inputs

commands

Required: The commands to run. Use this like the run keyword for steps.

timeout-minutes

Required: Maximum number of minutes to wait for the commands to finish execution. Use this like the timeout-minutes keyword for steps.

retry-codes

Required: A comma-separated value containing the exit codes which should cause a retry.

shell

Optional: The shell to use to run the commands. Use this like the shell keyword for steps.

Default: "default-shell".

working-directory

Optional: The working directory where the commands are executed in. Use this like the working-directory keyword for steps.

Default: ${{ github.workspace }}.

max-retries

Optional: Maximum amount of times the specified commands should be tried before giving up.

Default: "3".

Example usage

uses: TSRBerry/unstable-commands@v1
with:
  commands: |
    echo "Hello!"
    sleep 2m
    echo "Bye!"
  timeout-minutes: "3"
  retry-codes: "1,2,139"