renovate-bot 2aecdb373d
Release / Release (push) Successful in 11s
chore(deps): update azure/k8s-lint action to v4 (#54)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [azure/k8s-lint](https://github.com/azure/k8s-lint) | action | major | `v3.0.1` → `v4.0.0` |

---

### Release Notes

<details>
<summary>azure/k8s-lint (azure/k8s-lint)</summary>

### [`v4.0.0`](https://github.com/Azure/k8s-lint/releases/tag/v4.0.0)

[Compare Source](https://github.com/azure/k8s-lint/compare/v3.0.1...v4.0.0)

##### Changed

- [#&#8203;189](https://github.com/azure/k8s-lint/issues/189) [Update Node.js runtime from node20 to node24](https://github.com/Azure/k8s-lint/pull/189)
- [#&#8203;198](https://github.com/azure/k8s-lint/issues/198) [build: migrate action to ESM with esbuild and Vitest](https://github.com/Azure/k8s-lint/pull/198)
- **Dependabot - GitHub Actions workflow updates:** bumps to `github/codeql-action`, `actions/setup-node`, and other workflow actions in [#&#8203;145](https://github.com/azure/k8s-lint/issues/145), [#&#8203;147](https://github.com/azure/k8s-lint/issues/147), [#&#8203;148](https://github.com/azure/k8s-lint/issues/148), [#&#8203;150](https://github.com/azure/k8s-lint/issues/150), [#&#8203;152](https://github.com/azure/k8s-lint/issues/152), [#&#8203;156](https://github.com/azure/k8s-lint/issues/156), [#&#8203;158](https://github.com/azure/k8s-lint/issues/158), [#&#8203;160](https://github.com/azure/k8s-lint/issues/160), [#&#8203;167](https://github.com/azure/k8s-lint/issues/167), [#&#8203;169](https://github.com/azure/k8s-lint/issues/169), [#&#8203;171](https://github.com/azure/k8s-lint/issues/171), [#&#8203;173](https://github.com/azure/k8s-lint/issues/173), [#&#8203;175](https://github.com/azure/k8s-lint/issues/175), [#&#8203;177](https://github.com/azure/k8s-lint/issues/177), [#&#8203;179](https://github.com/azure/k8s-lint/issues/179), [#&#8203;181](https://github.com/azure/k8s-lint/issues/181), [#&#8203;183](https://github.com/azure/k8s-lint/issues/183), [#&#8203;185](https://github.com/azure/k8s-lint/issues/185), [#&#8203;187](https://github.com/azure/k8s-lint/issues/187), [#&#8203;188](https://github.com/azure/k8s-lint/issues/188), [#&#8203;193](https://github.com/azure/k8s-lint/issues/193), [#&#8203;197](https://github.com/azure/k8s-lint/issues/197)
- **Dependabot - npm dependency updates:** `@types/node` ([#&#8203;144](https://github.com/azure/k8s-lint/issues/144), [#&#8203;146](https://github.com/azure/k8s-lint/issues/146), [#&#8203;159](https://github.com/azure/k8s-lint/issues/159), [#&#8203;166](https://github.com/azure/k8s-lint/issues/166), [#&#8203;174](https://github.com/azure/k8s-lint/issues/174)), `undici` / `@actions/http-client` ([#&#8203;184](https://github.com/azure/k8s-lint/issues/184), [#&#8203;191](https://github.com/azure/k8s-lint/issues/191)), `jest` ([#&#8203;149](https://github.com/azure/k8s-lint/issues/149)), `handlebars` ([#&#8203;196](https://github.com/azure/k8s-lint/issues/196)), `picomatch` ([#&#8203;195](https://github.com/azure/k8s-lint/issues/195)), `minimatch` ([#&#8203;186](https://github.com/azure/k8s-lint/issues/186)), `js-yaml` ([#&#8203;163](https://github.com/azure/k8s-lint/issues/163)), `glob` ([#&#8203;165](https://github.com/azure/k8s-lint/issues/165)), and grouped npm `actions` updates in [#&#8203;151](https://github.com/azure/k8s-lint/issues/151), [#&#8203;155](https://github.com/azure/k8s-lint/issues/155), [#&#8203;157](https://github.com/azure/k8s-lint/issues/157), [#&#8203;164](https://github.com/azure/k8s-lint/issues/164), [#&#8203;168](https://github.com/azure/k8s-lint/issues/168), [#&#8203;170](https://github.com/azure/k8s-lint/issues/170), [#&#8203;172](https://github.com/azure/k8s-lint/issues/172), [#&#8203;176](https://github.com/azure/k8s-lint/issues/176), [#&#8203;178](https://github.com/azure/k8s-lint/issues/178)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/k_deploy_workflows/pulls/54
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-05-13 22:35:43 +02:00
2025-08-12 08:54:44 +02:00

Reusable CI/CD Workflows for k_ Services

This repository contains reusable CI and CD workflows that automatically detect Kubernetes service type (Kubernetes-only vs Helm + Kubernetes) and execute the relevant steps.

Features

  • Reusable CI and CD: Separate reusable workflows for validation and deployment
  • Automatic Detection: Detects whether helmfile.yaml exists and whether k8s/ exists
  • Conditional Execution: Runs Helm steps only when applicable
  • Flexible Inputs: Supports custom k8s_dir and helmfile_path

Usage

Basic CI Usage

Call the reusable CI workflow:

jobs:
  ci:
    uses: https://gitea.t000-n.de/t.behrendt/k_deploy_workflows/.gitea/workflows/ci.yaml@main
    secrets: inherit

Basic CD Usage

Call the reusable CD workflow:

jobs:
  deploy:
    uses: https://gitea.t000-n.de/t.behrendt/k_deploy_workflows/.gitea/workflows/cd.yaml@main
    secrets: inherit

Advanced Usage with Custom Paths and Flags

jobs:
  ci:
    uses: https://gitea.t000-n.de/t.behrendt/k_deploy_workflows/.gitea/workflows/ci.yaml@main
    with:
      k8s_dir: "kubernetes/"
      helmfile_path: "helm/helmfile.yaml"
      skip_helm_validation: true
    secrets: inherit

Inputs

CI (.gitea/workflows/ci.yaml)

Parameter Description Default Required
k8s_dir Path to Kubernetes manifests directory k8s/ No
helmfile_path Path to helmfile.yaml helmfile.yaml No
skip_helm_validation Skip Helm validation even if helmfile exists false No
helmfile_env JSON object string passed as env to helmfile {} No

CD (.gitea/workflows/cd.yaml)

Parameter Description Default Required
k8s_dir Path to Kubernetes manifests directory k8s/ No
helmfile_path Path to helmfile.yaml helmfile.yaml No
skip_helm_deployment Skip Helm deployment even if helmfile exists false No
skip_shared_secrets_deployment Skip shared secrets deployment false No
helmfile_env JSON object string passed as env to helmfile {} No

Directory Structure Requirements

Full example structure (Helm + Kubernetes):

your-service/
├── k8s/
│   ├── deployment.yaml
│   ├── service.yaml
│   └── ...
├── helmfile.yaml
└── .gitea/workflows/your-workflow.yaml
S
Description
No description provided
Readme 246 KiB
Languages
Markdown 100%