These are the reusable workflows and composite actions that Project Potos uses for CI/CD ♻️
📖 Full documentation: projectpotos.github.io/actions
Replace @v0.0.0 with the full commit SHA of the current release (version tag as comment);
Dependabot keeps the pins fresh.
name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
permissions: {}
jobs:
ci:
permissions:
contents: read
uses: projectpotos/actions/.github/workflows/test-ansible-collection.yaml@v0.0.0
with:
molecule-scenarios: '["basics", "periodic"]'
all_green:
if: ${{ always() }}
needs: [ci]
runs-on: ubuntu-latest
timeout-minutes: 5
permissions: {}
steps:
- uses: projectpotos/actions/all-green@v0.0.0
with:
needs: ${{ toJSON(needs) }}name: Release
on:
pull_request:
push:
branches: [main]
tags: ["v*.*.*"]
permissions: {}
jobs:
build:
permissions:
contents: read
packages: write
id-token: write
attestations: write
uses: projectpotos/actions/.github/workflows/release-container.yaml@v0.0.0
with:
tags: |
type=edge,branch=main
type=semver,pattern={{version}}
labels: |
org.opencontainers.image.title=<name>name: Lint
on:
pull_request:
push:
branches: [main]
permissions: {}
jobs:
lint:
permissions:
contents: read
uses: projectpotos/actions/.github/workflows/test-lint.yaml@v0.0.0For all available workflows and their full configuration options, see the documentation.
These reusable workflows are free software: you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License, or (at your option) any later version.
Thx u RaBe for doing the heavy lifting :)
Copyright (c) 2026 Project Potos