okp4 / actions

🏭 Repository for sharing our Github CI/CD workflows

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub actions

The repository of GitHub CI/CD workflows used @[okp4].

status license contributor covenant conventional commits

💡 Purpose

This is a collection of GitHub Actions that we use for our projects @OKP4 and that can be useful to others.

All the workflows and actions defined in this repository promotes the practices of CI (i.e. Continuous Integration) and CD (Continuous Deployment|Delivery) and enable the automation of operations that cover the following categories:

  • Code quality
  • Code review
  • Dependency management
  • Build
  • Deployment
  • Testing
  • Publishing
  • Utilities

⚙️ Workflows

The actions are organized around several workflows, described hereafter.

💚 Lint

workflows/lint.yml

Part of the code quality analysis, ensure the homogeneity of the codebase.

The workflow contains a large set of jobs to deal with different project typologies (technology, programming language...).

🧪 Test

workflows/test.yml

Executes the tests present in the codebase.

The workflow contains a large set of jobs to deal with different project typologies (technology, programming language...).

🏭 Build

workflows/build.yml

Build the different artifacts produced from the codebase.

The workflow contains a large set of jobs to deal with different project typologies (technology, programming language...).

☎️ 🚀 PR Publish

workflows/publish-pr.yml

Publish artifacts based on a branch codebase, by commenting the pull request with /publish message.

The workflow contains a large set of jobs to deal with different project typologies (technology, programming language...).

🚀 Publish

workflows/publish.yml

Publish the different artifacts produced from the codebase.

The workflow contains a large set of jobs to deal with different project typologies (technology, programming language...).

🪄 Auto merge

workflows/auto-merge.yml

Automatically merges a Pull request satisfying conditions (i.e. dependabot PR targeting minor or patch updates).

🙏 Give thanks

workflows/thank.yml

Give thanks to the used dependencies by starring the corresponding GitHub repositories.

🚶 ‍️Follow contributor

workflows/follow-contributor.yml

Make sure our bot follows anyone opening a PR.

🎉 Notify release

workflows/notify-release.yml

This action can be used to spread the word when a new release is available. We use it to send a message to our discord server.

🎨 Export draw.io

workflows/export-drawio.yml

Export draw.io diagrams to usable png files.

☸️ K8S cluster graphs

workflows/k8s-cluster-graphs.yml

Create Kubernetes cluster graphs representing its state using the kubectl graph plugin.

🧑‍💻 Usage

The workflows contain reusable GitHub actions jobs that can be used as a base recipe for your own workflows. Just pick the ones you're interested in and add them to your .github/workflows/xxxx.yml workflow file in your repository.

🛡 Access Token

Most jobs need a specific access token with appropriate permissions to run correctly. This token is named OKP4_TOKEN, and is defined at the level of the organization. If needed, read the documentation on creating a PA token.

You want to get involved? 😍

Please check out OKP4 health files :

About

🏭 Repository for sharing our Github CI/CD workflows

License:BSD 3-Clause "New" or "Revised" License