mirror of
https://github.com/nick-fields/retry.git
synced 2026-02-09 14:48:02 +00:00
Merge branch 'master' into nrf/add-tests
This commit is contained in:
24
.github/workflows/ci_cd.yml
vendored
24
.github/workflows/ci_cd.yml
vendored
@@ -1,12 +1,16 @@
|
|||||||
name: CI/CD
|
name: CI/CD
|
||||||
on:
|
on:
|
||||||
|
# only on PRs into and merge to default branch
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# runs on branch pushes only
|
|
||||||
ci_unit:
|
ci_unit:
|
||||||
name: Run Unit Tests
|
name: Run Unit Tests
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -26,7 +30,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration:
|
ci_integration:
|
||||||
name: Run Integration Tests
|
name: Run Integration Tests
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -137,7 +140,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_envvar:
|
ci_integration_envvar:
|
||||||
name: Run Integration Env Var Tests
|
name: Run Integration Env Var Tests
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -159,7 +161,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_large_output:
|
ci_integration_large_output:
|
||||||
name: Run Integration Large Output Tests
|
name: Run Integration Large Output Tests
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -191,7 +192,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_retry_on_exit_code:
|
ci_integration_retry_on_exit_code:
|
||||||
name: Run Integration retry_on_exit_code Tests
|
name: Run Integration retry_on_exit_code Tests
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -240,7 +240,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_continue_on_error:
|
ci_integration_continue_on_error:
|
||||||
name: Run Integration continue_on_error Tests
|
name: Run Integration continue_on_error Tests
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -288,7 +287,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_retry_wait_seconds:
|
ci_integration_retry_wait_seconds:
|
||||||
name: Run Integration Tests (retry_wait_seconds)
|
name: Run Integration Tests (retry_wait_seconds)
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -325,7 +323,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_on_retry_cmd:
|
ci_integration_on_retry_cmd:
|
||||||
name: Run Integration Tests (on_retry_command)
|
name: Run Integration Tests (on_retry_command)
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -369,7 +366,6 @@ jobs:
|
|||||||
# timeout tests take longer to run so run in parallel
|
# timeout tests take longer to run so run in parallel
|
||||||
ci_integration_timeout_seconds:
|
ci_integration_timeout_seconds:
|
||||||
name: Run Integration Timeout Tests (seconds)
|
name: Run Integration Timeout Tests (seconds)
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -400,7 +396,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_timeout_retry_on_timeout:
|
ci_integration_timeout_retry_on_timeout:
|
||||||
name: Run Integration Timeout Tests (retry_on timeout)
|
name: Run Integration Timeout Tests (retry_on timeout)
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -432,7 +427,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_timeout_retry_on_error:
|
ci_integration_timeout_retry_on_error:
|
||||||
name: Run Integration Timeout Tests (retry_on error)
|
name: Run Integration Timeout Tests (retry_on error)
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -468,7 +462,6 @@ jobs:
|
|||||||
|
|
||||||
ci_integration_timeout_minutes:
|
ci_integration_timeout_minutes:
|
||||||
name: Run Integration Timeout Tests (minutes)
|
name: Run Integration Timeout Tests (minutes)
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -499,7 +492,6 @@ jobs:
|
|||||||
|
|
||||||
ci_windows:
|
ci_windows:
|
||||||
name: Run Windows Tests
|
name: Run Windows Tests
|
||||||
if: startsWith(github.ref, 'refs/heads')
|
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -571,7 +563,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- run: echo "If this is hit, all tests successfully passed"
|
- run: echo "If this is hit, all tests successfully passed"
|
||||||
|
|
||||||
# runs on push to master only
|
# runs on merge to default only
|
||||||
cd:
|
cd:
|
||||||
name: Publish Action
|
name: Publish Action
|
||||||
needs: [ci_all_tests_passed]
|
needs: [ci_all_tests_passed]
|
||||||
@@ -588,7 +580,7 @@ jobs:
|
|||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Release
|
- name: Release
|
||||||
id: semantic
|
id: semantic
|
||||||
uses: cycjimmy/semantic-release-action@v2
|
uses: cycjimmy/semantic-release-action@v4
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Tag
|
- name: Tag
|
||||||
|
|||||||
11
dist/index.js
vendored
11
dist/index.js
vendored
@@ -974,7 +974,8 @@ function getExecutable(inputs) {
|
|||||||
return OS === 'win32' ? 'powershell' : 'bash';
|
return OS === 'win32' ? 'powershell' : 'bash';
|
||||||
}
|
}
|
||||||
var executable;
|
var executable;
|
||||||
switch (inputs.shell) {
|
var shellName = inputs.shell.split(' ')[0];
|
||||||
|
switch (shellName) {
|
||||||
case 'bash':
|
case 'bash':
|
||||||
case 'python':
|
case 'python':
|
||||||
case 'pwsh': {
|
case 'pwsh': {
|
||||||
@@ -983,7 +984,7 @@ function getExecutable(inputs) {
|
|||||||
}
|
}
|
||||||
case 'sh': {
|
case 'sh': {
|
||||||
if (OS === 'win32') {
|
if (OS === 'win32') {
|
||||||
throw new Error("Shell ".concat(inputs.shell, " not allowed on OS ").concat(OS));
|
throw new Error("Shell ".concat(shellName, " not allowed on OS ").concat(OS));
|
||||||
}
|
}
|
||||||
executable = inputs.shell;
|
executable = inputs.shell;
|
||||||
break;
|
break;
|
||||||
@@ -991,13 +992,13 @@ function getExecutable(inputs) {
|
|||||||
case 'cmd':
|
case 'cmd':
|
||||||
case 'powershell': {
|
case 'powershell': {
|
||||||
if (OS !== 'win32') {
|
if (OS !== 'win32') {
|
||||||
throw new Error("Shell ".concat(inputs.shell, " not allowed on OS ").concat(OS));
|
throw new Error("Shell ".concat(shellName, " not allowed on OS ").concat(OS));
|
||||||
}
|
}
|
||||||
executable = inputs.shell + '.exe';
|
executable = shellName + '.exe' + inputs.shell.replace(shellName, '');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
throw new Error("Shell ".concat(inputs.shell, " not supported. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell for supported shells"));
|
throw new Error("Shell ".concat(shellName, " not supported. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell for supported shells"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return executable;
|
return executable;
|
||||||
|
|||||||
12
src/index.ts
12
src/index.ts
@@ -27,7 +27,9 @@ function getExecutable(inputs: Inputs): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let executable: string;
|
let executable: string;
|
||||||
switch (inputs.shell) {
|
const shellName = inputs.shell.split(' ')[0];
|
||||||
|
|
||||||
|
switch (shellName) {
|
||||||
case 'bash':
|
case 'bash':
|
||||||
case 'python':
|
case 'python':
|
||||||
case 'pwsh': {
|
case 'pwsh': {
|
||||||
@@ -36,7 +38,7 @@ function getExecutable(inputs: Inputs): string {
|
|||||||
}
|
}
|
||||||
case 'sh': {
|
case 'sh': {
|
||||||
if (OS === 'win32') {
|
if (OS === 'win32') {
|
||||||
throw new Error(`Shell ${inputs.shell} not allowed on OS ${OS}`);
|
throw new Error(`Shell ${shellName} not allowed on OS ${OS}`);
|
||||||
}
|
}
|
||||||
executable = inputs.shell;
|
executable = inputs.shell;
|
||||||
break;
|
break;
|
||||||
@@ -44,14 +46,14 @@ function getExecutable(inputs: Inputs): string {
|
|||||||
case 'cmd':
|
case 'cmd':
|
||||||
case 'powershell': {
|
case 'powershell': {
|
||||||
if (OS !== 'win32') {
|
if (OS !== 'win32') {
|
||||||
throw new Error(`Shell ${inputs.shell} not allowed on OS ${OS}`);
|
throw new Error(`Shell ${shellName} not allowed on OS ${OS}`);
|
||||||
}
|
}
|
||||||
executable = inputs.shell + '.exe';
|
executable = shellName + '.exe' + inputs.shell.replace(shellName, '');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Shell ${inputs.shell} not supported. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell for supported shells`
|
`Shell ${shellName} not supported. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell for supported shells`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user