Skip to content

nolte/gh-plumbing

Repository files navigation

Plumbing

GitHub Project Stars GitHub Issue Tracking GitHub LatestRelease .github/workflows/build-static-tests.yaml .github/workflows/release-cd-deliver-docs.yml


Centralised reusable GitHub Actions workflows and shared GitHub App configurations, so downstream projects can avoid duplicating CI/CD boilerplate.

Workflows

Workflow description
reusable-ansible-galaxy-push.yaml Publish an Ansible role to Ansible Galaxy via robertdebock/galaxy-action.
reusable-ansible-molecule.yaml Run a Molecule test scenario via gofrolist/molecule-action.
reusable-automerge.yaml Auto-merge pull requests via pascalgn/automerge-action.
reusable-chain-bench.yaml Run the supply-chain CIS (Center for Internet Security) benchmark via aquasecurity/chain-bench-action.
reusable-dependency-review.yaml Gate pull requests against vulnerable or licence-incompatible dependency changes via actions/dependency-review-action.
reusable-docker-lint-build.yaml Run hadolint on a Dockerfile and a buildx dry-build (no push) for fast PR feedback.
reusable-docker-publish.yaml Build a multi-arch container image with docker/build-push-action and push it to a configurable OCI registry.
reusable-hacs-validate.yaml Validate a HACS-distributed Home Assistant custom integration with hacs/action and hassfest on push and pull request.
reusable-mkdocs-build.yaml Build an mkdocs site with --strict (no deploy) so broken links, missing nav entries, and render errors fail the pull request.
reusable-mkdocs.yaml Build and publish an mkdocs site to GitHub Pages.
reusable-nodejs-coverage.yaml Run Node.js tests (Vitest or Jest) and render the Istanbul json-summary coverage report into the GitHub Actions job summary, with an optional fail-under gate.
reusable-pre-commit.yaml Run pre-commit for a minimal static-test bundle (linters, formatters, EditorConfig).
reusable-python-coverage.yaml Run pytest with pytest-cov and render the coverage report into the GitHub Actions job summary, with an optional fail-under gate.
reusable-release-cd-refresh-master.yml Fast-forward master to the latest published release tag so master always represents the latest release.
reusable-release-drafter.yml Update the open draft release with a changelog from merged PRs via release-drafter/release-drafter.
reusable-release-publish.yml Promote an open release-drafter draft to a published release for a given tag, with an optional dry-run validation gate; for HACS integrations it attaches a <domain>.zip asset to the draft before publish.
reusable-spelling-vale.yaml Lint Markdown prose via errata-ai/vale-action with inline reviewdog annotations on pull requests.
reusable-sphinx.yaml Build and publish a Sphinx documentation site to GitHub Pages.
reusable-stale.yaml Mark and close stale issues and pull requests via actions/stale.
reusable-trivy.yaml Scan the repository with aquasecurity/trivy-action.
reusable-tf-lint.yaml Lint Terraform sources with terraform-linters/setup-tflint.

Probot configuration

Collection of common configurations for project management and CI/CD.
Reuse this shared set of Probot configurations across your GitHub projects. For more information, see the Probot best-practices documentation.

probot git description
boring-cyborg kaxil/boring-cyborg Automates pull-request labelling and other repository housekeeping tasks.
release-drafter release-drafter/release-drafter Creates a human-readable release changelog (deprecated as a Probot app—prefer the workflow implementation).
renovate Keeps dependencies in sync with Renovate, an automated dependency-update bot.
settings probot/settings Configure GitHub Projects by Source.

For more information, see the gh-plumbing GitHub Pages site.

Development

Use the asdf package manager.

asdf install

Workflows

For local testing, use nektos/act to run the GitHub Actions on your machine.

act push -j static -W .github/workflows/build-static-tests.yaml

This runs the build-static-tests workflow on your machine.

Documentation

virtualenv ~/.vens/development

source ~/.vens/development/bin/activate
pip install -r requirements-dev.txt

mkdocs serve -a localhost:8001

Open localhost:8001 to view the latest documentation, built with mkdocs.

Task

Use go-task/task as pre-configured command sets.

task -l  

task: Available tasks for this project:
* mkdocs:start:             mkdocs serve docs
* pre-commit:install:       install pre-commit into current project
* pre-commit:start:         run pre-commit with all files

shared tasks from nolte/taskfiles

Links

About

Github Project plumbing

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages