feat: add GitHub Actions workflows for code quality and automation (#2)

This commit is contained in:
2025-02-02 00:42:19 +02:00
committed by GitHub
parent af6ecdf6ca
commit 210aa969b3
105 changed files with 8807 additions and 408 deletions

35
sync-labels/README.md Normal file
View File

@@ -0,0 +1,35 @@
# ivuorinen/actions/sync-labels
## Sync labels
### Description
Sync labels from a YAML file to a GitHub repository
### Inputs
| name | description | required | default |
| -------- | ----------------------------------- | -------- | ------------ |
| `labels` | <p>Path to the labels YAML file</p> | `true` | `labels.yml` |
### Outputs
| name | description |
| -------- | ----------------------------------- |
| `labels` | <p>Path to the labels YAML file</p> |
### Runs
This action is a `composite` action.
### Usage
```yaml
- uses: ivuorinen/actions/sync-labels@main
with:
labels:
# Path to the labels YAML file
#
# Required: true
# Default: labels.yml
```

33
sync-labels/action.yml Normal file
View File

@@ -0,0 +1,33 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/github-action.json
name: Sync labels
description: Sync labels from a YAML file to a GitHub repository
author: Ismo Vuorinen
inputs:
labels:
description: 'Path to the labels YAML file'
required: true
default: 'labels.yml'
outputs:
labels:
description: 'Path to the labels YAML file'
value: ${{ inputs.labels }}
runs:
using: 'composite'
steps:
- name: ⤵️ Download latest labels definitions
shell: bash
run: |
curl -s --retry 5 \
"https://raw.githubusercontent.com/ivuorinen/actions/refs/heads/main/sync-labels/labels.yml" \
> ${{ inputs.labels }}
- name: 🚀 Run Label Syncer
uses: micnncim/action-label-syncer@v1.3.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
manifest: ${{ inputs.labels }}

161
sync-labels/labels.yml Normal file
View File

@@ -0,0 +1,161 @@
---
- name: 'breaking-change'
color: ee0701
description: 'A breaking change for existing users.'
- name: 'bugfix'
color: ee0701
description: 'Inconsistencies or issues which will cause a problem for users or implementors.'
- name: 'documentation'
color: 0052cc
description: 'Solely about the documentation of the project.'
- name: 'enhancement'
color: 1d76db
description: 'Enhancement of the code, not introducing new features.'
- name: 'refactor'
color: 1d76db
description: 'Improvement of existing code, not introducing new features.'
- name: 'performance'
color: 1d76db
description: 'Improving performance, not introducing new features.'
- name: 'new-feature'
color: 0e8a16
description: 'New features or options.'
- name: 'maintenance'
color: 2af79e
description: 'Generic maintenance tasks.'
- name: 'ci'
color: 1d76db
description: 'Work that improves the continue integration.'
- name: 'dependencies'
color: 1d76db
description: 'Upgrade or downgrade of project dependencies.'
- name: 'translations'
color: d4c5f9
description: 'Impacts translations.'
- name: 'in-progress'
color: fbca04
description: 'Issue is currently being resolved by a developer.'
- name: 'stale'
color: fef2c0
description: 'There has not been activity on this issue or PR for quite some time.'
- name: 'no-stale'
color: fef2c0
description: 'This issue or PR is exempted from the stable bot.'
- name: 'security'
color: ee0701
description: 'Marks a security issue that needs to be resolved asap.'
- name: 'incomplete'
color: fef2c0
description: 'Marks a PR or issue that is missing information.'
- name: 'invalid'
color: fef2c0
description: 'Marks a PR or issue that is missing information.'
- name: 'beginner-friendly'
color: 0e8a16
description: 'Good first issue for people wanting to contribute to the project.'
- name: 'help-wanted'
color: 0e8a16
description: 'We need some extra helping hands or expertise in order to resolve this.'
- name: 'hacktoberfest'
description: 'Issues/PRs are participating in the Hacktoberfest.'
color: fbca04
- name: 'hacktoberfest-accepted'
description: 'Issues/PRs are participating in the Hacktoberfest.'
color: fbca04
- name: 'priority-critical'
color: ee0701
description: 'This should be dealt with ASAP. Not fixing this issue would be a serious error.'
- name: 'priority-high'
color: b60205
description: 'After critical issues are fixed, these should be dealt with before any further issues.'
- name: 'priority-medium'
color: 0e8a16
description: 'This issue may be useful, and needs some attention.'
- name: 'priority-low'
color: e4ea8a
description: 'Nice addition, maybe... someday...'
- name: 'major'
color: b60205
description: 'This PR causes a major version bump in the version number.'
- name: 'minor'
color: 0e8a16
description: 'This PR causes a minor version bump in the version number.'
# Areas
- name: area/ansible
color: '0e8a16'
description: 'Issues or PRs related to Ansible configuration and automation.'
- name: area/docs
color: '0e8a16'
description: 'Issues or PRs related to documentation and guides.'
- name: area/github
color: '0e8a16'
description: 'Issues or PRs related to GitHub Actions and repository configuration.'
- name: area/kubernetes
color: '0e8a16'
description: 'Issues or PRs related to Kubernetes manifests and configuration.'
- name: area/taskfile
color: '0e8a16'
description: 'Issues or PRs related to Taskfile automation scripts.'
- name: area/terraform
color: '0e8a16'
description: 'Issues or PRs related to Terraform infrastructure code.'
# Clusters
- name: cluster/main
color: 'ffc300'
description: 'Issues or PRs affecting the main Kubernetes cluster.'
- name: cluster/storage
color: 'ffc300'
description: 'Issues or PRs affecting the storage-focused Kubernetes cluster.'
# Renovate Types
- name: renovate/ansible
color: '027fa0'
description: 'Automated dependency updates for Ansible roles and collections.'
- name: renovate/container
color: '027fa0'
description: 'Automated updates for container images and tags.'
- name: renovate/github-action
color: '027fa0'
description: 'Automated updates for GitHub Actions and workflows.'
- name: renovate/grafana-dashboard
color: '027fa0'
description: 'Automated updates for Grafana dashboard configurations.'
- name: renovate/github-release
color: '027fa0'
description: 'Automated updates based on new GitHub releases.'
- name: renovate/helm
color: '027fa0'
description: 'Automated updates for Helm charts and dependencies.'
- name: renovate/terraform
color: '027fa0'
description: 'Automated updates for Terraform providers and modules.'
# Semantic Types
- name: type/digest
color: 'ffeC19'
description: 'Digest of multiple changes or issues.'
- name: type/patch
color: 'ffeC19'
description: 'Small changes or fixes.'
- name: type/minor
color: 'ff9800'
description: 'Minor changes or improvements.'
- name: type/major
color: 'f6412d'
description: 'Major changes or new features.'
# Uncategorized
- name: community
color: '370fb2'
description: 'Issues or PRs submitted by community members requiring special attention.'
- name: hold
color: 'ee0701'
description: 'Work is blocked or waiting for further input before proceeding.'