This is a monorepo for customized build agent images.
Check out the org packages for up-to-date tags.
Each image has its own workflow, which will be triggered when a file in the respective image's directory is updated. These workflows utilize a reusable workflow that will build and push the image, and use conventional commits to create git and image tags.
-
Add a new folder at the root of the repo to hold the Dockerfile and any other files needed for the image
- If the image will support long-lived major versions (for example multiple major versions of node), consider nesting directories for the major versions:
/ nodejs/ 12/ Dockerfile 14/ Dockerfile
- If the image will support long-lived major versions (for example multiple major versions of node), consider nesting directories for the major versions:
-
Add a workflow for the new image under
.github/workflows
- If supporting multiple versions, there should be a workflow per long-lived/major version.
Example for nodejs 14:
on: push: branches: - main paths: - "nodejs/14/**" pull_request: branches: - main paths: - "nodejs/14/**" workflow_dispatch: name: Node.js 14 build jobs: Release: uses: liatrio-enterprise/github-workflows/.github/workflows/docker-build-conventional.yml@main with: directory: "nodejs/14" tagPrefix: "nodejs-14" imageName: "ghcr.io/liatrio-enterprise/runner-images/nodejs-14"