Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/actionify/src/types.ts>StrategyOptions

Create and manage your GitHub workflows with TypeScript and Deno.
Latest
interface StrategyOptions
import { type StrategyOptions } from "https://deno.land/x/actionify@0.3.0/src/types.ts";

Type Parameters

optional
Matrix extends Record<string, readonly unknown[]> = Record<string, readonly unknown[]>
optional
Exclude extends Record<string, unknown> = Record<string, unknown>
optional
Included extends Record<string, unknown> = Record<string, unknown>

Properties

optional
matrix: Matrix & { exclude?: readonly Exclude[]; include?: readonly Included[]; }
optional
fail-fast: boolean

You can control how job failures are handled with jobs.<job_id>.strategy.fail-fast and jobs.<job_id>.continue-on-error.

jobs.<job_id>.strategy.fail-fast applies to the entire matrix. If jobs.<job_id>.strategy.fail-fast is set to true, GitHub will cancel all in-progress and queued jobs in the matrix if any job in the matrix fails. This property defaults to true.

jobs.<job_id>.continue-on-error applies to a single job. If jobs.<job_id>.continue-on-error is true, other jobs in the matrix will continue running even if the job with jobs.<job_id>.continue-on-error: true fails.

You can use jobs.<job_id>.strategy.fail-fast and jobs.<job_id>.continue-on-error together. For example, the following workflow will start four jobs. For each job, continue-on-error is determined by the value of matrix.experimental. If any of the jobs with continue-on-error: false fail, all jobs that are in progress or queued will be cancelled. If the job with continue-on-error: true fails, the other jobs will not be affected.

optional
max-parallel: number

By default, GitHub will maximize the number of jobs run in parallel depending on runner availability. To set the maximum number of jobs that can run simultaneously when using a matrix job strategy, use jobs.<job_id>.strategy.max-parallel.

For example, the following workflow will run a maximum of two jobs at a time, even if there are runners available to run all six jobs at once.