Name | Description |
---|---|
lint.yaml | Lint GitHub Actions workflows (.github/workflows/ ) and tox run -e lint |
tag_charm_edge.yaml | Create charm refresh compatibility version git tag before edge build & release |
build_snap.yaml | Build snap |
build_rock.yaml | Build rock |
build_charm.yaml | Build charm |
release_python_package.yaml | Release Python package to PyPI |
check_python_package_pr.yaml | Check Python package pull request has required semantic version prefix |
release_snap.yaml | Release snap to Snap Store |
release_rock.yaml | Release rock to GitHub Container Registry |
release_charm_edge.yaml | Release charm to Charmhub "edge" risk |
release_charm_pr.yaml | Release pull request charm to Charmhub branch |
_mirror_charm.yaml | Experimental Mirror subset of charm monorepo with local Python package to single-charm repo |
_promote_charms.yaml | Experimental charmcraft promote , update git tags, & generate release notes |
check_charm_pr.yaml | Check charm pull request has required labels for release notes |
approve_renovate_pr.yaml | Reduce required approvals on Renovate pull requests by 1 |
_update_bundle.yaml | Experimental Update charm revisions in bundle |
integration_test_charm.yaml | Deprecated Integration test charm |
sync_docs.yaml | Deprecated Sync Discourse documentation to GitHub |
Recommendation: pin the latest version (e.g. v1.0.0
) and use Renovate to stay up-to-date.
Bug fixes will not be backported.
Example workflow:
jobs:
build:
name: Build charms
uses: canonical/data-platform-workflows/.github/workflows/[email protected]
Example Renovate configuration:
{
"enabledManagers": ["poetry", "github-actions"],
"packageRules": [
// Later rules override earlier rules
// Group data-platform-workflows Python package & workflow updates into the same PR
{
"matchManagers": ["poetry"],
"matchPackageNames": ["canonical/data-platform-workflows"],
// Ensure Renovate prefers vX.0.0 tag (e.g. "v24.0.0") over vX tag (e.g. "v24") if vX.X.X tag
// currently in use
// (Matches default versioning of "github-actions" manager)
"versioning": "docker",
"groupName": "data-platform-workflows"
},
{
"matchManagers": ["github-actions"],
"matchPackageNames": ["canonical/data-platform-workflows"],
"groupName": "data-platform-workflows"
},
]
}
Note: all workflows in this repository share a version number. If a breaking change is made to the public interface of one workflow, all workflows will have a new major version even if they have no breaking changes.
If you do not want to use Renovate, pin to the latest major version (e.g. v1
).
Workflows that do not begin with an underscore (e.g. foo.yaml
) may be called outside this repository.
Workflows that begin with one underscore (e.g. _foo.yaml
) are internal and are only intended to be called by reusable workflows in this repository (that begin with zero or one underscores).
Workflows that begin with two underscores (e.g. __foo.yaml
) are for this repository only. They may only be (triggered by an event on this repository or) called by workflows in this repository that begin with two underscores.
See CONTRIBUTING.md