Migrating

Compatibility matrix

Every documented GitHub Actions behaviour and its status on Apex Actions, backed by the conformance suite.

Compatibility is enforced by a conformance suite: every row below has fixtures that run a workflow and compare the result with GitHub's documented behaviour. A change to how Apex runs a workflow lands only with a fixture proving it still matches.

Triggers

TriggerStatus
push, pull_request, pull_request_target with branch, tag and path filtersSupported
workflow_dispatch with typed inputsSupported
schedule (five-field cron, UTC, from the default branch)Supported
workflow_run with workflows, activity types and branch filtersSupported
repository_dispatch with client_payloadSupported
release, issues, issue_comment and the remaining event typesSupported

Jobs and steps

FeatureStatus
needs, if, continue-on-error, timeout-minutesSupported
strategy.matrix with include, exclude, fail-fast, max-parallelSupported
${{ }} expressions, all contexts and functionsSupported
env, defaults, outputs, GITHUB_OUTPUT, GITHUB_ENV, GITHUB_STEP_SUMMARYSupported
Workflow commands (::error, ::warning, ::group, ::add-mask)Supported
concurrency at run and job level with cancel-in-progressSupported
environment with required reviewers, wait timers and branch policiesSupported
permissions, including id-token: writeSupported
services containers and container: jobsSupported

Actions

KindStatus
JavaScript, composite and Docker actions from the marketplaceSupported
Local actions (./.github/actions/x)Supported
Reusable workflows, local and remote, with inputs, secrets and outputsSupported
actions/cache, actions/setup-* and everything on @actions/cacheSupported
actions/upload-artifact, actions/download-artifact (v4)Supported

Runners

FeatureStatus
ubuntu-latest and the other GitHub-hosted Linux labelsSupported
Named larger sizes (pristine-4core, pristine-8core)Supported
Windows and macOS runnersNot offered