/actions

🏭 Repository for sharing our Github CI/CD workflows

BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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 :