With GitHub Actions, you can create custom workflows for the software development lifecycle directly in your GitHub repository. These workflows consist of different tasks, called actions, that can be executed automatically when certain events occur.
At Syde, we use GitHub Actions for a wide range of tasks. From various quality assurance tests ( e.g., static analysis checks, PHPUnit tests, etc.), to asset (pre)compilation with Composer Asset Compiler, release generation, deployments (CI/CD), and container registry management: all automatable, recurring tasks are performed in GitHub Actions.
To avoid code duplication of GitHub Actions workflow files across thousands of repositories, we utilize reusable workflows. This allows us to DRY (don't repeat yourself) configurations so we don't have to copy and paste workflows from one repository to another.
In the calling workflow file, use the uses
property to specify the location and version of a
reusable workflow file to run as a job.
name: {Job name}
on:
pull_request:
jobs:
{topic}-{workflow}:
uses: inpsyde/reusable-workflows/.github/workflows/{topic}-{workflow}.yml@main
Please note that the individual workflows have different (optional) parameters that you can pass
either as input
s or secret
s. To learn more, consult the documentation of the individual workflow
groups here:
- Assets linting and formatting with
@wordpress/scripts
- Linting, formatting, and testing tools for PHP
- Linting GitHub Actions workflow files
- Unit tests for JavaScript
- Assets compilation with Composer Asset Compiler or the Build and push approach
- Create plugin archive
- Automatic release
- DDEV Playwright
Note:
Workflow files prefixed with _
are specific to the repository and cannot be reused.