Shared Workflows & Actions#
plone.meta provides reusable GitHub Actions workflows and composite actions for use by Cookieplone-based projects.
These are not used by the config-package tool; they are designed to be called directly from downstream project workflows.
All workflows and actions are located in the plone.meta repository and referenced via uses: in your project’s workflow files.
Composite Actions#
setup_backend_uv#
Sets up a Python backend environment using uv as the package installer.
Inputs:
Input |
Description |
Required |
Default |
|---|---|---|---|
|
Python version to install |
No |
|
Example usage:
steps:
- uses: actions/checkout@v6
- uses: plone/meta/.github/actions/setup_backend_uv@2.x
with:
python-version: "3.13"
setup_frontend#
Sets up a Node.js frontend environment with dependency installation.
Inputs:
Input |
Description |
Required |
Default |
|---|---|---|---|
|
Node.js version to install |
No |
|
Example usage:
steps:
- uses: actions/checkout@v6
- uses: plone/meta/.github/actions/setup_frontend@2.x
with:
node-version: "22.x"
setup_uv#
Sets up the uv package installer.
Inputs:
Input |
Description |
Required |
Default |
|---|---|---|---|
|
Version of uv to install |
No |
|
Example usage:
steps:
- uses: actions/checkout@v6
- uses: plone/meta/.github/actions/setup_uv@2.x
Backend Workflows#
backend-lint#
Runs backend linting checks.
Example usage:
jobs:
backend-lint:
uses: plone/meta/.github/workflows/backend-lint.yml@2.x
backend-pytest#
Runs backend tests with pytest.
Example usage:
jobs:
backend-pytest:
uses: plone/meta/.github/workflows/backend-pytest.yml@2.x
backend-pytest-coverage#
Runs backend tests with coverage reporting.
Example usage:
jobs:
backend-pytest-coverage:
uses: plone/meta/.github/workflows/backend-pytest-coverage.yml@2.x
Documentation Workflows#
docs-build#
Builds project documentation.
Example usage:
jobs:
docs-build:
uses: plone/meta/.github/workflows/docs-build.yml@2.x
Frontend Workflows#
frontend-acceptance#
Runs frontend acceptance (end-to-end) tests.
Example usage:
jobs:
frontend-acceptance:
uses: plone/meta/.github/workflows/frontend-acceptance.yml@2.x
frontend-code#
Runs frontend code quality checks (linting, formatting).
Example usage:
jobs:
frontend-code:
uses: plone/meta/.github/workflows/frontend-code.yml@2.x
frontend-i18n#
Validates frontend internationalization (i18n) setup.
Example usage:
jobs:
frontend-i18n:
uses: plone/meta/.github/workflows/frontend-i18n.yml@2.x
frontend-storybook#
Builds and validates Storybook stories.
Example usage:
jobs:
frontend-storybook:
uses: plone/meta/.github/workflows/frontend-storybook.yml@2.x
frontend-unit#
Runs frontend unit tests.
Example usage:
jobs:
frontend-unit:
uses: plone/meta/.github/workflows/frontend-unit.yml@2.x
Container Image Workflows#
container-image-build-push#
Builds and pushes a container image in a single workflow. Combines the build and push steps for convenience.
Secrets:
Secret |
Description |
Required |
|---|---|---|
|
Container registry username |
Yes |
|
Container registry password or token |
Yes |
Example usage:
jobs:
container-image:
uses: plone/meta/.github/workflows/container-image-build-push.yml@2.x
secrets:
registry-username: ${{ secrets.REGISTRY_USERNAME }}
registry-password: ${{ secrets.REGISTRY_PASSWORD }}
container-image-build#
Builds a container image without pushing. Useful for validation in pull requests.
Example usage:
jobs:
container-image-build:
uses: plone/meta/.github/workflows/container-image-build.yml@2.x
container-image-push#
Pushes a previously built container image to a registry.
Secrets:
Secret |
Description |
Required |
|---|---|---|
|
Container registry username |
Yes |
|
Container registry password or token |
Yes |
Example usage:
jobs:
container-image-push:
uses: plone/meta/.github/workflows/container-image-push.yml@2.x
secrets:
registry-username: ${{ secrets.REGISTRY_USERNAME }}
registry-password: ${{ secrets.REGISTRY_PASSWORD }}
Version pinning#
All examples above use @2.x to track the latest 2.x release.
You can pin to a specific tag (e.g., @v2.4.0) for reproducible builds:
uses: plone/meta/.github/workflows/backend-lint.yml@v2.4.0