Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nolte/gh-plumbing
Github Project plumbing
https://github.com/nolte/gh-plumbing
github plumbing
Last synced: 3 months ago
JSON representation
Github Project plumbing
- Host: GitHub
- URL: https://github.com/nolte/gh-plumbing
- Owner: nolte
- Created: 2020-12-18T15:43:53.000Z (about 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-20T19:23:11.000Z (9 months ago)
- Last Synced: 2024-05-20T22:30:49.778Z (9 months ago)
- Topics: github, plumbing
- Homepage: https://nolte.github.io/gh-plumbing/
- Size: 657 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Plumbing
[![GitHub Project Stars](https://img.shields.io/github/stars/nolte/gh-plumbing.svg?label=Stars&style=social)](https://github.com/nolte/gh-plumbing) [![GitHub Issue Tracking](https://img.shields.io/github/issues-raw/nolte/gh-plumbing.svg)](https://github.com/nolte/gh-plumbing) [![GitHub LatestRelease](https://img.shields.io/github/release/nolte/gh-plumbing.svg)](https://github.com/nolte/gh-plumbing) [![.github/workflows/build-static-tests.yaml](https://github.com/nolte/gh-plumbing/actions/workflows/build-static-tests.yaml/badge.svg)](https://github.com/nolte/gh-plumbing/actions/workflows/build-static-tests.yaml) [![.github/workflows/release-cd-deliver-docs.yml](https://github.com/nolte/gh-plumbing/actions/workflows/release-cd-deliver-docs.yml/badge.svg)](https://github.com/nolte/gh-plumbing/actions/workflows/release-cd-deliver-docs.yml)
---
Used for minimize duplicate the CI/CD Boilerplate-Code. Like [Workflows (GitHub Actions)](https://docs.github.com/en/actions) and [GitHub App](https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps) configurations.
## Workflows
| Workflow | description |
|-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ```reusable-ansible-galaxy-push.yaml``` | Using [robertdebock/galaxy-action](https://github.com/robertdebock/galaxy-action) for publish a Ansible Role to [Ansible Galxy](https://galaxy.ansible.com/). |
| ```reusable-ansible-molecule.yaml``` | Start a simple Molecule test run by using the [gofrolist/molecule-action](https://github.com/gofrolist/molecule-action) action. |
| ```reusable-automerge.yaml``` | Using [pascalgn/automerge-action](https://github.com/pascalgn/automerge-action) for better Merge Request handling. |
| ```reusable-mkdocs.yaml``` | Publish a [mkdocs](https://www.mkdocs.org/) based Documentation as [GitHub Page](https://pages.github.com/). |
| ```reusable-pre-commit.yaml``` | Call [pre-commit](https://pre-commit.com/) for a minimal static tests set, like liter etc. |
| ```reusable-release-cd-refresh-master.yml``` | Refresh the current master branch, with the Revision from the Latest published Release, so the master/main branch will be present the `latest` Released version. |
| ```reusable-release-drafter.yml``` | Will be use [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) for updating the current "Draft" Release with a Changelog. |
| ```reusable-sphinx.yaml``` | Build and Publish a [Sphinx](https://www.sphinx-doc.org/en/master) Documentation as [GitHub Page](https://pages.github.com/). |
| ```reusable-stale.yaml``` | Mark old or inactive issues and close then, used [actions/stale](https://github.com/actions/stale) for this work. |
| ```reusable-trivy.yaml``` | Scan the GitRepo by using [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action). |
| ```reusable-tf-lint.yaml``` | Use [terraform-linters/setup-tflint](https://github.com/terraform-linters/setup-tflint) for Lint terraform sources. |## Probot configuration
Collection of common Configurations for Project Management and CI/CD.
For Using in other GitHub Projects, having a reusable set of Probot Configuration Repository, more information at [probot.github.io](https://probot.github.io/docs/best-practices/#configuration).| probot | git | description |
|-------------------------------------------------------------------|-----------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| [boring-cyborg](https://probot.github.io/apps/boring-cyborg/) | [kaxil/boring-cyborg](https://github.com/kaxil/boring-cyborg) | Different actions like, automatically label Pull Request |
| [release-drafter](https://probot.github.io/apps/release-drafter/) | [toolmantim/release-drafter](https://github.com/toolmantim/release-drafter) | Creates a Human Readable Release Change Log (**(deprecated)**, please use the Workflow Implementation). |
| [renovate](https://github.com/apps/renovate) | | Using [renovate](https://www.whitesourcesoftware.com/free-developer-tools/renovate/) for keep dependencies in sync. |
| [settings](https://probot.github.io/apps/settings/) | [probot/settings](https://github.com/probot/settings) | Configure GitHub Projects by Source. |For More information take a look to the GH Page, [gh-plumbing](http://nolte.github.io/gh-plumbing).
## Development
Use the [asdf](https://asdf-vm.com/) package manager.
```sh
asdf install
```### Workflows
For local testing you can use [nektos/act](https://github.com/nektos/act), run the GitHub Actions locally.
```sh
act push -j static -W .github/workflows/build-static-tests.yaml
```Will be start the [![.github/workflows/build-static-tests.yaml](https://github.com/nolte/gh-plumbing/actions/workflows/build-static-tests.yaml/badge.svg)](https://github.com/nolte/gh-plumbing/actions/workflows/build-static-tests.yaml) at your system.
### Documentation
```sh
virtualenv ~/.vens/developmentsource ~/.vens/development/bin/activate
pip install -r requirements-dev.txtmkdocs serve -a localhost:8001
```Open [localhost:8001](http://localhost:8001/) for take a look to the latest documentation, created with [mkdocs](https://www.mkdocs.org/).
### Task
Use [go-task/task](https://github.com/go-task/task) as pre-configured command sets.
```sh
task -ltask: 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](https://github.com/nolte/taskfiles)## Links
* [nolte/cookiecutter-gh-project](https://github.com/nolte/cookiecutter-gh-project) for templating.