Shared automation and actions workflows utilized by the Tyler Forge team.
For a complete overview of reusable workflows, see official github documentation: reusing-workflows.
As a general standard, all reusable workflows stored in this repository should be prefixed with wf-
. While this isn't a technical requirement, it helps maintainers and consumers separate workflows designed to be consumed by external callers, from those which are used for local automation and management.
The following shared workflow files are maintained in this repository.
The auto-pr-check workflow will execute the auto pr-check command against a project configured with the auto release framework.
The build-and-test workflow supports executing builds and running tests in node projects.
The build-release workflow supports building and releasing projects integrated with the auto release framework. Since auto
handles most of the heavy lifting and release logic, the workflow itself can remain relatively standard.
The cleanup-gh-pages workflow is a simple reusable workflow that is responsible for cleaning up a branch from the gh-pages
branch in repository (branch name is configurable). Typically used after a pull request is merged.
The configuration workflow can be used as the first step in a project workflow to gather common release and build information prior to running subsequent jobs.
The publish-cloudfront-assets workflow supports publishing assets to an s3 bucket (via s3 sync
) and generating cloudfront invalidations for updated objects. This workflow is not responsible for building or packing the assets, instead it assumes the assets were built and packaged in a previous job within the GitHub execution pipeline and then archived (<file>.tar.gz
) and uploaded via the upload-artifact github action.
The publish-gh-pages workflow is responsible for publishing assets to GitHub Pages, typically used on a pull request for a preview of the deployment to make for easier reviewing.
This project follows semver, and new releases are published via creating a new release in GitHub.
See the uses
key from the snippet below for an example on how to properly reference a workflow. Take note of the version specified at the end.
You can view versions and their release notes here.
The following example of a job will use the build-and-test workflow to run a build in node and execute tests:
build:
name: Build and Test
needs: wf-config
uses: tyler-technologies-oss/forge-automation-shared/.github/workflows/[email protected]
with:
TESTS_ENABLED: true
secrets:
NPM_TOKEN: ${{ secrets.MY_NPM_TOKEN }}