86 Commits

Author SHA1 Message Date
Renovate Bot dce048f1b2 chore(deps): update lockfiles 2026-07-26 11:59:13 +00:00
Lunny Xiao 5c82dc0e65 chore(build): upload release to R2 (#173)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/173
Reviewed-by: Zettat123 <39446+zettat123@noreply.gitea.com>
2026-07-26 05:31:50 +00:00
Arnault_LPC 6537bdbd33 feat: add per-container resource configuration for runner and DinD #160 (#168)
This a correction that is forf from original work of [anders.eficode](https://gitea.com/anders.eficode) on [pull request #160](https://gitea.com/gitea/helm-actions/pulls/160)
Description of the change
Adds statefulset.dind.resources and statefulset.runner.resources as optional per-container resource overrides. When set, each takes precedence over the shared statefulset.resources for that container. When unset (default {}), statefulset.resources is used as before.

Benefits
The DinD sidecar and the runner container have very different resource profiles — DinD is memory-hungry (image layer cache, concurrent builds, image pulls) while the runner is a lightweight coordinator that is mostly idle between jobs. Separate resource limits allow right-sizing each container independently, avoiding the choice between over-provisioning the runner or under-provisioning DinD.

Possible drawbacks
None. Fully backward-compatible — both new values default to {}, causing the shared statefulset.resources fallback to apply exactly as before.

Checklist
- [x] Parameters are documented in the `values.yaml` and added to the `README.md` using [readme-generator-for-helm](https://github.com/bitnami-labs/readme-generator-for-helm)
- [x] Breaking changes are documented in the `README.md`
- [x] Helm templating unittests are added (required when changing anything in `templates` folder)
- [x] Bash unittests are added (required when changing anything in `scripts` folder)
- [x] All added template resources MUST render a namespace in metadata

---------

Co-authored-by: Le Prévost-Corvellec Arnault <arnault.le.prevost.corvellec@carbon-it.com>
Co-authored-by: Anders <lantzanders@gmail.com>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/168
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Arnault_LPC <194310+arnault_lpc@noreply.gitea.com>
2026-07-21 06:41:06 +00:00
Renovate Bot 37080c6548 chore(deps): update workflow dependencies (minor & patch) (#172)
This PR contains the following updates:

| Package | Type | Update | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) |  | patch | `4.2.2` → `4.2.3` | ![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/4.2.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/4.2.2/4.2.3?slim=true) |
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | patch | `4.2.2` → `4.2.3` | ![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/4.2.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/4.2.2/4.2.3?slim=true) |
| [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | patch | `21.2.0` → `21.2.1` | ![age](https://developer.mend.io/api/mc/badges/age/docker/commitlint%2fcommitlint/21.2.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/commitlint%2fcommitlint/21.2.0/21.2.1?slim=true) |
| [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | devDependencies | patch | [`0.49.0` → `0.49.1`](https://renovatebot.com/diffs/npm/markdownlint-cli/0.49.0/0.49.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/markdownlint-cli/0.49.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/markdownlint-cli/0.49.0/0.49.1?slim=true) |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (commitlint/commitlint)</summary>

### [`v21.2.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2121-2026-07-08)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v21.2.0...v21.2.1)

**Note:** Version bump only for package [@&#8203;commitlint/root](https://github.com/commitlint/root)

</details>

<details>
<summary>igorshubovych/markdownlint-cli (markdownlint-cli)</summary>

### [`v0.49.1`](https://github.com/igorshubovych/markdownlint-cli/releases/tag/v0.49.1)

[Compare Source](https://github.com/igorshubovych/markdownlint-cli/compare/v0.49.0...v0.49.1)

- Update `markdownlint` dependency to `0.41.1`
  - Improve `MD029`
  - Fix module resolution under `webpack`
  - Update dependencies
- Update all dependencies via `Dependabot`

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/172
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
2026-07-21 06:39:45 +00:00
Renovate Bot e86dc7e3b1 chore(deps): update commitlint/commitlint docker tag to v21.2.0 (#169)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | minor | `21.1.0` → `21.2.0` | `21.2.1` |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (commitlint/commitlint)</summary>

### [`v21.2.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2120-2026-06-30)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v21.1.0...v21.2.0)

##### Features

- **resolve-extends:** resolve pure-ESM presets (conventional-changelog v7/v9/v10) ([#&#8203;4859](https://github.com/conventional-changelog/commitlint/issues/4859)) ([fdb566f](https://github.com/conventional-changelog/commitlint/commit/fdb566fe59457a786eac80e2a8cbb994638daba0))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/169
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
2026-07-11 15:44:36 +00:00
daanselen 695cc15183 chore: bump runner (#171)
bump runnerReviewed-on: https://gitea.com/gitea/helm-actions/pulls/171

Co-authored-by: Daan Selen <dselen@nerthus.nl>
2026-07-11 15:44:25 +00:00
daanselen e456879b7d feat: customize init command (#166)
add feature to customize the reach gitea commands.

See: https://gitea.com/gitea/helm-actions/src/branch/feat/customize-init-command/docs/connectionCommandOverride.mdReviewed-on: https://gitea.com/gitea/helm-actions/pulls/166
Co-authored-by: Daan <dselen@nerthus.nl>
2026-07-10 14:05:51 +00:00
Renovate Bot 2342ccdee2 chore(deps): update lockfiles (#167)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/167
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
2026-07-10 08:55:58 +00:00
Renovate Bot f0c1c5a21a chore(deps): update lockfiles (#165)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/165

Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
2026-07-09 13:22:32 +00:00
Renovate Bot 764f89ee97 chore(deps): update workflow dependencies (minor & patch) (#163)
This PR contains the following updates:

| Package | Type | Update | Change | Pending | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|---|
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) |  | patch | `4.2.1` → `4.2.2` |  | ![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/4.2.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/4.2.1/4.2.2?slim=true) |
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | patch | `4.2.1` → `4.2.2` |  | ![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/4.2.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/4.2.1/4.2.2?slim=true) |
| [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | minor | `21.0.2` → `21.1.0` | `21.2.0` | ![age](https://developer.mend.io/api/mc/badges/age/docker/commitlint%2fcommitlint/21.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/commitlint%2fcommitlint/21.0.2/21.1.0?slim=true) |
| [docker.io/thegeeklab/git-sv](https://github.com/thegeeklab/git-sv) | container | patch | `2.1.2` → `2.1.3` |  | ![age](https://developer.mend.io/api/mc/badges/age/docker/docker.io%2fthegeeklab%2fgit-sv/2.1.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/docker.io%2fthegeeklab%2fgit-sv/2.1.2/2.1.3?slim=true) |
| [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | devDependencies | minor | [`^0.48.0` → `^0.49.0`](https://renovatebot.com/diffs/npm/markdownlint-cli/0.48.0/0.49.0) |  | ![age](https://developer.mend.io/api/mc/badges/age/npm/markdownlint-cli/0.49.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/markdownlint-cli/0.48.0/0.49.0?slim=true) |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (commitlint/commitlint)</summary>

### [`v21.1.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2110-2026-06-23)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v21.0.2...v21.1.0)

##### Bug Fixes

- remove duplicate es-toolkit\@&#8203;1.47.1 keys from lockfile ([#&#8203;4833](https://github.com/conventional-changelog/commitlint/issues/4833)) ([b3323f5](https://github.com/conventional-changelog/commitlint/commit/b3323f53701963e4b676da5f9741fa57dc0345b5)), closes [#&#8203;4831](https://github.com/conventional-changelog/commitlint/issues/4831)

##### Features

- **cli:** add --default-config flag to lint without a config file ([#&#8203;4805](https://github.com/conventional-changelog/commitlint/issues/4805)) ([7af27ba](https://github.com/conventional-changelog/commitlint/commit/7af27ba1bcfe2347d02df2efd6dca7203b6768c5)), closes [#&#8203;3662](https://github.com/conventional-changelog/commitlint/issues/3662)
- **lint:** allow for custom commit parser function ([#&#8203;4829](https://github.com/conventional-changelog/commitlint/issues/4829)) ([e820753](https://github.com/conventional-changelog/commitlint/commit/e8207534a9342264daecddec930ddf6cbacb83ca)), closes [#&#8203;4816](https://github.com/conventional-changelog/commitlint/issues/4816) [#&#8203;4816](https://github.com/conventional-changelog/commitlint/issues/4816)

#### [21.0.2](https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2) (2026-05-29)

##### Bug Fixes

- apply oxfmt formatting to get-edit-commit.ts ([#&#8203;4768](https://github.com/conventional-changelog/commitlint/issues/4768)) ([1af3138](https://github.com/conventional-changelog/commitlint/commit/1af313897e0ba1626b9901387905ace902a63e1b)), closes [#&#8203;4755](https://github.com/conventional-changelog/commitlint/issues/4755)
- **config-pnpm-scopes:** adapt to read-yaml-file v3 named export ([#&#8203;4701](https://github.com/conventional-changelog/commitlint/issues/4701)) ([8b55772](https://github.com/conventional-changelog/commitlint/commit/8b557726a4c59020be30bee44d1f5de6ead25c7b))
- disallow same commit hash for --from and --to ([#&#8203;4773](https://github.com/conventional-changelog/commitlint/issues/4773)) ([121005e](https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec))
- emit actionable error when --edit cannot find COMMIT\_EDITMSG ([#&#8203;589](https://github.com/conventional-changelog/commitlint/issues/589)) ([#&#8203;4755](https://github.com/conventional-changelog/commitlint/issues/4755)) ([bb10907](https://github.com/conventional-changelog/commitlint/commit/bb1090717410ed702847f9d569ce3ad9eee51d41))
- **read:** fail when --from and --to share no merge-base [#&#8203;4555](https://github.com/conventional-changelog/commitlint/issues/4555) ([#&#8203;4754](https://github.com/conventional-changelog/commitlint/issues/4754)) ([e4595eb](https://github.com/conventional-changelog/commitlint/commit/e4595eb79e67a3c51960e95b1dcc696754312cdb))
- update dependency [@&#8203;pnpm/read-project-manifest](https://github.com/pnpm/read-project-manifest) to v6 ([#&#8203;4617](https://github.com/conventional-changelog/commitlint/issues/4617)) ([ca16ec1](https://github.com/conventional-changelog/commitlint/commit/ca16ec111d9c7c680f672534cf7bb70f0f563a76))
- update vitest monorepo to \~4.1.0 ([#&#8203;4654](https://github.com/conventional-changelog/commitlint/issues/4654)) ([f1f25d5](https://github.com/conventional-changelog/commitlint/commit/f1f25d59e1f244c1226eb485db67f1166e649bde))

#### [21.0.1](https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1) (2026-05-12)

##### Bug Fixes

- **load:** only resolve relative formatter paths ([#&#8203;4761](https://github.com/conventional-changelog/commitlint/issues/4761)) ([f8be069](https://github.com/conventional-changelog/commitlint/commit/f8be0698ff20b211d21d6d7fde7920512cd42845))
- **types:** add presetConfig to ParserPreset interface ([#&#8203;4749](https://github.com/conventional-changelog/commitlint/issues/4749)) ([e402cd4](https://github.com/conventional-changelog/commitlint/commit/e402cd415ec820c683ea934c24386c5191966ac4)), closes [#&#8203;4748](https://github.com/conventional-changelog/commitlint/issues/4748)

</details>

<details>
<summary>thegeeklab/git-sv (docker.io/thegeeklab/git-sv)</summary>

### [`v2.1.3`](https://github.com/thegeeklab/git-sv/releases/tag/v2.1.3)

[Compare Source](https://github.com/thegeeklab/git-sv/compare/v2.1.2...v2.1.3)

#### v2.1.3 (2026-06-17)

##### Bug Fixes

- **deps:** update golang highfeq non-major to v3.10.0 ([#&#8203;330](https://github.com/thegeeklab/git-sv/issues/330)) ([`788378c`](https://github.com/thegeeklab/git-sv/commit/788378c))

##### Others

- **docker:** update docker digests ([#&#8203;331](https://github.com/thegeeklab/git-sv/issues/331)) ([`07d3006`](https://github.com/thegeeklab/git-sv/commit/07d3006))

</details>

<details>
<summary>igorshubovych/markdownlint-cli (markdownlint-cli)</summary>

### [`v0.49.0`](https://github.com/igorshubovych/markdownlint-cli/releases/tag/v0.49.0)

[Compare Source](https://github.com/igorshubovych/markdownlint-cli/compare/v0.48.0...v0.49.0)

- Update `markdownlint` dependency to `0.41.0`
  - Improve `MD022`/`MD028`/`MD035`/`MD042`/`MD051`/`MD060`
  - Remove handling of inline directive syntax (frequent false positives)
  - Remove support for end-of-life Node version 20
- Update all dependencies via `Dependabot`

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/163
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
2026-07-01 07:03:02 +00:00
Renovate Bot 26781c900b chore(deps): update lockfiles (#157)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/157
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
2026-07-01 07:02:44 +00:00
Renovate Bot 0dbbe94f0a chore(deps): update actions/checkout action to v7 (#164)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/164
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-06-27 19:57:19 +00:00
Renovate Bot 84637f4015 chore(deps): update workflow dependencies (minor & patch) (#161)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) |  | patch | `4.2.0` → `4.2.1` | `4.2.2` |
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | patch | `4.2.0` → `4.2.1` | `4.2.2` |
| [docker.io/thegeeklab/git-sv](https://github.com/thegeeklab/git-sv) | container | patch | `2.1.1` → `2.1.2` | `2.1.3` |

---

### Release Notes

<details>
<summary>thegeeklab/git-sv (docker.io/thegeeklab/git-sv)</summary>

### [`v2.1.2`](https://github.com/thegeeklab/git-sv/releases/tag/v2.1.2)

[Compare Source](https://github.com/thegeeklab/git-sv/compare/v2.1.1...v2.1.2)

#### v2.1.2 (2026-06-12)

##### Bug Fixes

- **deps:** update module github.com/urfave/cli/v3 to v3.9.0 ([#&#8203;322](https://github.com/thegeeklab/git-sv/issues/322)) ([`0726b41`](https://github.com/thegeeklab/git-sv/commit/0726b41))
- **deps:** update module github.com/go-git/go-git/v6 to v6.0.0-alpha.4 ([#&#8203;318](https://github.com/thegeeklab/git-sv/issues/318)) ([`d45d4e3`](https://github.com/thegeeklab/git-sv/commit/d45d4e3))

##### Others

- **docker:** update docker digests ([#&#8203;326](https://github.com/thegeeklab/git-sv/issues/326)) ([`a2c649e`](https://github.com/thegeeklab/git-sv/commit/a2c649e))
- force-update libcrypto3 ([`0b17e0f`](https://github.com/thegeeklab/git-sv/commit/0b17e0f))
- **deps:** update docker.io/library/alpine docker tag to v3.24 ([#&#8203;325](https://github.com/thegeeklab/git-sv/issues/325)) ([`0cb08e1`](https://github.com/thegeeklab/git-sv/commit/0cb08e1))
- **deps:** update ci tools non-major to v0.71.0 ([#&#8203;324](https://github.com/thegeeklab/git-sv/issues/324)) ([`4f3d1e0`](https://github.com/thegeeklab/git-sv/commit/4f3d1e0))
- **deps:** update golang patch version ([#&#8203;323](https://github.com/thegeeklab/git-sv/issues/323)) ([`c04b684`](https://github.com/thegeeklab/git-sv/commit/c04b684))
- **docker:** update docker.io/library/golang:1.26.3 docker digest to [`2d6c802`](https://github.com/thegeeklab/git-sv/commit/2d6c802) ([#&#8203;321](https://github.com/thegeeklab/git-sv/issues/321)) ([`ce6e934`](https://github.com/thegeeklab/git-sv/commit/ce6e934))
- **docker:** update docker.io/library/golang:1.26.3 docker digest to [`6df14f4`](https://github.com/thegeeklab/git-sv/commit/6df14f4) ([#&#8203;320](https://github.com/thegeeklab/git-sv/issues/320)) ([`1f3eb99`](https://github.com/thegeeklab/git-sv/commit/1f3eb99))
- **deps:** update dependency golangci/golangci-lint to v2.12.2 ([#&#8203;319](https://github.com/thegeeklab/git-sv/issues/319)) ([`ef28ca6`](https://github.com/thegeeklab/git-sv/commit/ef28ca6))
- **docker:** update docker.io/library/golang:1.26.3 docker digest to [`313faae`](https://github.com/thegeeklab/git-sv/commit/313faae) ([#&#8203;317](https://github.com/thegeeklab/git-sv/issues/317)) ([`9f9e21c`](https://github.com/thegeeklab/git-sv/commit/9f9e21c))

##### CI Pipeline

- bump gomodguard to gomodguard\_v2 and temp disable goconst \[skip ci] ([`b71f653`](https://github.com/thegeeklab/git-sv/commit/b71f653))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/161
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-06-22 12:05:29 +00:00
Renovate Bot ced03649fb chore(deps): update dependency helm-unittest/helm-unittest to v1.1.1 (#159)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/159
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-06-13 01:56:59 +00:00
Renovate Bot 11d5478e1c chore(deps): update commitlint/commitlint docker tag to v21.0.2 (#158)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/158
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-06-09 16:03:18 +00:00
Renovate Bot 03c5f1ca34 chore(deps): update busybox docker tag to v1.38.0 (#155)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| busybox | minor | `1.37.0` → `1.38.0` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/155
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-06-04 19:07:52 +00:00
Renovate Bot 31580b3dcc chore(deps): update lockfiles (#156)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/156
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-06-04 19:06:14 +00:00
Renovate Bot 00f68acd82 chore(deps): update lockfiles (#154)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/154
Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-06-01 06:09:15 +00:00
daanselen b1a1529cee chore: correct readme, again 2026-05-22 09:24:11 +02:00
daanselen 847c04d1b7 chore(deps): bump runner 2026-05-22 09:22:09 +02:00
Renovate Bot 915d034e64 chore(deps): update lockfiles (#153)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/153
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-05-22 07:21:17 +00:00
daanselen 3e9f602d31 chore: correct readme 2026-05-22 09:05:24 +02:00
daanselen 697705204a chore: bump dind and gitea runner 2026-05-22 09:01:47 +02:00
daanselen 41984d8dc8 chore: fix typo 2026-05-21 10:27:58 +02:00
daanselen 30959b3b54 chore: fix release error and change release order in the workflow 2026-05-21 10:15:09 +02:00
Renovate Bot efe7a90392 chore(deps): update lockfiles (#151)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/151
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-05-21 06:51:03 +00:00
daanselen 7e2aedfdc2 feat: rename any form of act runner to gitea runner or runner (#149)
fix: https://gitea.com/gitea/helm-actions/issues/142
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/149
Reviewed-by: Nicolas <bircni@icloud.com>
Co-authored-by: Daan <dselen@nerthus.nl>
Co-committed-by: Daan <dselen@nerthus.nl>
2026-05-20 20:08:01 +00:00
Renovate Bot fd75b282b8 chore(deps): update commitlint/commitlint docker tag to v21 (#147)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | major | `20.5.3` → `21.0.1` |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (commitlint/commitlint)</summary>

### [`v21.0.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2101-2026-05-12)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1)

##### Bug Fixes

- **load:** only resolve relative formatter paths ([#&#8203;4761](https://github.com/conventional-changelog/commitlint/issues/4761)) ([f8be069](https://github.com/conventional-changelog/commitlint/commit/f8be0698ff20b211d21d6d7fde7920512cd42845))
- **types:** add presetConfig to ParserPreset interface ([#&#8203;4749](https://github.com/conventional-changelog/commitlint/issues/4749)) ([e402cd4](https://github.com/conventional-changelog/commitlint/commit/e402cd415ec820c683ea934c24386c5191966ac4)), closes [#&#8203;4748](https://github.com/conventional-changelog/commitlint/issues/4748)

### [`v21.0.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2100-2026-05-08)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0)

##### Bug Fixes

- widen cz-commitlint inquirer peer dep to support v9-v12 [#&#8203;4554](https://github.com/conventional-changelog/commitlint/issues/4554) ([#&#8203;4682](https://github.com/conventional-changelog/commitlint/issues/4682)) ([341f0c4](https://github.com/conventional-changelog/commitlint/commit/341f0c4770040773e756715fb5f9570427e1fcd1))

- chore!: minimum node version v22 ([#&#8203;4679](https://github.com/conventional-changelog/commitlint/issues/4679)) ([ac2b3f4](https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a)), closes [#&#8203;4679](https://github.com/conventional-changelog/commitlint/issues/4679)

##### BREAKING CHANGES

- drop node v18 and v20 support

* Bump engines to >=v22 in all 39 package.json files
* Update [@&#8203;types/node](https://github.com/types/node) to ^22.0.0
* Update CI matrix to \[22, 24]
* Update Ubuntu baseline job to ubuntu:26.04
* Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
* Update pre-commit hook to use --ignore-engines
* Update README and docs

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

#### [20.5.3](https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3) (2026-04-30)

**Note:** Version bump only for package [@&#8203;commitlint/root](https://github.com/commitlint/root)

#### [20.5.2](https://github.com/conventional-changelog/commitlint/compare/v20.5.1...v20.5.2) (2026-04-25)

##### Bug Fixes

- update dependency global-directory to v5 ([#&#8203;4698](https://github.com/conventional-changelog/commitlint/issues/4698)) ([a8b6224](https://github.com/conventional-changelog/commitlint/commit/a8b622497b5ac1bb8d56791a678cc03021b5ade8))

#### [20.5.1](https://github.com/conventional-changelog/commitlint/compare/v20.5.0...v20.5.1) (2026-03-31)

##### Bug Fixes

- **cz-commitlint:** add VS16 to single character emojis ([#&#8203;4666](https://github.com/conventional-changelog/commitlint/issues/4666)) ([9e3e2d3](https://github.com/conventional-changelog/commitlint/commit/9e3e2d3ebffbc4c2fb60ead37946ede02d2b1381))
- **cz-commitlint:** handle modifiers correctly ([#&#8203;4667](https://github.com/conventional-changelog/commitlint/issues/4667)) ([5a3ebf5](https://github.com/conventional-changelog/commitlint/commit/5a3ebf5fc687db4af39a2e82d1a631af91fee29d))
- update dependency global-directory to v5 ([#&#8203;4671](https://github.com/conventional-changelog/commitlint/issues/4671)) ([a300d32](https://github.com/conventional-changelog/commitlint/commit/a300d32eb4cc9a0702b59952a06d2cf31e2faafe))

##### Reverts

- Revert "fix: update dependency global-directory to v5 ([#&#8203;4671](https://github.com/conventional-changelog/commitlint/issues/4671))" ([#&#8203;4677](https://github.com/conventional-changelog/commitlint/issues/4677)) ([0f124c9](https://github.com/conventional-changelog/commitlint/commit/0f124c9700443fb7145b4746883ec2124f7534a4)), closes [#&#8203;4671](https://github.com/conventional-changelog/commitlint/issues/4671) [#&#8203;4677](https://github.com/conventional-changelog/commitlint/issues/4677)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/147
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-05-20 20:07:54 +00:00
Renovate Bot 8fb5b97e75 chore(deps): update workflow dependencies (minor & patch) (#146)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) |  | minor | `4.1.4` → `4.2.0` |
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | minor | `4.1.4` → `4.2.0` |
| [docker.io/thegeeklab/git-sv](https://github.com/thegeeklab/git-sv) | container | patch | `2.1.0` → `2.1.1` |
| [helm-unittest/helm-unittest](https://github.com/helm-unittest/helm-unittest) |  | minor | `v1.0.3` → `v1.1.0` |

---

### Release Notes

<details>
<summary>thegeeklab/git-sv (docker.io/thegeeklab/git-sv)</summary>

### [`v2.1.1`](https://github.com/thegeeklab/git-sv/releases/tag/v2.1.1)

[Compare Source](https://github.com/thegeeklab/git-sv/compare/v2.1.0...v2.1.1)

#### v2.1.1 (2026-05-11)

##### Bug Fixes

- **deps:** update module github.com/go-git/go-git/v6 to v6.0.0-alpha.3 ([#&#8203;314](https://github.com/thegeeklab/git-sv/issues/314)) ([`e343165`](https://github.com/thegeeklab/git-sv/commit/e343165))
- **deps:** update module github.com/go-git/go-git/v5 to v6 ([#&#8203;313](https://github.com/thegeeklab/git-sv/issues/313)) ([`67b142e`](https://github.com/thegeeklab/git-sv/commit/67b142e))
- **deps:** update module github.com/masterminds/semver/v3 to v3.5.0 ([#&#8203;311](https://github.com/thegeeklab/git-sv/issues/311)) ([`aad3c98`](https://github.com/thegeeklab/git-sv/commit/aad3c98))

##### Others

- **deps:** update golang patch version ([#&#8203;315](https://github.com/thegeeklab/git-sv/issues/315)) ([`73bf180`](https://github.com/thegeeklab/git-sv/commit/73bf180))
- **deps:** update golang devdeps non-major ([`40cb4e5`](https://github.com/thegeeklab/git-sv/commit/40cb4e5))
- **deps:** update ci tools non-major ([#&#8203;310](https://github.com/thegeeklab/git-sv/issues/310)) ([`03a7f7e`](https://github.com/thegeeklab/git-sv/commit/03a7f7e))
- **docker:** update docker.io/library/golang:1.26.2 docker digest to [`b54cbf5`](https://github.com/thegeeklab/git-sv/commit/b54cbf5) ([#&#8203;309](https://github.com/thegeeklab/git-sv/issues/309)) ([`d72f6d2`](https://github.com/thegeeklab/git-sv/commit/d72f6d2))

##### CI Pipeline

- disable goconst linter on test files ([`3bb9954`](https://github.com/thegeeklab/git-sv/commit/3bb9954))

</details>

<details>
<summary>helm-unittest/helm-unittest (helm-unittest/helm-unittest)</summary>

### [`v1.1.0`](https://github.com/helm-unittest/helm-unittest/releases/tag/v1.1.0)

[Compare Source](https://github.com/helm-unittest/helm-unittest/compare/v1.0.3...v1.1.0)

**Fixes**

- Fix handling skipped tests in output properly (resolves [#&#8203;838](https://github.com/helm-unittest/helm-unittest/issues/838))
- Fix documentSelector on unset YAML keys (resolves [#&#8203;812](https://github.com/helm-unittest/helm-unittest/issues/812), credits [@&#8203;Semih702](https://github.com/Semih702))
- Fix isType assertion on unset YAML keys (resolves [#&#8203;794](https://github.com/helm-unittest/helm-unittest/issues/794), credits [@&#8203;SAY-5](https://github.com/SAY-5))
- Fix skip tests when subcharts are disabled via conditions (resolves [#&#8203;792](https://github.com/helm-unittest/helm-unittest/issues/792), credits [@&#8203;bebosudo](https://github.com/bebosudo))

**Improvements**

- Enable native windows installation (resolves [#&#8203;748](https://github.com/helm-unittest/helm-unittest/issues/748))
- Signed release (resolves [#&#8203;362](https://github.com/helm-unittest/helm-unittest/issues/362))

**Features**

- Add skip schema validation with a flag to enable and disable it (resolves [#&#8203;772](https://github.com/helm-unittest/helm-unittest/issues/772), credits [@&#8203;FinnHuelsbusch](https://github.com/FinnHuelsbusch))
- Add support for testing CRDs (credits [@&#8203;blacksd](https://github.com/blacksd))

**Updates**

- Update release and package process, so the plugin can also be installed using helm 4 (resolves [#&#8203;785](https://github.com/helm-unittest/helm-unittest/issues/785))
- Update packages to latest patch versions
- Update pipeline actions
- Update documentation (credits [@&#8203;pratikshmalik05](https://github.com/pratikshmalik05))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/146
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-05-20 20:07:48 +00:00
Renovate Bot b35ab53be7 chore(deps): update lockfiles (#141)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/141
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-05-20 20:07:42 +00:00
Renovate Bot 40d5d7f0a6 chore(deps): update dependency pnpm to v11 (#145)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/145
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-05-14 16:08:43 +00:00
Renovate Bot 6aa2e6ba61 chore(deps): update commitlint/commitlint docker tag to v20.5.3 (#140)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | patch | `20.5.2` → `20.5.3` |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (commitlint/commitlint)</summary>

### [`v20.5.3`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2053-2026-04-30)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3)

**Note:** Version bump only for package [@&#8203;commitlint/root](https://github.com/commitlint/root)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNjAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE2MC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/140
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-05-04 06:54:36 +00:00
Renovate Bot cbe726badd chore(deps): update workflow dependencies (minor & patch) (#138)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | patch | `20.5.1` → `20.5.2` |
| [docker.io/thegeeklab/git-sv](https://github.com/thegeeklab/git-sv) | container | minor | `2.0.11` → `2.1.0` |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (commitlint/commitlint)</summary>

### [`v20.5.2`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2052-2026-04-25)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.5.1...v20.5.2)

##### Bug Fixes

- update dependency global-directory to v5 ([#&#8203;4698](https://github.com/conventional-changelog/commitlint/issues/4698)) ([a8b6224](https://github.com/conventional-changelog/commitlint/commit/a8b622497b5ac1bb8d56791a678cc03021b5ade8))

</details>

<details>
<summary>thegeeklab/git-sv (docker.io/thegeeklab/git-sv)</summary>

### [`v2.1.0`](https://github.com/thegeeklab/git-sv/releases/tag/v2.1.0)

[Compare Source](https://github.com/thegeeklab/git-sv/compare/v2.0.11...v2.1.0)

#### v2.1.0 (2026-04-24)

##### Features

- add `--force` flag to tag subcommand ([#&#8203;308](https://github.com/thegeeklab/git-sv/issues/308)) ([`a75a19d`](https://github.com/thegeeklab/git-sv/commit/a75a19d))

##### Bug Fixes

- **deps:** update module github.com/go-git/go-git/v5 to v5.18.0 \[security] ([#&#8203;305](https://github.com/thegeeklab/git-sv/issues/305)) ([`f4262f4`](https://github.com/thegeeklab/git-sv/commit/f4262f4))
- **deps:** update module github.com/rs/zerolog to v1.35.1 ([#&#8203;307](https://github.com/thegeeklab/git-sv/issues/307)) ([`21cbde0`](https://github.com/thegeeklab/git-sv/commit/21cbde0))
- **deps:** update module github.com/go-git/go-git/v5 to v5.17.2 ([#&#8203;299](https://github.com/thegeeklab/git-sv/issues/299)) ([`995a15b`](https://github.com/thegeeklab/git-sv/commit/995a15b))
- **deps:** update module github.com/urfave/cli/v3 to v3.8.0 ([#&#8203;298](https://github.com/thegeeklab/git-sv/issues/298)) ([`7979f3e`](https://github.com/thegeeklab/git-sv/commit/7979f3e))
- **deps:** update module github.com/go-git/go-git/v5 to v5.17.1 ([#&#8203;241](https://github.com/thegeeklab/git-sv/issues/241)) ([`1493b53`](https://github.com/thegeeklab/git-sv/commit/1493b53))

##### Others

- **docker:** update docker.io/library/alpine:3.23 docker digest to [`5b10f43`](https://github.com/thegeeklab/git-sv/commit/5b10f43) ([#&#8203;302](https://github.com/thegeeklab/git-sv/issues/302)) ([`6f0a618`](https://github.com/thegeeklab/git-sv/commit/6f0a618))
- **deps:** update golang patch version ([#&#8203;301](https://github.com/thegeeklab/git-sv/issues/301)) ([`a5f9b09`](https://github.com/thegeeklab/git-sv/commit/a5f9b09))
- **docker:** update docker.io/library/golang:1.26.1 docker digest to [`cd78d88`](https://github.com/thegeeklab/git-sv/commit/cd78d88) ([#&#8203;300](https://github.com/thegeeklab/git-sv/issues/300)) ([`446cb83`](https://github.com/thegeeklab/git-sv/commit/446cb83))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

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

---------

Co-authored-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/138
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-26 13:56:19 +00:00
daanselen fd1d5d7316 chore: update readme 2026-04-26 15:52:10 +02:00
daanselen cc5849b71a chore(deps): bump act_runner 2026-04-24 13:36:56 +02:00
DaanSelen 2301e22e32 feat: add unittest for storageClass and minor correction in helpers
credits go to: @benmonty
2026-04-23 09:01:42 +02:00
DaanSelen 137b52a2d4 fix: combination of 132 & 133 2026-04-17 14:43:03 +02:00
Renovate Bot 33ed630130 chore(deps): update lockfiles (#131)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMTYiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMTAuMTYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImtpbmQvZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/131
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-13 07:56:11 +00:00
DaanSelen c08bc84370 fix: #132 2026-04-13 09:53:33 +02:00
Renovate Bot 54cdad75a8 chore(deps): update lockfiles (#130)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMTQiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMTAuMTQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImtpbmQvZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/130
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-12 07:17:02 +00:00
Renovate Bot 782fe70059 chore(deps): update alpine/helm docker tag to v4.1.4 (#128)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) |  | patch | `4.1.3` → `4.1.4` |
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | patch | `4.1.3` → `4.1.4` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMTIiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMTAuMTIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImtpbmQvZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/128
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-11 07:52:23 +00:00
Renovate Bot ce01a21171 chore(deps): update pnpm/action-setup action to v6 (#129)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pnpm/action-setup](https://github.com/pnpm/action-setup) | action | major | `v5` → `v6` |

---

### Release Notes

<details>
<summary>pnpm/action-setup (pnpm/action-setup)</summary>

### [`v6`](https://github.com/pnpm/action-setup/compare/v5...v6)

[Compare Source](https://github.com/pnpm/action-setup/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMTIiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMTAuMTIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImtpbmQvZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/129
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-11 07:52:09 +00:00
DaanSelen 9a62bad48a refactor: unittests and slightly add QoL (#127)
Reorder the unittests

---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/127
2026-04-09 09:56:30 +00:00
DaanSelen 988382bf8c feat: add ability to remove the .runner file within the helm chart (#126)
fix: https://gitea.com/gitea/helm-actions/issues/73
---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/126
2026-04-09 09:29:43 +00:00
DaanSelen 7d6b4aeb72 chore: bump act_runner and dind (#125)
bump act_runner and dind

---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/125
2026-04-08 10:18:14 +00:00
daanselen 13d3bdd5da feat: add ability to add custom arguments to the dind daemon (#121)
Fix: https://gitea.com/gitea/helm-actions/issues/22
---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/121
Co-authored-by: Daan Selen <dselen@nerthus.nl>
Co-committed-by: Daan Selen <dselen@nerthus.nl>
2026-04-08 10:03:41 +00:00
DaanSelen 51d54cd520 feat: add runtimeClassName customizability (#124)
Successor of: https://gitea.com/gitea/helm-actions/pulls/101
Due to age of previous branch.

---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/124
2026-04-08 09:53:34 +00:00
daanselen 476593d1a3 feat: add hostAliases injection (#122)
Fix: https://gitea.com/gitea/helm-actions/issues/87
---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/122
Co-authored-by: Daan Selen <dselen@nerthus.nl>
Co-committed-by: Daan Selen <dselen@nerthus.nl>
2026-04-08 09:22:44 +00:00
Renovate Bot 6a31cb00f7 chore(deps): update lockfiles (#123)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDQuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEwNC44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/123
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-08 06:57:54 +00:00
DaanSelen b72067f7e1 chore: rework and refactor workflow 2026-04-07 13:03:14 +02:00
DaanSelen 0ccd46355c Merge remote-tracking branch 'origin/bump-helm' 2026-04-07 09:11:32 +02:00
DaanSelen 290424f6b9 chore: correct yaml and enforce gitea methods 2026-04-07 09:05:40 +02:00
Renovate Bot 7dddc9b1be chore(deps): update lockfiles (#120)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDQuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/120
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-07 07:01:19 +00:00
Renovate Bot 99811a6e8e chore(deps): update lockfiles (#119)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuOSIsInVwZGF0ZWRJblZlciI6IjQzLjEwNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/119
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-03 11:26:43 +00:00
Renovate Bot 6bb2967772 chore(deps): update workflow dependencies (minor & patch) (#99)
This PR contains the following updates:

| Package | Type | Update | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) |  | patch | `3.20.0` → `3.20.1` | ![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/3.20.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/3.20.0/3.20.1?slim=true) |
| [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | patch | `3.20.0` → `3.20.1` | ![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/3.20.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/3.20.0/3.20.1?slim=true) |
| [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | minor | `20.4.1` → `20.5.1` | ![age](https://developer.mend.io/api/mc/badges/age/docker/commitlint%2fcommitlint/20.5.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/commitlint%2fcommitlint/20.4.1/20.5.1?slim=true) |
| [docker.io/thegeeklab/git-sv](https://github.com/thegeeklab/git-sv) | container | patch | `2.0.9` → `2.0.11` | ![age](https://developer.mend.io/api/mc/badges/age/docker/docker.io%2fthegeeklab%2fgit-sv/2.0.11?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/docker.io%2fthegeeklab%2fgit-sv/2.0.9/2.0.11?slim=true) |
| [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | devDependencies | minor | [`^0.47.0` → `^0.48.0`](https://renovatebot.com/diffs/npm/markdownlint-cli/0.47.0/0.48.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/markdownlint-cli/0.48.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/markdownlint-cli/0.47.0/0.48.0?slim=true) |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (commitlint/commitlint)</summary>

### [`v20.5.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2051-2026-03-31)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.5.0...v20.5.1)

##### Bug Fixes

- **cz-commitlint:** add VS16 to single character emojis ([#&#8203;4666](https://github.com/conventional-changelog/commitlint/issues/4666)) ([9e3e2d3](https://github.com/conventional-changelog/commitlint/commit/9e3e2d3ebffbc4c2fb60ead37946ede02d2b1381))
- **cz-commitlint:** handle modifiers correctly ([#&#8203;4667](https://github.com/conventional-changelog/commitlint/issues/4667)) ([5a3ebf5](https://github.com/conventional-changelog/commitlint/commit/5a3ebf5fc687db4af39a2e82d1a631af91fee29d))
- update dependency global-directory to v5 ([#&#8203;4671](https://github.com/conventional-changelog/commitlint/issues/4671)) ([a300d32](https://github.com/conventional-changelog/commitlint/commit/a300d32eb4cc9a0702b59952a06d2cf31e2faafe))

##### Reverts

- Revert "fix: update dependency global-directory to v5 ([#&#8203;4671](https://github.com/conventional-changelog/commitlint/issues/4671))" ([#&#8203;4677](https://github.com/conventional-changelog/commitlint/issues/4677)) ([0f124c9](https://github.com/conventional-changelog/commitlint/commit/0f124c9700443fb7145b4746883ec2124f7534a4)), closes [#&#8203;4671](https://github.com/conventional-changelog/commitlint/issues/4671) [#&#8203;4677](https://github.com/conventional-changelog/commitlint/issues/4677)

### [`v20.5.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2050-2026-03-15)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0)

##### Bug Fixes

- **cli:** validate that --cwd directory exists before execution ([#&#8203;4658](https://github.com/conventional-changelog/commitlint/issues/4658)) ([cf80f75](https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd)), closes [#&#8203;4595](https://github.com/conventional-changelog/commitlint/issues/4595)
- **load:** resolve async config exports in CJS projects ([#&#8203;4659](https://github.com/conventional-changelog/commitlint/issues/4659)) ([fce263f](https://github.com/conventional-changelog/commitlint/commit/fce263f544977958f476d6f4c8539e5fab996198)), closes [#&#8203;4557](https://github.com/conventional-changelog/commitlint/issues/4557)
- **resolve-extends:** always resolve extended parser presets for proper merging ([#&#8203;4647](https://github.com/conventional-changelog/commitlint/issues/4647)) ([e9ef76c](https://github.com/conventional-changelog/commitlint/commit/e9ef76caf44e77f22086910ce706bbe0c03b0ab5)), closes [#&#8203;4640](https://github.com/conventional-changelog/commitlint/issues/4640)

##### Features

- **cz-commitlint:** add exclamation mark support for breaking changes ([#&#8203;4655](https://github.com/conventional-changelog/commitlint/issues/4655)) ([3b124a7](https://github.com/conventional-changelog/commitlint/commit/3b124a78000dc2ad353884b72db5ba0c78a642a3))

#### [20.4.4](https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4) (2026-03-12)

##### Bug Fixes

- **is-ignored:** strip CI skip markers from release commits ([#&#8203;4637](https://github.com/conventional-changelog/commitlint/issues/4637)) ([56a6fd0](https://github.com/conventional-changelog/commitlint/commit/56a6fd069dc8a46054ce23ddd388ce924ca499c2))
- **read:** update git-raw-commits to v5 API ([#&#8203;4638](https://github.com/conventional-changelog/commitlint/issues/4638)) ([bd6ab41](https://github.com/conventional-changelog/commitlint/commit/bd6ab41740210215d92bc10fa93184325bc970a6))
- **types:** allow context parameter in QualifiedRuleConfig functions ([#&#8203;4636](https://github.com/conventional-changelog/commitlint/issues/4636)) ([17537ae](https://github.com/conventional-changelog/commitlint/commit/17537ae05f3402f3b196d5a8cb92ae7207af8ba5)), closes [#&#8203;4357](https://github.com/conventional-changelog/commitlint/issues/4357)

#### [20.4.3](https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3) (2026-03-03)

##### Bug Fixes

- footer parser does not escape special chars for regex [#&#8203;4560](https://github.com/conventional-changelog/commitlint/issues/4560) ([#&#8203;4634](https://github.com/conventional-changelog/commitlint/issues/4634)) ([8ff7c7f](https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770))
- npx usage [#&#8203;613](https://github.com/conventional-changelog/commitlint/issues/613) ([#&#8203;4630](https://github.com/conventional-changelog/commitlint/issues/4630)) ([1644f1e](https://github.com/conventional-changelog/commitlint/commit/1644f1e8f74a844547e44e3e7a76fabbb96775f8)), closes [#&#8203;3](https://github.com/conventional-changelog/commitlint/issues/3) [#&#8203;1](https://github.com/conventional-changelog/commitlint/issues/1) [#&#8203;2](https://github.com/conventional-changelog/commitlint/issues/2) [#&#8203;4](https://github.com/conventional-changelog/commitlint/issues/4) [#&#8203;5](https://github.com/conventional-changelog/commitlint/issues/5) [#&#8203;7](https://github.com/conventional-changelog/commitlint/issues/7) [#&#8203;6](https://github.com/conventional-changelog/commitlint/issues/6)
- **types:** incorrect types for rule options ([#&#8203;4633](https://github.com/conventional-changelog/commitlint/issues/4633)) ([77b85f2](https://github.com/conventional-changelog/commitlint/commit/77b85f24d3858161d076078d333c96909e6136f8))

#### [20.4.2](https://github.com/conventional-changelog/commitlint/compare/v20.4.1...v20.4.2) (2026-02-19)

##### Bug Fixes

- **config-nx-scopes:** add unique names to fixture projects ([#&#8203;4622](https://github.com/conventional-changelog/commitlint/issues/4622)) ([5635cf0](https://github.com/conventional-changelog/commitlint/commit/5635cf0ab885005aa56f2917b9db5e9c2259722d))
- **rules:** ignore cherry-picks in signed-off-by ([#&#8203;4625](https://github.com/conventional-changelog/commitlint/issues/4625)) ([691a52d](https://github.com/conventional-changelog/commitlint/commit/691a52d4b0ba2ad8cd5a33f7fa35a901ca861009))

#### [20.4.1](https://github.com/conventional-changelog/commitlint/compare/v20.4.0...v20.4.1) (2026-02-02)

##### Reverts

- replace all lodash string methods with kasi [#&#8203;4602](https://github.com/conventional-changelog/commitlint/issues/4602) ([#&#8203;4621](https://github.com/conventional-changelog/commitlint/issues/4621)) ([5326ab9](https://github.com/conventional-changelog/commitlint/commit/5326ab98a7c68f2f67c46c253f10c087d4570ddd)), closes [#&#8203;4620](https://github.com/conventional-changelog/commitlint/issues/4620) [#&#8203;4620](https://github.com/conventional-changelog/commitlint/issues/4620)

### [`v20.4.4`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2044-2026-03-12)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4)

##### Bug Fixes

- **is-ignored:** strip CI skip markers from release commits ([#&#8203;4637](https://github.com/conventional-changelog/commitlint/issues/4637)) ([56a6fd0](https://github.com/conventional-changelog/commitlint/commit/56a6fd069dc8a46054ce23ddd388ce924ca499c2))
- **read:** update git-raw-commits to v5 API ([#&#8203;4638](https://github.com/conventional-changelog/commitlint/issues/4638)) ([bd6ab41](https://github.com/conventional-changelog/commitlint/commit/bd6ab41740210215d92bc10fa93184325bc970a6))
- **types:** allow context parameter in QualifiedRuleConfig functions ([#&#8203;4636](https://github.com/conventional-changelog/commitlint/issues/4636)) ([17537ae](https://github.com/conventional-changelog/commitlint/commit/17537ae05f3402f3b196d5a8cb92ae7207af8ba5)), closes [#&#8203;4357](https://github.com/conventional-changelog/commitlint/issues/4357)

### [`v20.4.3`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2043-2026-03-03)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3)

##### Bug Fixes

- footer parser does not escape special chars for regex [#&#8203;4560](https://github.com/conventional-changelog/commitlint/issues/4560) ([#&#8203;4634](https://github.com/conventional-changelog/commitlint/issues/4634)) ([8ff7c7f](https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770))
- npx usage [#&#8203;613](https://github.com/conventional-changelog/commitlint/issues/613) ([#&#8203;4630](https://github.com/conventional-changelog/commitlint/issues/4630)) ([1644f1e](https://github.com/conventional-changelog/commitlint/commit/1644f1e8f74a844547e44e3e7a76fabbb96775f8)), closes [#&#8203;3](https://github.com/conventional-changelog/commitlint/issues/3) [#&#8203;1](https://github.com/conventional-changelog/commitlint/issues/1) [#&#8203;2](https://github.com/conventional-changelog/commitlint/issues/2) [#&#8203;4](https://github.com/conventional-changelog/commitlint/issues/4) [#&#8203;5](https://github.com/conventional-changelog/commitlint/issues/5) [#&#8203;7](https://github.com/conventional-changelog/commitlint/issues/7) [#&#8203;6](https://github.com/conventional-changelog/commitlint/issues/6)
- **types:** incorrect types for rule options ([#&#8203;4633](https://github.com/conventional-changelog/commitlint/issues/4633)) ([77b85f2](https://github.com/conventional-changelog/commitlint/commit/77b85f24d3858161d076078d333c96909e6136f8))

### [`v20.4.2`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2042-2026-02-19)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v20.4.1...v20.4.2)

##### Bug Fixes

- **config-nx-scopes:** add unique names to fixture projects ([#&#8203;4622](https://github.com/conventional-changelog/commitlint/issues/4622)) ([5635cf0](https://github.com/conventional-changelog/commitlint/commit/5635cf0ab885005aa56f2917b9db5e9c2259722d))
- **rules:** ignore cherry-picks in signed-off-by ([#&#8203;4625](https://github.com/conventional-changelog/commitlint/issues/4625)) ([691a52d](https://github.com/conventional-changelog/commitlint/commit/691a52d4b0ba2ad8cd5a33f7fa35a901ca861009))

</details>

<details>
<summary>thegeeklab/git-sv (docker.io/thegeeklab/git-sv)</summary>

### [`v2.0.11`](https://github.com/thegeeklab/git-sv/releases/tag/v2.0.11)

[Compare Source](https://github.com/thegeeklab/git-sv/compare/v2.0.10...v2.0.11)

#### v2.0.11 (2026-03-29)

##### Bug Fixes

- parse multiline breaking changes correctly ([#&#8203;297](https://github.com/thegeeklab/git-sv/issues/297)) ([`7898fb6`](https://github.com/thegeeklab/git-sv/commit/7898fb6))
- **deps:** update module github.com/rs/zerolog to v1.35.0 ([#&#8203;294](https://github.com/thegeeklab/git-sv/issues/294)) ([`2a091dd`](https://github.com/thegeeklab/git-sv/commit/2a091dd))

##### Others

- **deps:** bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 ([#&#8203;296](https://github.com/thegeeklab/git-sv/issues/296)) ([`909ad60`](https://github.com/thegeeklab/git-sv/commit/909ad60))
- improve test coverage ([#&#8203;295](https://github.com/thegeeklab/git-sv/issues/295)) ([`de86f6c`](https://github.com/thegeeklab/git-sv/commit/de86f6c))
- **deps:** update dependency golangci/golangci-lint to v2.11.4 ([#&#8203;293](https://github.com/thegeeklab/git-sv/issues/293)) ([`e5663e5`](https://github.com/thegeeklab/git-sv/commit/e5663e5))
- **docker:** update docker.io/library/golang:1.26.1 docker digest to [`595c784`](https://github.com/thegeeklab/git-sv/commit/595c784) ([#&#8203;292](https://github.com/thegeeklab/git-sv/issues/292)) ([`21374a6`](https://github.com/thegeeklab/git-sv/commit/21374a6))
- **docker:** update docker.io/library/golang:1.26.1 docker digest to [`c42e4d7`](https://github.com/thegeeklab/git-sv/commit/c42e4d7) ([#&#8203;291](https://github.com/thegeeklab/git-sv/issues/291)) ([`d7c21aa`](https://github.com/thegeeklab/git-sv/commit/d7c21aa))

##### CI Pipeline

- use trivy image from ghcr ([`4261c0f`](https://github.com/thegeeklab/git-sv/commit/4261c0f))

### [`v2.0.10`](https://github.com/thegeeklab/git-sv/releases/tag/v2.0.10)

[Compare Source](https://github.com/thegeeklab/git-sv/compare/v2.0.9...v2.0.10)

#### v2.0.10 (2026-03-12)

##### Bug Fixes

- **deps:** update module github.com/urfave/cli/v3 to v3.7.0 ([#&#8203;287](https://github.com/thegeeklab/git-sv/issues/287)) ([`fa50899`](https://github.com/thegeeklab/git-sv/commit/fa50899))
- **deps:** update module github.com/urfave/cli/v3 to v3.6.2 ([#&#8203;274](https://github.com/thegeeklab/git-sv/issues/274)) ([`db378fd`](https://github.com/thegeeklab/git-sv/commit/db378fd))
- **deps:** update module github.com/goccy/go-yaml to v1.19.2 ([#&#8203;270](https://github.com/thegeeklab/git-sv/issues/270)) ([`c0e650d`](https://github.com/thegeeklab/git-sv/commit/c0e650d))
- **deps:** update module github.com/goccy/go-yaml to v1.19.1 ([#&#8203;266](https://github.com/thegeeklab/git-sv/issues/266)) ([`b7974ba`](https://github.com/thegeeklab/git-sv/commit/b7974ba))

##### Others

- **deps:** update dependency golangci/golangci-lint to v2.11.3 ([#&#8203;290](https://github.com/thegeeklab/git-sv/issues/290)) ([`bfc4e71`](https://github.com/thegeeklab/git-sv/commit/bfc4e71))
- **deps:** update golang patch version ([#&#8203;289](https://github.com/thegeeklab/git-sv/issues/289)) ([`e17551c`](https://github.com/thegeeklab/git-sv/commit/e17551c))
- **docker:** update docker.io/library/golang:1.26.0 docker digest to [`fb612b7`](https://github.com/thegeeklab/git-sv/commit/fb612b7) ([#&#8203;288](https://github.com/thegeeklab/git-sv/issues/288)) ([`3474fb1`](https://github.com/thegeeklab/git-sv/commit/3474fb1))
- **docker:** update docker.io/library/golang:1.26.0 docker digest to [`9edf713`](https://github.com/thegeeklab/git-sv/commit/9edf713) ([#&#8203;286](https://github.com/thegeeklab/git-sv/issues/286)) ([`f72ce98`](https://github.com/thegeeklab/git-sv/commit/f72ce98))
- **docker:** update docker.io/library/golang:1.26.0 docker digest to [`a9c4aac`](https://github.com/thegeeklab/git-sv/commit/a9c4aac) ([#&#8203;285](https://github.com/thegeeklab/git-sv/issues/285)) ([`886ff59`](https://github.com/thegeeklab/git-sv/commit/886ff59))
- **deps:** update dependency golangci/golangci-lint to v2.10.1 ([#&#8203;283](https://github.com/thegeeklab/git-sv/issues/283)) ([`009cee1`](https://github.com/thegeeklab/git-sv/commit/009cee1))
- **deps:** update docker.io/lycheeverse/lychee docker tag to v0.23 ([#&#8203;284](https://github.com/thegeeklab/git-sv/issues/284)) ([`d67f814`](https://github.com/thegeeklab/git-sv/commit/d67f814))
- **deps:** update golang version ([#&#8203;279](https://github.com/thegeeklab/git-sv/issues/279)) ([`562e6b6`](https://github.com/thegeeklab/git-sv/commit/562e6b6))
- **deps:** update dependency golangci/golangci-lint to v2.9.0 ([#&#8203;282](https://github.com/thegeeklab/git-sv/issues/282)) ([`0fa44b0`](https://github.com/thegeeklab/git-sv/commit/0fa44b0))
- **docker:** update docker.io/library/golang:1.25.7 docker digest to [`85c0ab0`](https://github.com/thegeeklab/git-sv/commit/85c0ab0) ([#&#8203;280](https://github.com/thegeeklab/git-sv/issues/280)) ([`15e0180`](https://github.com/thegeeklab/git-sv/commit/15e0180))
- **deps:** update golang patch version ([#&#8203;278](https://github.com/thegeeklab/git-sv/issues/278)) ([`57eb5f1`](https://github.com/thegeeklab/git-sv/commit/57eb5f1))
- **docker:** update docker.io/library/golang:1.25.6 docker digest to [`06d1251`](https://github.com/thegeeklab/git-sv/commit/06d1251) ([#&#8203;277](https://github.com/thegeeklab/git-sv/issues/277)) ([`d3620b6`](https://github.com/thegeeklab/git-sv/commit/d3620b6))
- **docker:** update docker.io/library/alpine:3.23 docker digest to [`2510918`](https://github.com/thegeeklab/git-sv/commit/2510918) ([#&#8203;276](https://github.com/thegeeklab/git-sv/issues/276)) ([`17b4167`](https://github.com/thegeeklab/git-sv/commit/17b4167))
- fix lychee and use yaml file extension ([`cadbc7b`](https://github.com/thegeeklab/git-sv/commit/cadbc7b))
- **docker:** update docker.io/library/golang:1.25.6 docker digest to [`ce63a16`](https://github.com/thegeeklab/git-sv/commit/ce63a16) ([#&#8203;275](https://github.com/thegeeklab/git-sv/issues/275)) ([`ede5c73`](https://github.com/thegeeklab/git-sv/commit/ede5c73))
- **deps:** update golang patch version ([#&#8203;273](https://github.com/thegeeklab/git-sv/issues/273)) ([`9937fcf`](https://github.com/thegeeklab/git-sv/commit/9937fcf))
- **docker:** update docker.io/library/golang:1.25.5 docker digest to [`8bbd140`](https://github.com/thegeeklab/git-sv/commit/8bbd140) ([#&#8203;272](https://github.com/thegeeklab/git-sv/issues/272)) ([`3938585`](https://github.com/thegeeklab/git-sv/commit/3938585))
- **deps:** update dependency golangci/golangci-lint to v2.8.0 ([#&#8203;271](https://github.com/thegeeklab/git-sv/issues/271)) ([`411d457`](https://github.com/thegeeklab/git-sv/commit/411d457))
- **docker:** update docker.io/library/golang:1.25.5 docker digest to [`6cc2338`](https://github.com/thegeeklab/git-sv/commit/6cc2338) ([#&#8203;269](https://github.com/thegeeklab/git-sv/issues/269)) ([`4b858a5`](https://github.com/thegeeklab/git-sv/commit/4b858a5))
- **docker:** update docker.io/library/golang:1.25.5 docker digest to [`31c1e53`](https://github.com/thegeeklab/git-sv/commit/31c1e53) ([#&#8203;268](https://github.com/thegeeklab/git-sv/issues/268)) ([`bc5174b`](https://github.com/thegeeklab/git-sv/commit/bc5174b))
- **docker:** update docker.io/library/alpine:3.23 docker digest to [`865b95f`](https://github.com/thegeeklab/git-sv/commit/865b95f) ([#&#8203;267](https://github.com/thegeeklab/git-sv/issues/267)) ([`5b2b90e`](https://github.com/thegeeklab/git-sv/commit/5b2b90e))
- **docker:** update docker.io/library/golang:1.25.5 docker digest to [`36b4f45`](https://github.com/thegeeklab/git-sv/commit/36b4f45) ([#&#8203;265](https://github.com/thegeeklab/git-sv/issues/265)) ([`d20165f`](https://github.com/thegeeklab/git-sv/commit/d20165f))
- **docker:** update docker.io/library/golang:1.25.5 docker digest to [`a22b2e6`](https://github.com/thegeeklab/git-sv/commit/a22b2e6) ([#&#8203;264](https://github.com/thegeeklab/git-sv/issues/264)) ([`c54bb89`](https://github.com/thegeeklab/git-sv/commit/c54bb89))
- **docker:** update docker.io/library/golang:1.25.5 docker digest to [`68ee6df`](https://github.com/thegeeklab/git-sv/commit/68ee6df) ([#&#8203;263](https://github.com/thegeeklab/git-sv/issues/263)) ([`caafd3d`](https://github.com/thegeeklab/git-sv/commit/caafd3d))
- **deps:** update dependency golangci/golangci-lint to v2.7.2 ([#&#8203;262](https://github.com/thegeeklab/git-sv/issues/262)) ([`c23a505`](https://github.com/thegeeklab/git-sv/commit/c23a505))

##### CI Pipeline

- drop notify workflow ([`df67269`](https://github.com/thegeeklab/git-sv/commit/df67269))
- unify golangci config ([`f450ce8`](https://github.com/thegeeklab/git-sv/commit/f450ce8))
- drop prealloc linter ([`f6354f7`](https://github.com/thegeeklab/git-sv/commit/f6354f7))

</details>

<details>
<summary>igorshubovych/markdownlint-cli (markdownlint-cli)</summary>

### [`v0.48.0`](https://github.com/igorshubovych/markdownlint-cli/releases/tag/v0.48.0)

[Compare Source](https://github.com/igorshubovych/markdownlint-cli/compare/v0.47.0...v0.48.0)

- Update all dependencies via `Dependabot`

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
- Automerge
  - Between 12:00 AM and 03:59 AM (`* 0-3 * * *`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi4yIiwidXBkYXRlZEluVmVyIjoiNDMuMTA0LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImtpbmQvZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/99
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-03 11:26:09 +00:00
DaanSelen 0f2d8693d9 chore: finalize bump helm 2026-04-03 10:05:36 +02:00
DaanSelen aee6935ead chore: rename workflow in accordance with the others 2026-04-02 15:42:53 +02:00
DaanSelen 3c9b97f6af chore: make the test-pr working 2026-04-02 15:41:44 +02:00
DaanSelen e2ac47144e chore: bump helm in test-pr.yml 2026-04-02 15:35:32 +02:00
DaanSelen 55b2169210 chore: allow manual dispatching 2026-04-02 15:31:09 +02:00
Renovate Bot d1b40535d9 chore(deps): update lockfiles (#117)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuOSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMi45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJraW5kL2RlcGVuZGVuY3kiXX0=-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/117
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-02 13:12:37 +00:00
daanselen 3ad9261bee fix: improvements to rootless (typo) 2026-04-01 23:58:39 +02:00
daanselen fa3a081b25 chore: further support rootless dind 2026-04-01 23:38:46 +02:00
daanselen 9c6fb6aeef chore: slightly correct docs (#116)
<!--
 Before you open the request please review the following guidelines and tips to help it be more easily integrated:

 - Describe the scope of your change - i.e. what the change does.
 - Describe any known limitations with your change.
 - Please run any tests or examples that can exercise your modified code.

 Thank you for contributing! We will try to review, test and integrate the change as soon as we can.
 -->

### Description of the change

<!-- Describe the scope of your change - i.e. what the change does. -->

### Benefits

<!-- What benefits will be realized by the code change? -->

### Possible drawbacks

<!-- Describe any known limitations with your change -->

### Applicable issues

<!-- Enter any applicable Issues here (You can reference an issue using #). Please remove this section if there is no referenced issue. -->
- Fixes #

### Additional information

<!-- If there's anything else that's important and relevant to your pull request, mention that information here. Please remove this section if it remains empty. -->

### ⚠ BREAKING

<!-- If there's a breaking change, please shortly describe in which way users are affected and how they can mitigate it. If there are no breakings, please remove this section. -->

### Checklist

<!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->

- [ ] Parameters are documented in the `values.yaml` and added to the `README.md` using [readme-generator-for-helm](https://github.com/bitnami-labs/readme-generator-for-helm)
- [ ] Breaking changes are documented in the `README.md`
- [ ] Helm templating unittests are added (required when changing anything in `templates` folder)
- [ ] Bash unittests are added (required when changing anything in `scripts` folder)
- [ ] All added template resources MUST render a namespace in metadata

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/116
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Daan Selen <dselen@nerthus.nl>
Co-committed-by: Daan Selen <dselen@nerthus.nl>
2026-04-01 21:19:03 +00:00
daanselen 16c4e7e69b chore: bump dind (#98)
This is a PR to try and bump dind.
Awaiting testing and functionality.

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/98
Reviewed-by: ChristopherHX <38043+christopherhx@noreply.gitea.com>
Co-authored-by: Daan Selen <dselen@nerthus.nl>
Co-committed-by: Daan Selen <dselen@nerthus.nl>
2026-04-01 20:04:26 +00:00
daanselen 12c7b96589 Merge branch 'service-account-add' 2026-04-01 21:56:20 +02:00
daanselen 9de5d94d39 chore: make unittests pass 2026-04-01 21:50:09 +02:00
daanselen 110031dc2e chore: slightly change readme indentation 2026-04-01 21:41:30 +02:00
daanselen e31e7cf047 chore: change null to "" as per consistency 2026-04-01 21:38:34 +02:00
daanselen 3e733b4d16 chore: lint readme 2026-04-01 21:30:30 +02:00
daanselen ce17341a34 chore: make readme compliant 2026-04-01 21:27:12 +02:00
daanselen 6fe64649c2 chore: make values empty per template 2026-04-01 21:22:14 +02:00
daanselen c8577fa892 chore: support preinit and postinit container like the helm-gitea 2026-04-01 21:21:01 +02:00
daanselen 0f406605c6 chore: fix duplication of dind 2026-04-01 21:04:20 +02:00
daanselen 7c77d4bff3 Merge branch 'image_pull_secrets' 2026-04-01 21:01:59 +02:00
DaanSelen 7e960c156d feat: add dind rootless flags (#113)
Add switch for rootless accounting with:

```
statefulset:
  dind:
    rootless: true | false
    uid: ""
```
This is to set the liveness and readiness probes correctly.

---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/113
Reviewed-by: techknowlogick <9+techknowlogick@noreply.gitea.com>
Reviewed-by: wxiaoguang <29147+wxiaoguang@noreply.gitea.com>
2026-04-01 18:43:11 +00:00
DaanSelen 78918b88f0 feat: add dry templating to existingSecret (#112)
Successor to: https://gitea.com/gitea/helm-actions/pulls/77

---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/112
Reviewed-by: wxiaoguang <29147+wxiaoguang@noreply.gitea.com>
2026-04-01 14:31:31 +00:00
Renovate Bot 7df376bc42 chore(deps): update lockfiles (#97)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My44LjEiLCJ1cGRhdGVkSW5WZXIiOiI0My44LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImtpbmQvZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/97
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-04-01 13:15:30 +00:00
DaanSelen dda9bef16d chore(deps): bump act_runner docker image (#105)
<!--
 Before you open the request please review the following guidelines and tips to help it be more easily integrated:

 - Describe the scope of your change - i.e. what the change does.
 - Describe any known limitations with your change.
 - Please run any tests or examples that can exercise your modified code.

 Thank you for contributing! We will try to review, test and integrate the change as soon as we can.
 -->

### Description of the change

<!-- Describe the scope of your change - i.e. what the change does. -->

### Benefits

<!-- What benefits will be realized by the code change? -->

### Possible drawbacks

<!-- Describe any known limitations with your change -->

### Applicable issues

<!-- Enter any applicable Issues here (You can reference an issue using #). Please remove this section if there is no referenced issue. -->
- Fixes #

### Additional information

<!-- If there's anything else that's important and relevant to your pull request, mention that information here. Please remove this section if it remains empty. -->

### ⚠ BREAKING

<!-- If there's a breaking change, please shortly describe in which way users are affected and how they can mitigate it. If there are no breakings, please remove this section. -->

### Checklist

<!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->

- [ ] Parameters are documented in the `values.yaml` and added to the `README.md` using [readme-generator-for-helm](https://github.com/bitnami-labs/readme-generator-for-helm)
- [ ] Breaking changes are documented in the `README.md`
- [ ] Helm templating unittests are added (required when changing anything in `templates` folder)
- [ ] Bash unittests are added (required when changing anything in `scripts` folder)
- [ ] All added template resources MUST render a namespace in metadata

---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/105
2026-03-31 07:37:05 +00:00
Renovate Bot 6c275ea3c7 chore(deps): update pnpm/action-setup action to v5 (#109)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/109
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-03-24 17:28:46 +00:00
Yi Hong 424dee1895 Add ability to customize the service account name. 2026-03-19 14:39:33 -04:00
DaanSelen ce9c0c421d chore: add restartpolicy back in 2026-03-18 15:22:38 +00:00
DaanSelen a455060ced Merge branch 'main' into image_pull_secrets 2026-03-18 09:43:46 +00:00
Renovate Bot 0f5dc3a2d0 chore(deps): update https://github.com/crazy-max/ghaction-import-gpg action to v7 (#103)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://github.com/crazy-max/ghaction-import-gpg](https://github.com/crazy-max/ghaction-import-gpg) | action | major | `v6` → `v7` |

---

### Release Notes

<details>
<summary>crazy-max/ghaction-import-gpg (https://github.com/crazy-max/ghaction-import-gpg)</summary>

### [`v7`](https://github.com/crazy-max/ghaction-import-gpg/compare/v6...v7)

[Compare Source](https://github.com/crazy-max/ghaction-import-gpg/compare/v6...v7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC).

🚦 **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:eyJjcmVhdGVkSW5WZXIiOiI0My41Ni4xIiwidXBkYXRlZEluVmVyIjoiNDMuNTYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsia2luZC9kZXBlbmRlbmN5Il19-->

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/103
Reviewed-by: DaanSelen <135789+daanselen@noreply.gitea.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
2026-03-18 09:43:37 +00:00
DaanSelen b016d5196f chore: compile readme 2026-03-18 10:29:41 +01:00
DaanSelen aee0e7c216 chore: add imagePullSecrets and slightly refac the statefulset 2026-03-18 10:24:25 +01:00
23 changed files with 1087 additions and 645 deletions
+2 -2
View File
@@ -8,12 +8,12 @@ on:
jobs:
changelog:
runs-on: ubuntu-latest
container: docker.io/thegeeklab/git-sv:2.0.9
container: docker.io/thegeeklab/git-sv:2.1.3
steps:
- name: install tools
run: |
apk add -q --update --no-cache nodejs curl jq sed
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Generate upcoming changelog
+2 -2
View File
@@ -11,9 +11,9 @@ on:
jobs:
check-and-test:
runs-on: ubuntu-latest
container: commitlint/commitlint:20.4.1
container: commitlint/commitlint:21.2.1
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: check PR title
run: |
echo "${{ gitea.event.pull_request.title }}" | commitlint --config .commitlintrc.json
+49 -28
View File
@@ -7,64 +7,85 @@ on:
env:
# renovate: datasource=docker depName=alpine/helm
HELM_VERSION: "3.20.0"
HELM_VERSION: "4.2.3"
jobs:
generate-chart-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: install Docker CLI
uses: https://github.com/docker/setup-buildx-action@v4 # Gitea
#uses: docker/setup-buildx-action@v4 # Github / Act
- name: install Helm
uses: https://github.com/Azure/setup-helm@v5 # Gitea
#uses: Azure/setup-helm@v5 # Github / Act
with:
version: "${{ env.HELM_VERSION }}"
- name: install tools
run: |
apt update -y
apt install -y curl ca-certificates curl gnupg
# helm
curl -O https://get.helm.sh/helm-v${{ env.HELM_VERSION }}-linux-amd64.tar.gz
tar -xzf helm-v${{ env.HELM_VERSION }}-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/
rm -rf linux-amd64 helm-v${{ env.HELM_VERSION }}-linux-amd64.tar.gz
helm version
# docker
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update -y
apt install -y python3 python3-pip apt-transport-https docker-ce-cli
apt update
apt install -y curl ca-certificates curl gnupg python3 python3-pip apt-transport-https
pip install awscli --break-system-packages
- name: Import GPG key
- name: import GPG key
id: import_gpg
uses: https://github.com/crazy-max/ghaction-import-gpg@v6
uses: https://github.com/crazy-max/ghaction-import-gpg@v7 # Gitea
#uses: crazy-max/ghaction-import-gpg@v7 # Github / Act
with:
gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
fingerprint: CC64B1DB67ABBEECAB24B6455FC346329753F4B0
- name: log into Docker Hub
uses: https://github.com/docker/login-action@v4 # Gitea
#uses: docker/login-action@v4 # Github / Act
with:
username: ${{ secrets.DOCKER_CHARTS_USERNAME }}
password: ${{ secrets.DOCKER_CHARTS_PASSWORD }}
# Using helm gpg plugin as 'helm package --sign' has issues with gpg2: https://github.com/helm/helm/issues/2843
- name: package chart
run: |
echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | docker login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} --password-stdin
# FIXME: use upstream after https://github.com/technosophos/helm-gpg/issues/1 is solved
helm plugin install https://github.com/pat-s/helm-gpg
# Install Helm GPG plugin
helm plugin install https://github.com/technosophos/helm-gpg.git --verify=false
# Package the chart
mkdir ./actions
helm dependency build
helm package --version "${GITHUB_REF#refs/tags/v}" ./
mkdir actions
mv actions*.tgz actions/
helm package --version "${GITHUB_REF#refs/tags/v}" --destination ./actions ./
curl -s -L -o actions/index.yaml https://dl.gitea.com/charts/index.yaml
helm repo index actions/ --url https://dl.gitea.com/charts --merge actions/index.yaml
# push to dockerhub
# Push to Docker Hub
echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | helm registry login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} registry-1.docker.io --password-stdin
helm push actions/actions-${GITHUB_REF#refs/tags/v}.tgz oci://registry-1.docker.io/giteacharts
helm registry logout registry-1.docker.io
env:
TAR_OPTIONS: "--wildcards"
- name: aws credential configure
uses: https://github.com/aws-actions/configure-aws-credentials@v6
uses: https://github.com/aws-actions/configure-aws-credentials@v6 # Gitea
#uses: aws-actions/configure-aws-credentials@v6 # Github / Act
with:
aws-access-key-id: ${{ secrets.AWS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name: Copy files to S3 and clear cache
- name: copy files to S3 and clear cache
if: startsWith(github.ref, 'refs/tags/')
run: |
aws s3 sync actions/ s3://${{ secrets.AWS_S3_BUCKET}}/charts/
- name: Copy files to Cloudflare R2
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: auto
CLOUDFLARE_R2_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_R2_ACCOUNT_ID }}
CLOUDFLARE_R2_BUCKET: ${{ secrets.CLOUDFLARE_R2_BUCKET }}
run: |
aws s3 sync actions/ s3://${CLOUDFLARE_R2_BUCKET}/charts/ --endpoint-url https://${CLOUDFLARE_R2_ACCOUNT_ID}.r2.cloudflarestorage.com
+2 -2
View File
@@ -1,4 +1,4 @@
name: Lint Shell files
name: shellcheck
on:
pull_request:
@@ -9,6 +9,6 @@ jobs:
shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- run: apt update --yes && apt install --yes shellcheck
- run: find . -type f -name "*.sh" -exec shellcheck -a {} \;
+12 -9
View File
@@ -1,6 +1,7 @@
name: check-and-test
on:
"on":
"workflow_dispatch":
pull_request:
branches:
- "*"
@@ -10,31 +11,32 @@ on:
env:
# renovate: datasource=github-releases depName=helm-unittest/helm-unittest
HELM_UNITTEST_VERSION: "v1.0.3"
HELM_UNITTEST_VERSION: "v1.1.1"
jobs:
check-and-test:
runs-on: ubuntu-latest
container: alpine/helm:3.20.0
container: alpine/helm:4.2.3
steps:
- name: install tools
run: |
apk update
apk add --update bash make nodejs npm yamllint ncurses
- name: Install pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
with:
version: 10
- uses: actions/checkout@v6
version: 11
- uses: actions/checkout@v7
- name: install chart dependencies
run: helm dependency build
- name: lint
run: helm lint
run: helm lint .
- name: template
run: helm template --debug gitea-actions .
- name: prepare unit test environment
run: |
helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} https://github.com/helm-unittest/helm-unittest
helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} --verify=false \
https://github.com/helm-unittest/helm-unittest.git # https://github.com/helm-unittest/helm-unittest?tab=readme-ov-file#install
git submodule update --init --recursive
- name: unit tests
env:
@@ -46,4 +48,5 @@ jobs:
make readme
git diff --exit-code --name-only README.md
- name: yaml lint
uses: https://github.com/ibiqlik/action-yamllint@v3
# uses: ibiqlik/action-yamllint@v3 # Github / Act
uses: https://github.com/ibiqlik/action-yamllint@v3 # Gitea
+1
View File
@@ -2,3 +2,4 @@ charts/
node_modules/
.DS_Store
unittests/*/__snapshot__/
*secret*.yaml
+6 -4
View File
@@ -1,18 +1,20 @@
apiVersion: v2
name: actions
description: Gitea Actions chart for Kubernetes
description: Gitea Actions Helm chart for Kubernetes
type: application
version: 0.0.0
# renovate datasource=github-releases depName=go-gitea/act extractVersion=^v(?<version>.*)$
version: 0.1.1
# renovate datasource=gitea-releases depName=gitea/runner extractVersion=^v(?<version>.*)$
appVersion: 0.261.3
keywords:
- cicd
- runner
- actions
home: https://gitea.com/
icon: https://gitea.com/assets/img/logo.svg
sources:
- https://gitea.com/gitea/helm-actions
- https://gitea.com/gitea/act
- https://gitea.com/gitea/runner
maintainers:
# https://gitea.com/DaanSelen
+110 -58
View File
@@ -6,18 +6,10 @@ The parameters which can be used to customize the deployment are described below
If you want to propose a new feature or mechanism, submit an [issue here](https://gitea.com/gitea/helm-actions/issues).
## Docs
[Docs](./docs/README.md)
## Rootless Defaults
If `.Values.image.rootless: true`, then the following will occur. In case you use `.Values.image.fullOverride`, check that this works in your image:
- If `.Values.provisioning.enabled: true`, then uses the rootless Gitea image, must match helm-Gitea.
## Quick-start
[Documentation](./docs/README.md)
To get started, add the Helm repo, assuming you have not already:
```sh
@@ -37,63 +29,123 @@ Deploy with your values, make sure the path is correct:
helm upgrade --install gitea-actions gitea-charts/actions -f values.yaml
```
Alternatively:
```sh
helm upgrade --install gitea-actions gitea-charts/actions \
--set enabled=true \
--set giteaRootURL=https://gitea.com \
--set existingSecret=foo \
--set existingSecretKey=bar
```
You should be good to go!
### Runner Token Secret Template
For reference, a template for the secret is given below:
```yaml
apiVersion: v1
kind: Secret
metadata:
name: runner-secret
namespace: "my-gitea-namespace"
type: Opaque
stringData:
runner-token: "my-cool-runner-token-given-by-gitea"
```
### Rootless Options
If `.Values.statefulset.dind.rootless: true` is set, then the following will be required:
`.Values.statefulset.dind.tag` must be a rootless image such as: `29.3.1-dind-rootless`
## Parameters
### Gitea Actions
| Name | Description | Value |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `enabled` | Create an act runner StatefulSet. | `false` |
| `init.image.repository` | The image used for the init containers | `busybox` |
| `init.image.tag` | The image tag used for the init containers | `1.37.0` |
| `statefulset.replicas` | the amount of (replica) runner pods deployed | `1` |
| `statefulset.timezone` | is the timezone that will be set in the act_runner image | `Etc/UTC` |
| `statefulset.annotations` | Act runner annotations | `{}` |
| `statefulset.labels` | Act runner labels | `{}` |
| `statefulset.resources` | Act runner resources | `{}` |
| `statefulset.nodeSelector` | NodeSelector for the statefulset | `{}` |
| `statefulset.tolerations` | Tolerations for the statefulset | `[]` |
| `statefulset.affinity` | Affinity for the statefulset | `{}` |
| `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` |
| `statefulset.actRunner.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
| `statefulset.actRunner.repository` | The Gitea act runner image | `act_runner` |
| `statefulset.actRunner.tag` | The Gitea act runner tag | `0.2.13` |
| `statefulset.actRunner.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `statefulset.actRunner.pullPolicy` | The Gitea act runner pullPolicy | `IfNotPresent` |
| `statefulset.actRunner.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| `statefulset.actRunner.extraVolumeMounts` | Allows mounting extra volumes in the act runner container | `[]` |
| `statefulset.actRunner.config` | Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
| `statefulset.dind.registry` | image registry, e.g. gcr.io,docker.io | `""` |
| `statefulset.actRunner.extraEnvs` | Allows adding custom environment variables | `[]` |
| `statefulset.dind.repository` | The Docker-in-Docker image | `docker` |
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `28.3.3-dind` |
| `statefulset.dind.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `statefulset.dind.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
| `statefulset.dind.extraVolumeMounts` | Allows mounting extra volumes in the Docker-in-Docker container | `[]` |
| `statefulset.dind.extraEnvs` | Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY` | `[]` |
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
| `statefulset.securityContext` | Customize the SecurityContext | `{}` |
| `existingSecret` | Secret that contains the token | `""` |
| `existingSecretKey` | Secret key | `""` |
| `giteaRootURL` | URL the act_runner registers and connect with | `""` |
For resource limit examples (runner vs DinD), see [docs/resources.md](./docs/resources.md).
| Name | Description | Value |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------ |
| `enabled` | Create a Gitea Runner StatefulSet. | `false` |
| `statefulset.replicas` | the amount of (replica) runner pods deployed | `1` |
| `statefulset.timezone` | is the timezone that will be set in the runner image | `Etc/UTC` |
| `statefulset.annotations` | Gitea Runner annotations | `{}` |
| `statefulset.labels` | Gitea Runner labels | `{}` |
| `statefulset.resources` | Shared resource requests/limits for both containers. Overridden by statefulset.runner.resources and statefulset.dind.resources. See docs/resources.md. | `{}` |
| `statefulset.nodeSelector` | NodeSelector for the statefulset | `{}` |
| `statefulset.tolerations` | Tolerations for the statefulset | `[]` |
| `statefulset.affinity` | Affinity for the statefulset | `{}` |
| `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` |
| `statefulset.persistence.size` | Size for persistence to store Gitea Runner data | `1Gi` |
| `statefulset.securityContext` | Customize the SecurityContext | `{}` |
| `statefulset.serviceAccountName` | Customize the service account name | `""` |
| `statefulset.runtimeClassName` | Select a different RuntimeClass for pods | `""` |
| `statefulset.hostAliases` | Inject entries into the /etc/hosts file | `[]` |
| `statefulset.persistence.size` | Size for persistence to store Gitea Runner data | `1Gi` |
| `statefulset.runner.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
| `statefulset.runner.repository` | The Gitea Runner image | `runner` |
| `statefulset.runner.tag` | The Gitea Runner tag | `2.0.1` |
| `statefulset.runner.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `statefulset.runner.pullPolicy` | The Gitea Runner pullPolicy | `IfNotPresent` |
| `statefulset.runner.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| `statefulset.runner.resources` | Resource requests/limits for the runner container. Takes precedence over statefulset.resources when set. | `{}` |
| `statefulset.runner.extraVolumeMounts` | Allows mounting extra volumes in the Gitea Runner container | `[]` |
| `statefulset.runner.extraEnvs` | Allows adding custom environment variables | `[]` |
| `statefulset.runner.flushCache` | whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time | `false` |
| `statefulset.runner.config` | Gitea Runner custom configuration. See [Gitea Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
| `statefulset.dind.rootless` | a simple flag to let helm know we are dealing with a rootless dind container | `false` |
| `statefulset.dind.uid` | a field to set the running user id for the rootless dind container, so it knows where to look for the socket | `""` |
| `statefulset.dind.registry` | image registry, e.g. gcr.io,docker.io | `docker.io` |
| `statefulset.dind.repository` | The Docker-in-Docker image | `docker` |
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `29.5.2-dind` |
| `statefulset.dind.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `statefulset.dind.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
| `statefulset.dind.resources` | Resource requests/limits for the DinD sidecar container. Takes precedence over statefulset.resources when set. | `{}` |
| `statefulset.dind.extraVolumeMounts` | Allows mounting extra volumes in the Docker-in-Docker container | `[]` |
| `statefulset.dind.extraEnvs` | Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY` | `[]` |
| `statefulset.dind.extraArgs` | Allows adding custom arguments to the Docker Daemon | `[]` |
### Gitea Actions Init
| Name | Description | Value |
| ------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------- |
| `init.image.registry` | image registry, e.g. gcr.io,docker.io | `""` |
| `init.image.repository` | The init image | `busybox` |
| `init.image.tag` | the init image tag | `1.37.0` |
| `init.image.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `init.image.pullPolicy` | The init image pullPolicy | `IfNotPresent` |
| `init.image.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| Name | Description | Value |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------- |
| `init.image.registry` | Image registry, e.g. gcr.io,docker.io | `""` |
| `init.image.repository` | The init image (default: busyboxy but can be changed to alpine e.g.) | `busybox` |
| `init.image.tag` | The init image tag | `1.38.0` |
| `init.image.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `init.image.pullPolicy` | The init image pullPolicy | `IfNotPresent` |
| `init.image.fullOverride` | Completely overrides the image registry, path/image, tag and digest | `""` |
| `init.connectionCommandOverride` | Possiblity to change the command with which the container tests its connection to the Gitea server | `""` |
| `init.preConnectionCommandOverride` | Possibility to add commands that happen before the connection test loop | `""` |
### Runner Token Secret Configuration
| Name | Description | Value |
| ------------------- | ------------------------------ | ----- |
| `existingSecret` | Secret that contains the token | `""` |
| `existingSecretKey` | Secret key | `""` |
### Gitea URL Setting
| Name | Description | Value |
| -------------- | ------------------------------------------------ | ----- |
| `giteaRootURL` | URL the Gitea Runner registers and connects with | `""` |
### Extra Init Containers
| Name | Description | Value |
| ------------------------- | ----------------------------------------------------------------------------------------------- | ----- |
| `preExtraInitContainers` | Additional init containers to run in the pod before Gitea-actions runs it owns init containers. | `[]` |
| `postExtraInitContainers` | Additional init containers to run in the pod after Gitea-actions runs it owns init containers. | `[]` |
### Global
| Name | Description | Value |
| ---------------------- | ------------------------------ | ----- |
| `global.imageRegistry` | global image registry override | `""` |
| `global.storageClass` | global storage class override | `""` |
| Name | Description | Value |
| ------------------------- | ---------------------------------- | ----- |
| `global.imageRegistry` | global image registry override | `""` |
| `global.imagePullSecrets` | global image registry pull secrets | `[]` |
| `global.storageClass` | global storage class override | `""` |
+2 -1
View File
@@ -1,3 +1,4 @@
# Gitea Actions Helm Chart Docs
- [Share dind with job container](share-dind-with-job-container.md)
- [Resource limits and capacity](./resources.md)
- [connectionCommandOverride explanation](./connectionCommandOverride.md)
-33
View File
@@ -1,33 +0,0 @@
# Gitea Actions
In order to use the Gitea Actions act-runner you must either:
- enable persistence (used for automatic deployment to be able to store the token in a place accessible for the Job)
- create a secret containing the act runner token and reference it as a `existingSecret`
In order to use Gitea Actions, you must log on the server that's running Gitea and run the command:
`gitea actions generate-runner-token`
This command will out a token that is needed by the act-runner to register with the Gitea backend.
Because this is a manual operation, we automated this using a Kubernetes Job using the following containers:
1) `actions-token-create`: it uses the current `gitea-rootless` image, mounts the persistent directory to `/data/` then it saves the output from `gitea actions generate-runner-token` to `/data/actions/token`
2) `actions-token-upload`: it uses a `bitnami/kubectl` image, mounts the scripts directory (`/scripts`) and
the persistent directory (`/data/`), and using the script from `/scripts/token.sh` stores the token in a Kubernetes secret
After the token is stored in a Kubernetes secret we can create the statefulset that contains the following containers:
1) `act-runner`: authenticates with Gitea using the token that was stored in the secret
2) `dind`: DockerInDocker image that is used to run the actions
If you are not using persistent volumes, you cannot use the Job to automatically generate the token.
In this case, you can use either the Web UI to generate the token or run a shell into a Gitea pod and invoke
the command `gitea actions generate-runner-token`. After generating the token, you must create a secret and use it via:
```yaml
provisioning:
enabled: false
existingSecret: "secret-name"
existingSecretKey: "secret-key"
```
+48
View File
@@ -0,0 +1,48 @@
# Using a custom connectionCommand
By default, before the container starts it tries to reach the given giteaRootURL.
Normally this is done by the busybox image using the wget binary.
However, due to [Issue #162](https://gitea.com/gitea/helm-actions/issues/162) there has been a change made where we can customize that command.
Using the `values.yaml` file by default it calls `wget --spider --no-check-certificate <your giteaRootURL>` with a timeout of 10 seconds.
But with a custom init section like detailed below we can make our check compliant with whatever certificate you have.
Assuming:
```yaml
enabled: true
giteaRootURL: https://gitea.com
existingSecret: foo
existingSecretKey: bar
init:
image:
registry: ""
repository: alpine
# Overrides the image tag whose default is the chart appVersion.
tag: "3.24"
digest: ""
pullPolicy: IfNotPresent
fullOverride: ""
connectionCommandOverride: "curl -I"
preConnectionCommandOverride: "apk add curl"
```
This now creates the following template section:
```yaml
- name: init-gitea
image: "alpine:latest"
command:
- sh
- -c
- |
apk add curl
echo 'Trying to reach Gitea on https://gitea.com'
until timeout 10 curl -I https://gitea.com; do
sleep 3
echo "Trying again in 3 seconds..."
done
echo "Gitea has been reached!"
```
+173
View File
@@ -0,0 +1,173 @@
# Resource limits and capacity
By default, all resource values are empty (`{}`). Without explicit limits, runner pods can consume unbounded CPU and memory on a node. This guide explains how to configure resource usage properly.
## Pod architecture
Each runner pod contains two resource-consuming containers:
| Container | Role | Helm value |
| --- | --- | --- |
| `runner` | Polls Gitea and orchestrates CI jobs | `statefulset.runner.resources` |
| `dind` | Docker-in-Docker daemon; executes job containers | `statefulset.dind.resources` |
The DinD container runs as a native sidecar (`initContainer` with `restartPolicy: Always`).
## Helm resource keys
Three values control Kubernetes resource requests and limits:
| Key | Purpose |
| --- | --- |
| `statefulset.resources` | Shared fallback applied to **both** containers when no override is set |
| `statefulset.runner.resources` | Override for the `runner` container only |
| `statefulset.dind.resources` | Override for the `dind` container only |
Precedence:
```text
statefulset.runner.resources → else statefulset.resources
statefulset.dind.resources → else statefulset.resources
```
**Recommendation:** set `statefulset.runner.resources` and `statefulset.dind.resources`
explicitly instead of relying on the shared fallback. The runner process is lightweight;
DinD and CI workloads need most of the budget.
## Example: separate runner and DinD limits
```yaml
enabled: true
giteaRootURL: https://gitea.example.com
existingSecret: runner-secret
existingSecretKey: runner-token
statefulset:
replicas: 1
runner:
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
config: |
log:
level: info
cache:
enabled: false
runner:
capacity: 1
container:
require_docker: true
docker_timeout: 300s
dind:
resources:
requests:
cpu: 500m
memory: 2Gi
limits:
cpu: 2
memory: 4Gi
```
## Two layers of limiting
Kubernetes limits and act-runner job limits serve different purposes. Use both for a robust setup.
### 1. Kubernetes limits (Helm values)
These apply to the `runner` and `dind` containers in the pod.
- **`dind` limits** cap the Docker daemon and everything it runs inside the pod (images, build caches, job containers).
- **`runner` limits** cap the act-runner process itself.
If neither is set, a runaway build can exhaust the entire node.
### 2. Per-job Docker limits (`container.options`)
CI jobs run as Docker containers spawned by act-runner through the Docker socket. They are
**not** separate Kubernetes containers. Configure per-job limits in `statefulset.runner.config`
— see [act-runner configuration](https://docs.gitea.com/usage/actions/act-runner#configuration)
and [config.example.yaml](https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml).
## act-runner settings that affect resource usage
Settings such as `runner.capacity` and `container.options` live in `statefulset.runner.config`, not in the Helm resource values. Refer to the runner documentation for details:
- [act-runner configuration](https://docs.gitea.com/usage/actions/act-runner#configuration)
- [config.example.yaml](https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml) in the [Gitea/runner](https://gitea.com/gitea/runner) repository
When concurrent jobs or per-job Docker limits increase expected load, size `statefulset.dind.resources` accordingly on the Helm side.
## Capacity planning
These formulas apply to the Helm resource values (`statefulset.runner.resources`, `statefulset.dind.resources`, `statefulset.replicas`):
### Per pod
```text
pod budget ≈ runner.limits + dind.limits
```
### Per node
```text
node budget ≈ (runner.limits + dind.limits) × statefulset.replicas + system overhead
```
Example with the configuration above and `replicas: 3`:
- runner: 512Mi × 3 = 1.5Gi
- dind: 4Gi × 3 = 12Gi
- total: ~13.5Gi minimum, excluding other workloads on the node
Use `statefulset.nodeSelector` and `statefulset.tolerations` to place runners on dedicated nodes when needed.
## Why not only set `statefulset.resources`?
Before chart 0.1.2, one value was copied to **both** containers. **Requests** are where it
hurts most: the scheduler reserves capacity per container, and both inherit the same numbers.
```yaml
# Only statefulset.resources — requests copied to runner AND dind:
statefulset:
resources:
requests:
cpu: 500m
memory: 2Gi # what DinD needs…
# runner also requests 500m + 2Gi → pod ~1 CPU + ~4Gi reserved (mostly wasted)
# dind requests 500m + 2Gi ✓
```
```yaml
statefulset:
resources:
requests:
cpu: 100m
memory: 256Mi # what the runner actually needs…
# runner requests 100m + 256Mi ✓
# dind requests 100m + 256Mi too → tiny slot, builds starve ✗
```
```yaml
# Separate overrides — scheduler sees the real footprint:
statefulset:
resources: {}
runner:
resources:
requests:
cpu: 100m
memory: 256Mi
dind:
resources:
requests:
cpu: 500m
memory: 2Gi
# pod requests ~600m CPU + ~2.25Gi RAM — not 1 CPU + 4Gi, nor 200m + 512Mi
```
Limits follow the same split. Unset overrides (`{}`) still fall back to `statefulset.resources`.
-36
View File
@@ -1,36 +0,0 @@
# Share dind with job container
You can weaken isolation and allow jobs to call docker commands.
## Limitations
- Docker bind mounts like `-v /path/on/self/container:/path/to/new/container` do not work, because they are going to mount the path from the dind container
- Docker port expose to local host `-e 80:8080` is not going to work
## Example Values
```yaml
enabled: true
statefulset:
actRunner:
# See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
config: |
log:
level: debug
cache:
enabled: false
container:
valid_volumes:
- /var/run/docker.sock
options: -v /var/run/docker.sock:/var/run/docker.sock
## Specify an existing token secret
##
existingSecret: "runner-token2"
existingSecretKey: "token"
## Specify the root URL of the Gitea instance
giteaRootURL: "http://192.168.1.2:3000"
```
Now you can run docker commands inside your jobs.
+1 -1
View File
@@ -14,6 +14,6 @@
},
"devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.7.0",
"markdownlint-cli": "^0.47.0"
"markdownlint-cli": "^0.49.0"
}
}
+116 -116
View File
@@ -12,8 +12,8 @@ importers:
specifier: ^2.7.0
version: 2.7.2
markdownlint-cli:
specifier: ^0.47.0
version: 0.47.0
specifier: ^0.49.0
version: 0.49.1
packages:
@@ -21,16 +21,8 @@ packages:
resolution: {integrity: sha512-7eXyJzxQTQj2ajpHlIhadciCCYWOqN8ieaweU25bStHOZowQ2c2CQyjO/bX4gxIf73LoRKxHhEYgLTllJY9SIw==}
hasBin: true
'@isaacs/balanced-match@4.0.1':
resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
engines: {node: 20 || >=22}
'@isaacs/brace-expansion@5.0.1':
resolution: {integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==}
engines: {node: 20 || >=22}
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
'@types/debug@4.1.13':
resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==}
'@types/katex@0.16.8':
resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
@@ -51,8 +43,16 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
balanced-match@4.0.4:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
brace-expansion@1.1.16:
resolution: {integrity: sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==}
brace-expansion@5.0.8:
resolution: {integrity: sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==}
engines: {node: 20 || >=22}
character-entities-legacy@3.0.0:
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
@@ -67,9 +67,9 @@ packages:
resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
engines: {node: '>=18'}
commander@14.0.3:
resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
engines: {node: '>=20'}
commander@15.0.0:
resolution: {integrity: sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==}
engines: {node: '>=22.12.0'}
commander@6.2.1:
resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
@@ -125,16 +125,16 @@ packages:
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
get-east-asian-width@1.4.0:
resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
get-east-asian-width@1.6.0:
resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
engines: {node: '>=18'}
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
ignore@7.0.5:
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
ignore@7.0.6:
resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==}
engines: {node: '>= 4'}
inflight@1.0.6:
@@ -144,9 +144,9 @@ packages:
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
ini@4.1.3:
resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
ini@7.0.0:
resolution: {integrity: sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w==}
engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
is-alphabetical@2.0.1:
resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
@@ -160,8 +160,8 @@ packages:
is-hexadecimal@2.0.1:
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
js-yaml@4.1.1:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
js-yaml@5.2.2:
resolution: {integrity: sha512-dayzUzKkJ1MkuUtZglSebU43utNXH0OWQByK9rKOOuYIO8M5TV1y+n8ALMdG0rdzBnfNkOmZEqrURepb0ejqBw==}
hasBin: true
jsonc-parser@3.3.1:
@@ -171,34 +171,34 @@ packages:
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
engines: {node: '>=0.10.0'}
katex@0.16.28:
resolution: {integrity: sha512-YHzO7721WbmAL6Ov1uzN/l5mY5WWWhJBSW+jq4tkfZfsxmo1hu6frS0EOswvjBUnWE6NtjEs48SFn5CQESRLZg==}
katex@0.16.47:
resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==}
hasBin: true
linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
linkify-it@5.0.2:
resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==}
lodash@4.17.23:
resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
lodash@4.18.1:
resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
markdown-it@14.1.0:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
markdown-it@14.3.0:
resolution: {integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==}
hasBin: true
markdown-table@2.0.0:
resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==}
markdownlint-cli@0.47.0:
resolution: {integrity: sha512-HOcxeKFAdDoldvoYDofd85vI8LgNWy8vmYpCwnlLV46PJcodmGzD7COSSBlhHwsfT4o9KrAStGodImVBus31Bg==}
engines: {node: '>=20'}
markdownlint-cli@0.49.1:
resolution: {integrity: sha512-qpYqJbSYf3jv57bdnFmCaZ/Wlu6IYHp2b6SOKrKBJ7OnPrDHIKmx4NERWH49QH9viTI6yO6raVDDn5nrf60VQQ==}
engines: {node: '>=22'}
hasBin: true
markdownlint@0.40.0:
resolution: {integrity: sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==}
engines: {node: '>=20'}
markdownlint@0.41.1:
resolution: {integrity: sha512-qHKeU2E1bdyNAT077go2FVTNXvYcktN5IHtF6XyeD1l0PClxzSp2tUApAV14ORI8DGX4H9bNKZEzelZp4qn8IA==}
engines: {node: '>=22'}
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
mdurl@2.1.0:
resolution: {integrity: sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==}
micromark-core-commonmark@2.0.3:
resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
@@ -275,12 +275,12 @@ packages:
micromark@4.0.2:
resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
minimatch@10.1.2:
resolution: {integrity: sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==}
engines: {node: 20 || >=22}
minimatch@10.2.5:
resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
engines: {node: 18 || 20 || >=22}
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
@@ -298,8 +298,8 @@ packages:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
picomatch@4.0.3:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
picomatch@4.0.5:
resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==}
engines: {node: '>=12'}
punycode.js@2.3.1:
@@ -310,28 +310,28 @@ packages:
resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
engines: {node: '>=0.10'}
run-con@1.3.2:
resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==}
run-con@1.3.3:
resolution: {integrity: sha512-Lb7OKM9aaykzyoNiHGhSVCjZsvbyy6qDMp2vDXL+MoCfz3GfNJtHYH7uYsU3QNMyInBk++xx+EZ8xZ8Sxs5fNQ==}
hasBin: true
smol-toml@1.5.2:
resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==}
smol-toml@1.7.0:
resolution: {integrity: sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==}
engines: {node: '>= 18'}
string-width@8.1.0:
resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==}
string-width@8.2.1:
resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==}
engines: {node: '>=20'}
strip-ansi@7.1.2:
resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
strip-ansi@7.2.0:
resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
engines: {node: '>=12'}
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
tinyglobby@0.2.17:
resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
engines: {node: '>=12.0.0'}
uc.micro@2.1.0:
@@ -340,8 +340,8 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
yaml@2.8.2:
resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
yaml@2.9.0:
resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
engines: {node: '>= 14.6'}
hasBin: true
@@ -351,17 +351,11 @@ snapshots:
dependencies:
commander: 13.1.0
dot-object: 2.1.5
lodash: 4.17.23
lodash: 4.18.1
markdown-table: 2.0.0
yaml: 2.8.2
yaml: 2.9.0
'@isaacs/balanced-match@4.0.1': {}
'@isaacs/brace-expansion@5.0.1':
dependencies:
'@isaacs/balanced-match': 4.0.1
'@types/debug@4.1.12':
'@types/debug@4.1.13':
dependencies:
'@types/ms': 2.1.0
@@ -377,11 +371,17 @@ snapshots:
balanced-match@1.0.2: {}
brace-expansion@1.1.12:
balanced-match@4.0.4: {}
brace-expansion@1.1.16:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
brace-expansion@5.0.8:
dependencies:
balanced-match: 4.0.4
character-entities-legacy@3.0.0: {}
character-entities@2.0.2: {}
@@ -390,7 +390,7 @@ snapshots:
commander@13.1.0: {}
commander@14.0.3: {}
commander@15.0.0: {}
commander@6.2.1: {}
@@ -421,24 +421,24 @@ snapshots:
entities@4.5.0: {}
fdir@6.5.0(picomatch@4.0.3):
fdir@6.5.0(picomatch@4.0.5):
optionalDependencies:
picomatch: 4.0.3
picomatch: 4.0.5
fs.realpath@1.0.0: {}
get-east-asian-width@1.4.0: {}
get-east-asian-width@1.6.0: {}
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
minimatch: 3.1.2
minimatch: 3.1.5
once: 1.4.0
path-is-absolute: 1.0.1
ignore@7.0.5: {}
ignore@7.0.6: {}
inflight@1.0.6:
dependencies:
@@ -447,7 +447,7 @@ snapshots:
inherits@2.0.4: {}
ini@4.1.3: {}
ini@7.0.0: {}
is-alphabetical@2.0.1: {}
@@ -460,7 +460,7 @@ snapshots:
is-hexadecimal@2.0.1: {}
js-yaml@4.1.1:
js-yaml@5.2.2:
dependencies:
argparse: 2.0.1
@@ -468,22 +468,22 @@ snapshots:
jsonpointer@5.0.1: {}
katex@0.16.28:
katex@0.16.47:
dependencies:
commander: 8.3.0
linkify-it@5.0.0:
linkify-it@5.0.2:
dependencies:
uc.micro: 2.1.0
lodash@4.17.23: {}
lodash@4.18.1: {}
markdown-it@14.1.0:
markdown-it@14.3.0:
dependencies:
argparse: 2.0.1
entities: 4.5.0
linkify-it: 5.0.0
mdurl: 2.0.0
linkify-it: 5.0.2
mdurl: 2.1.0
punycode.js: 2.3.1
uc.micro: 2.1.0
@@ -491,24 +491,24 @@ snapshots:
dependencies:
repeat-string: 1.6.1
markdownlint-cli@0.47.0:
markdownlint-cli@0.49.1:
dependencies:
commander: 14.0.3
commander: 15.0.0
deep-extend: 0.6.0
ignore: 7.0.5
js-yaml: 4.1.1
ignore: 7.0.6
js-yaml: 5.2.2
jsonc-parser: 3.3.1
jsonpointer: 5.0.1
markdown-it: 14.1.0
markdownlint: 0.40.0
minimatch: 10.1.2
run-con: 1.3.2
smol-toml: 1.5.2
tinyglobby: 0.2.15
markdown-it: 14.3.0
markdownlint: 0.41.1
minimatch: 10.2.5
run-con: 1.3.3
smol-toml: 1.7.0
tinyglobby: 0.2.17
transitivePeerDependencies:
- supports-color
markdownlint@0.40.0:
markdownlint@0.41.1:
dependencies:
micromark: 4.0.2
micromark-core-commonmark: 2.0.3
@@ -518,11 +518,11 @@ snapshots:
micromark-extension-gfm-table: 2.1.1
micromark-extension-math: 3.1.0
micromark-util-types: 2.0.2
string-width: 8.1.0
string-width: 8.2.1
transitivePeerDependencies:
- supports-color
mdurl@2.0.0: {}
mdurl@2.1.0: {}
micromark-core-commonmark@2.0.3:
dependencies:
@@ -583,7 +583,7 @@ snapshots:
dependencies:
'@types/katex': 0.16.8
devlop: 1.1.0
katex: 0.16.28
katex: 0.16.47
micromark-factory-space: 2.0.1
micromark-util-character: 2.1.1
micromark-util-symbol: 2.0.1
@@ -676,7 +676,7 @@ snapshots:
micromark@4.0.2:
dependencies:
'@types/debug': 4.1.12
'@types/debug': 4.1.13
debug: 4.4.3
decode-named-character-reference: 1.3.0
devlop: 1.1.0
@@ -696,13 +696,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
minimatch@10.1.2:
minimatch@10.2.5:
dependencies:
'@isaacs/brace-expansion': 5.0.1
brace-expansion: 5.0.8
minimatch@3.1.2:
minimatch@3.1.5:
dependencies:
brace-expansion: 1.1.12
brace-expansion: 1.1.16
minimist@1.2.8: {}
@@ -724,39 +724,39 @@ snapshots:
path-is-absolute@1.0.1: {}
picomatch@4.0.3: {}
picomatch@4.0.5: {}
punycode.js@2.3.1: {}
repeat-string@1.6.1: {}
run-con@1.3.2:
run-con@1.3.3:
dependencies:
deep-extend: 0.6.0
ini: 4.1.3
ini: 7.0.0
minimist: 1.2.8
strip-json-comments: 3.1.1
smol-toml@1.5.2: {}
smol-toml@1.7.0: {}
string-width@8.1.0:
string-width@8.2.1:
dependencies:
get-east-asian-width: 1.4.0
strip-ansi: 7.1.2
get-east-asian-width: 1.6.0
strip-ansi: 7.2.0
strip-ansi@7.1.2:
strip-ansi@7.2.0:
dependencies:
ansi-regex: 6.2.2
strip-json-comments@3.1.1: {}
tinyglobby@0.2.15:
tinyglobby@0.2.17:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
fdir: 6.5.0(picomatch@4.0.5)
picomatch: 4.0.5
uc.micro@2.1.0: {}
wrappy@1.0.2: {}
yaml@2.8.2: {}
yaml@2.9.0: {}
-1
View File
@@ -1,5 +1,4 @@
{{- if .Values.enabled -}}
{{- if or (empty .Values.existingSecret) (empty .Values.existingSecretKey) -}}
{{- fail "existingSecret and existingSecretKey are required when provisioning is disabled" -}}
{{- end -}}
+31 -17
View File
@@ -14,14 +14,14 @@ If release name contains chart name it will be used as a full name.
*/}}
{{- define "gitea.actions.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s" .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
@@ -36,7 +36,7 @@ Create a default worker name.
Create chart name and version as used by the chart label.
*/}}
{{- define "gitea.actions.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
@@ -46,7 +46,7 @@ Storage Class
{{- $storageClass := default (tpl ( default "" .Values.global.storageClass) .) }}
{{- if $storageClass }}
storageClassName: {{ $storageClass | quote }}
{{- end }}
{{- end -}}
{{- end -}}
{{/*
@@ -61,10 +61,10 @@ version: {{ default .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{- define "gitea.actions.labels.actRunner" -}}
{{- define "gitea.actions.labels.runner" -}}
helm.sh/chart: {{ include "gitea.actions.chart" . }}
app: {{ include "gitea.actions.name" . }}-act-runner
{{ include "gitea.actions.selectorLabels.actRunner" . }}
app: {{ include "gitea.actions.name" . }}-runner
{{ include "gitea.actions.selectorLabels.runner" . }}
app.kubernetes.io/version: {{ default .Chart.AppVersion | quote }}
version: {{ default .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
@@ -78,8 +78,8 @@ app.kubernetes.io/name: {{ include "gitea.actions.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "gitea.actions.selectorLabels.actRunner" -}}
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}-act-runner
{{- define "gitea.actions.selectorLabels.runner" -}}
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}-runner
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
@@ -112,8 +112,15 @@ Common create image implementation
{{/*
Create image for the Gitea Actions Act Runner
*/}}
{{- define "gitea.actions.actRunner.image" -}}
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.actRunner) }}
{{- define "gitea.actions.runner.image" -}}
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.runner) }}
{{- end -}}
{{/*
Resolve resource requests/limits for the runner container.
*/}}
{{- define "gitea.actions.runner.resources" -}}
{{- toYaml (default .Values.statefulset.resources .Values.statefulset.runner.resources) -}}
{{- end -}}
{{/*
@@ -123,9 +130,16 @@ Create image for DinD
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.dind) }}
{{- end -}}
{{/*
Resolve resource requests/limits for the DinD container.
*/}}
{{- define "gitea.actions.dind.resources" -}}
{{- toYaml (default .Values.statefulset.resources .Values.statefulset.dind.resources) -}}
{{- end -}}
{{/*
Create image for Init
*/}}
{{- define "gitea.actions.init.image" -}}
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.init.image) }}
{{- end -}}
{{- end -}}
@@ -3,17 +3,17 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
name: {{ include "gitea.actions.fullname" . }}-runner-configmap
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
data:
config.yaml: |
{{- with .Values.statefulset.actRunner.config -}}
{{- with .Values.statefulset.runner.config -}}
{{- if kindIs "string" . -}}
{{ . | nindent 4}}
{{ . | nindent 4}}
{{- else -}}
{{ toYaml . | nindent 4}}
{{ toYaml . | nindent 4}}
{{- end -}}
{{- end -}}
{{- end }}
+90 -25
View File
@@ -5,7 +5,7 @@ apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
{{- include "gitea.actions.labels.actRunner" . | nindent 4 }}
{{- include "gitea.actions.labels.runner" . | nindent 4 }}
{{- with .Values.statefulset.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
@@ -13,102 +13,167 @@ metadata:
{{- with .Values.statefulset.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "gitea.actions.fullname" . }}-act-runner
name: {{ include "gitea.actions.fullname" . }}-runner
namespace: {{ .Values.namespace | default .Release.Namespace }}
spec:
replicas: {{ .Values.statefulset.replicas | default 1 }}
selector:
matchLabels:
{{- include "gitea.actions.selectorLabels.actRunner" . | nindent 6 }}
{{- include "gitea.actions.selectorLabels.runner" . | nindent 6 }}
template:
metadata:
annotations:
checksum/config: {{ include (print $.Template.BasePath "/config-act-runner.yaml") . | sha256sum }}
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
labels:
{{- include "gitea.actions.labels.actRunner" . | nindent 8 }}
{{- include "gitea.actions.labels.runner" . | nindent 8 }}
{{- with .Values.statefulset.labels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
restartPolicy: Always
{{- if .Values.statefulset.serviceAccountName }}
serviceAccountName: {{ .Values.statefulset.serviceAccountName | quote }}
{{- end }}
{{- if .Values.statefulset.securityContext }}
securityContext:
{{- toYaml .Values.statefulset.securityContext | nindent 8 }}
{{- end }}
{{- if .Values.statefulset.runtimeClassName }}
runtimeClassName: {{ .Values.statefulset.runtimeClassName | quote }}
{{- end }}
{{- if .Values.statefulset.hostAliases }}
hostAliases:
{{- toYaml .Values.statefulset.hostAliases | nindent 8 }}
{{- end }}
initContainers:
- name: init-gitea
{{- if .Values.preExtraInitContainers }}
{{- toYaml .Values.preExtraInitContainers | nindent 8 }}
{{- end }}
{{- if .Values.statefulset.runner.flushCache }}
- name: cache-flusher
image: "{{ include "gitea.actions.init.image" . }}"
command:
- sh
- -c
- |
if [[ -f /data/.runner ]]; then
echo "Removing cache at /data/.runner"
rm -v /data/.runner
else
echo "No .runner file to remove"
fi
volumeMounts:
- mountPath: /data
name: data-runner
{{- end }}
- name: reach-gitea
image: "{{ include "gitea.actions.init.image" . }}"
command:
- sh
- -c
- |
{{- if .Values.init.preConnectionCommandOverride }}
{{ .Values.init.preConnectionCommandOverride }}
{{- end }}
echo 'Trying to reach Gitea on {{ include "gitea.actions.local_root_url" . }}'
{{- if .Values.init.connectionCommandOverride }}
until timeout 10 {{ .Values.init.connectionCommandOverride }} {{ include "gitea.actions.local_root_url" . }}; do
{{- else }}
until timeout 10 wget --no-check-certificate --spider {{ include "gitea.actions.local_root_url" . }}; do
{{- end }}
sleep 3
echo "Trying again in 3 seconds..."
done
echo "Gitea has been reached!"
- name: dind
image: "{{ include "gitea.actions.dind.image" . }}"
restartPolicy: Always
imagePullPolicy: {{ .Values.statefulset.dind.pullPolicy }}
{{- if .Values.statefulset.dind.extraEnvs }}
env:
{{- toYaml .Values.statefulset.dind.extraEnvs | nindent 12 }}
{{- end }}
restartPolicy: Always
securityContext:
privileged: true
{{- if .Values.statefulset.dind.extraArgs }}
args:
{{- toYaml .Values.statefulset.dind.extraArgs | nindent 12 }}
{{- end }}
startupProbe:
exec:
command:
- /usr/bin/test
- -S
{{- if .Values.statefulset.dind.rootless }}
- /run/user/{{ .Values.statefulset.dind.uid | default 1000 }}/docker.sock
{{- else }}
- /var/run/docker.sock
{{- end }}
livenessProbe:
exec:
command:
- /usr/bin/test
- -S
{{- if .Values.statefulset.dind.rootless }}
- /run/user/{{ .Values.statefulset.dind.uid | default 1000 }}/docker.sock
{{- else }}
- /var/run/docker.sock
{{- end }}
resources:
{{- toYaml .Values.statefulset.resources | nindent 12 }}
{{- include "gitea.actions.dind.resources" . | nindent 12 }}
volumeMounts:
{{- if .Values.statefulset.dind.rootless }}
- mountPath: /run/user/{{ .Values.statefulset.dind.uid | default 1000 }}/
{{- else }}
- mountPath: /var/run/
{{- end }}
name: docker-socket
{{- with .Values.statefulset.dind.extraVolumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- if .Values.postExtraInitContainers }}
{{- toYaml .Values.postExtraInitContainers | nindent 8 }}
{{- end }}
containers:
- name: act-runner
image: "{{ include "gitea.actions.actRunner.image" . }}"
imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }}
- name: runner
image: "{{ include "gitea.actions.runner.image" . }}"
imagePullPolicy: {{ .Values.statefulset.runner.pullPolicy }}
workingDir: /data
env:
- name: GITEA_RUNNER_REGISTRATION_TOKEN
valueFrom:
secretKeyRef:
name: "{{ .Values.existingSecret | default $secretName }}"
key: "{{ .Values.existingSecretKey | default "token" }}"
name: "{{ (tpl .Values.existingSecret . ) | default $secretName }}"
key: "{{ (tpl .Values.existingSecretKey . ) | default "token" }}"
- name: GITEA_INSTANCE_URL
value: {{ include "gitea.actions.local_root_url" . }}
- name: CONFIG_FILE
value: /actrunner/config.yaml
value: /runner/config.yaml
- name: TZ
value: {{ .Values.statefulset.timezone | default "Etc/UTC" }}
{{- if .Values.statefulset.actRunner.extraEnvs }}
{{- toYaml .Values.statefulset.actRunner.extraEnvs | nindent 12 }}
{{- if .Values.statefulset.runner.extraEnvs }}
{{- toYaml .Values.statefulset.runner.extraEnvs | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.statefulset.resources | nindent 12 }}
{{- include "gitea.actions.runner.resources" . | nindent 12 }}
volumeMounts:
- mountPath: /actrunner/config.yaml
name: act-runner-config
- mountPath: /runner/config.yaml
name: runner-config
subPath: config.yaml
- mountPath: /var/run/docker.sock
name: docker-socket
subPath: docker.sock
- mountPath: /data
name: data-act-runner
{{- with .Values.statefulset.actRunner.extraVolumeMounts }}
name: data-runner
{{- with .Values.statefulset.runner.extraVolumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- range $key, $value := .Values.statefulset.nodeSelector }}
nodeSelector:
{{ $key }}: {{ $value | quote }}
@@ -122,9 +187,9 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
- name: act-runner-config
- name: runner-config
configMap:
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
name: {{ include "gitea.actions.fullname" . }}-runner-configmap
- name: docker-socket
emptyDir: {}
{{- with .Values.statefulset.extraVolumes }}
@@ -132,10 +197,10 @@ spec:
{{- end }}
volumeClaimTemplates:
- metadata:
name: data-act-runner
name: data-runner
spec:
accessModes: [ "ReadWriteOnce" ]
{{- include "gitea.actions.persistence.storageClass" . | nindent 8 }}
{{- include "gitea.actions.persistence.storageClass" . | indent 8 }}
resources:
requests:
storage: {{ .Values.statefulset.persistence.size }}
+1 -1
View File
@@ -1,6 +1,6 @@
suite: actions template | consistency checks
release:
name: gitea-unittests
name: gitea-actions-unittests
namespace: testing
templates:
- templates/01-consistency-checks.yaml
@@ -1,22 +1,22 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
suite: actions template | config-act-runner
suite: actions template | configmap
release:
name: gitea-unittests
name: gitea-actions-unittests
namespace: testing
templates:
- templates/config-act-runner.yaml
- templates/configmap.yaml
tests:
- it: doesn't renders a ConfigMap by default
template: templates/config-act-runner.yaml
template: templates/configmap.yaml
asserts:
- hasDocuments:
count: 0
- it: renders a ConfigMap
template: templates/config-act-runner.yaml
template: templates/configmap.yaml
set:
enabled: true
statefulset:
actRunner:
runner:
config: |
log:
level: info
@@ -31,7 +31,7 @@ tests:
- containsDocument:
kind: ConfigMap
apiVersion: v1
name: gitea-unittests-actions-act-runner-config
name: gitea-actions-unittests-runner-configmap
- equal:
path: data["config.yaml"]
value: |
@@ -43,12 +43,12 @@ tests:
labels:
- "ubuntu-latest"
- it: renders a ConfigMap with inline yaml
template: templates/config-act-runner.yaml
template: templates/configmap.yaml
set:
enabled: true
statefulset:
actRunner:
config:
runner:
config: |
container:
valid_volumes:
- /var/run/docker.sock
@@ -59,7 +59,7 @@ tests:
- containsDocument:
kind: ConfigMap
apiVersion: v1
name: gitea-unittests-actions-act-runner-config
name: gitea-actions-unittests-runner-configmap
- matchRegex:
path: data["config.yaml"]
pattern: '(?m)^\s*options:\s*-v /var/run/docker.sock:/var/run/docker.sock\s*$'
+329 -257
View File
@@ -1,173 +1,41 @@
suite: actions template | statefulset
release:
name: gitea-unittests
name: gitea-actions-unittests
namespace: testing
templates:
- templates/statefulset.yaml
- templates/config-act-runner.yaml
- templates/configmap.yaml
tests:
- it: act-runner uses fullOverride
#
## GENERIC
#
- it: doesn't renders a StatefulSet by default
template: templates/statefulset.yaml
asserts:
- hasDocuments:
count: 0
- it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
template: templates/statefulset.yaml
set:
image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
statefulset.actRunner.fullOverride: test.io/act_runner:x.y.z
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].image
value: test.io/act_runner:x.y.z
- it: act-runner uses digest
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
statefulset.actRunner.tag: 0.2.13
statefulset.actRunner.digest: sha256:abcdef123456
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.containers[0].image
value: docker.gitea.com/act_runner:0.2.13@sha256:abcdef123456
- it: act-runner uses global.imageRegistry
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
global.imageRegistry: test.io
statefulset.actRunner.tag: 0.2.13
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.containers[0].image
value: test.io/act_runner:0.2.13
- it: dind uses fullOverride
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
statefulset.dind.fullOverride: test.io/dind:x.y.z
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.initContainers[1].image
value: test.io/dind:x.y.z
- it: dind uses global.imageRegistry
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
global.imageRegistry: test.io
statefulset.dind.tag: 28.3.3-dind
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.initContainers[1].image
value: test.io/docker:28.3.3-dind
- it: init uses fullOverride
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
init.image.fullOverride: test.io/busybox:x.y.z
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.initContainers[0].image
value: test.io/busybox:x.y.z
- it: init uses global.imageRegistry
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
global.imageRegistry: test.io
init.image.tag: 1.37.0
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.initContainers[0].image
value: test.io/busybox:1.37.0
- it: renders additional environment variables for act-runner container in StatefulSet
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
statefulset:
actRunner:
extraEnvs:
- name: "CUSTOM_ENV"
value: "1"
- name: "GITEA_RUNNER_NAME"
valueFrom:
fieldRef:
fieldPath: metadata.name
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.containers[0].env[4]
value:
name: CUSTOM_ENV
value: "1"
- matchRegex:
path: spec.template.spec.containers[0].env[5].valueFrom.fieldRef.fieldPath
pattern: "metadata\\.name"
- matchRegex:
path: spec.template.spec.containers[0].env[5].name
pattern: "GITEA_RUNNER_NAME"
path: spec.template.metadata.annotations["checksum/config"]
value: "83e4d1bb70cc2a861cd18fdb42537e700d4055d431713e64e28c3874c5660097"
- it: Has fsGroup in securityContext
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
statefulset.securityContext:
fsGroup: 1000
asserts:
@@ -176,16 +44,15 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.securityContext["fsGroup"]
value: 1000
- it: Has fsGroupChangePolicy in securityContext
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
statefulset.securityContext:
fsGroupChangePolicy: OnRootMismatch
asserts:
@@ -194,16 +61,15 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
value: "OnRootMismatch"
- it: Has Always in securityContext
template: templates/statefulset.yaml
set:
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
statefulset.securityContext:
fsGroupChangePolicy: Always
asserts:
@@ -212,15 +78,11 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
value: "Always"
- it: doesn't renders a StatefulSet by default
template: templates/statefulset.yaml
asserts:
- hasDocuments:
count: 0
- it: renders a StatefulSet (with given existingSecret/existingSecretKey)
template: templates/statefulset.yaml
set:
@@ -233,7 +95,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].env[0]
value:
@@ -242,58 +104,19 @@ tests:
secretKeyRef:
name: "my-secret"
key: "my-secret-key"
- it: renders a StatefulSet (with secret reference defaults for enabled provisioning)
template: templates/statefulset.yaml
set:
enabled: true
provisioning:
enabled: true
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.spec.containers[0].env[0]
value:
name: GITEA_RUNNER_REGISTRATION_TOKEN
valueFrom:
secretKeyRef:
name: "gitea-unittests-actions-token"
key: "token"
- it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
template: templates/statefulset.yaml
set:
image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- equal:
path: spec.template.metadata.annotations["checksum/config"]
value: "2bafbf04b3c4293c8ddf895ae3d908e14176ee54a6c724c8cf5b2a1e43c6ece7"
- it: renders a StatefulSet http (with correct GITEA_INSTANCE_URL env from giteaRootURL)
template: templates/statefulset.yaml
set:
giteaRootURL: "http://git.example.com"
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].env[1]
value:
@@ -308,20 +131,19 @@ tests:
echo "Trying again in 3 seconds..."
done
echo "Gitea has been reached!"
- it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
template: templates/statefulset.yaml
set:
giteaRootURL: "https://git.example.com"
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].env[1]
value:
@@ -336,20 +158,19 @@ tests:
echo "Trying again in 3 seconds..."
done
echo "Gitea has been reached!"
- it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
- it: renders a StatefulSet https with explicit port (with correct GITEA_INSTANCE_URL env from giteaRootURL)
template: templates/statefulset.yaml
set:
giteaRootURL: "https://git.example.com:8443"
enabled: true
existingSecret: "my-secret"
existingSecretKey: "my-secret-key"
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].env[1]
value:
@@ -364,6 +185,194 @@ tests:
echo "Trying again in 3 seconds..."
done
echo "Gitea has been reached!"
- it: should render service account name correctly
template: templates/statefulset.yaml
set:
enabled: true
statefulset:
serviceAccountName: "my-service-account"
asserts:
- hasDocuments:
count: 1
- equal:
path: spec.template.spec.serviceAccountName
value: "my-service-account"
- it: should render runtime class name correctly
template: templates/statefulset.yaml
set:
enabled: true
statefulset:
runtimeClassName: "my-runtime-class-name"
asserts:
- hasDocuments:
count: 1
- equal:
path: spec.template.spec.runtimeClassName
value: "my-runtime-class-name"
- it: should render storageClass correctly
template: templates/statefulset.yaml
set:
enabled: true
global:
storageClass: "test-storageclass"
asserts:
- hasDocuments:
count: 1
- equal:
path: spec.volumeClaimTemplates[0].spec.storageClassName
value: "test-storageclass"
#
## GITEA_RUNNER
#
- it: act-runner uses fullOverride
template: templates/statefulset.yaml
set:
enabled: true
statefulset.runner.fullOverride: test.io/runner:x.y.z
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].image
value: test.io/runner:x.y.z
- it: act-runner uses digest
template: templates/statefulset.yaml
set:
enabled: true
statefulset.runner.tag: 1.0.4
statefulset.runner.digest: sha256:abcdef123456
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].image
value: docker.gitea.com/runner:1.0.4@sha256:abcdef123456
- it: act-runner uses global.imageRegistry
template: templates/statefulset.yaml
set:
enabled: true
global.imageRegistry: test.io
statefulset.runner.tag: 1.0.4
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].image
value: test.io/runner:1.0.4
- it: renders additional environment variables for act-runner container in StatefulSet
template: templates/statefulset.yaml
set:
enabled: true
statefulset:
runner:
extraEnvs:
- name: "CUSTOM_ENV"
value: "1"
- name: "GITEA_RUNNER_NAME"
valueFrom:
fieldRef:
fieldPath: metadata.name
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].env[4]
value:
name: CUSTOM_ENV
value: "1"
- matchRegex:
path: spec.template.spec.containers[0].env[5].valueFrom.fieldRef.fieldPath
pattern: "metadata\\.name"
- matchRegex:
path: spec.template.spec.containers[0].env[5].name
pattern: "GITEA_RUNNER_NAME"
- it: should mount an extra volume in the act runner container
template: templates/statefulset.yaml
set:
enabled: true
statefulset:
extraVolumes:
- name: my-act-runner-volume
emptyDir: {}
runner:
extraVolumeMounts:
- mountPath: /mnt
name: my-act-runner-volume
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- contains:
any: true
path: spec.template.spec.containers[0].volumeMounts
content:
mountPath: /mnt
name: my-act-runner-volume
#
## DIND
#
- it: dind uses fullOverride
template: templates/statefulset.yaml
set:
enabled: true
statefulset.dind.fullOverride: test.io/dind:x.y.z
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.initContainers[1].image
value: test.io/dind:x.y.z
- it: dind uses global.imageRegistry
template: templates/statefulset.yaml
set:
enabled: true
global.imageRegistry: test.io
statefulset.dind.tag: 28.3.3-dind
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.initContainers[1].image
value: test.io/docker:28.3.3-dind
- it: allows adding custom environment variables to the docker-in-docker container
template: templates/statefulset.yaml
set:
@@ -379,31 +388,7 @@ tests:
value:
name: "CUSTOM_ENV_NAME"
value: "custom env value"
- it: should mount an extra volume in the act runner container
template: templates/statefulset.yaml
set:
enabled: true
statefulset:
extraVolumes:
- name: my-act-runner-volume
emptyDir: {}
actRunner:
extraVolumeMounts:
- mountPath: /mnt
name: my-act-runner-volume
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
- contains:
any: true
path: spec.template.spec.containers[0].volumeMounts
content:
mountPath: /mnt
name: my-act-runner-volume
- it: should mount an extra volume in the docker-in-docker container
template: templates/statefulset.yaml
set:
@@ -422,42 +407,129 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- contains:
any: true
path: spec.template.spec.initContainers[1].volumeMounts
content:
mountPath: /mnt
name: my-dind-volume
- it: should interpret Gitea Root URL templating
#
## INIT
#
- it: init uses fullOverride
template: templates/statefulset.yaml
set:
global:
gitea:
service:
name: "my-gitea-svc-http"
port: 3210
enabled: true
giteaRootURL: "http://{{ .Values.global.gitea.service.name }}:{{ .Values.global.gitea.service.port }}"
init.image.fullOverride: test.io/busybox:x.y.z
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-unittests-actions-act-runner
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].env[1].name
value: "GITEA_INSTANCE_URL"
path: spec.template.spec.initContainers[0].image
value: test.io/busybox:x.y.z
- it: init uses global.imageRegistry
template: templates/statefulset.yaml
set:
enabled: true
global.imageRegistry: test.io
init.image.tag: 1.37.0
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
- equal:
path: spec.template.spec.containers[0].env[1].value
value: "http://my-gitea-svc-http:3210"
path: spec.template.spec.initContainers[0].image
value: test.io/busybox:1.37.0
#
## RESOURCES
#
- it: shared statefulset.resources applies to both runner and dind containers
template: templates/statefulset.yaml
set:
enabled: true
statefulset.resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
asserts:
- hasDocuments:
count: 1
- equal:
path: spec.template.spec.initContainers[0].command[2]
value: |
echo 'Trying to reach Gitea on http://my-gitea-svc-http:3210'
until timeout 10 wget --no-check-certificate --spider http://my-gitea-svc-http:3210; do
sleep 3
echo "Trying again in 3 seconds..."
done
echo "Gitea has been reached!"
path: spec.template.spec.containers[0].resources
value:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
- equal:
path: spec.template.spec.initContainers[1].resources
value:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
- it: statefulset.runner.resources overrides shared resources for runner container only
template: templates/statefulset.yaml
set:
enabled: true
statefulset.resources:
requests:
memory: "512Mi"
statefulset.runner.resources:
requests:
memory: "256Mi"
asserts:
- hasDocuments:
count: 1
- equal:
path: spec.template.spec.containers[0].resources
value:
requests:
memory: "256Mi"
- equal:
path: spec.template.spec.initContainers[1].resources
value:
requests:
memory: "512Mi"
- it: statefulset.dind.resources overrides shared resources for dind container only
template: templates/statefulset.yaml
set:
enabled: true
statefulset.resources:
requests:
memory: "512Mi"
statefulset.dind.resources:
requests:
memory: "4Gi"
asserts:
- hasDocuments:
count: 1
- equal:
path: spec.template.spec.containers[0].resources
value:
requests:
memory: "512Mi"
- equal:
path: spec.template.spec.initContainers[1].resources
value:
requests:
memory: "4Gi"
+97 -37
View File
@@ -1,40 +1,52 @@
# Configure Gitea Actions
## @section Gitea Actions
## @descriptionStart
## For resource limit examples (runner vs DinD), see [docs/resources.md](./docs/resources.md).
## @descriptionEnd
#
## @param enabled Create an act runner StatefulSet.
## @param init.image.repository The image used for the init containers
## @param init.image.tag The image tag used for the init containers
## @param enabled Create a Gitea Runner StatefulSet.
## @param statefulset.replicas the amount of (replica) runner pods deployed
## @param statefulset.timezone is the timezone that will be set in the act_runner image
## @param statefulset.annotations Act runner annotations
## @param statefulset.labels Act runner labels
## @param statefulset.resources Act runner resources
## @param statefulset.timezone is the timezone that will be set in the runner image
## @param statefulset.annotations Gitea Runner annotations
## @param statefulset.labels Gitea Runner labels
## @param statefulset.resources Shared resource requests/limits for both containers. Overridden by statefulset.runner.resources and statefulset.dind.resources. See docs/resources.md.
## @param statefulset.nodeSelector NodeSelector for the statefulset
## @param statefulset.tolerations Tolerations for the statefulset
## @param statefulset.affinity Affinity for the statefulset
## @param statefulset.extraVolumes Extra volumes for the statefulset
## @param statefulset.actRunner.registry image registry, e.g. gcr.io,docker.io
## @param statefulset.actRunner.repository The Gitea act runner image
## @param statefulset.actRunner.tag The Gitea act runner tag
## @param statefulset.actRunner.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
## @param statefulset.actRunner.pullPolicy The Gitea act runner pullPolicy
## @param statefulset.actRunner.fullOverride Completely overrides the image registry, path/image, tag and digest.
## @param statefulset.actRunner.extraVolumeMounts Allows mounting extra volumes in the act runner container
## @param statefulset.actRunner.config [default: Too complex. See values.yaml] Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
## @param statefulset.persistence.size Size for persistence to store Gitea Runner data
## @param statefulset.securityContext Customize the SecurityContext
## @param statefulset.serviceAccountName Customize the service account name
## @param statefulset.runtimeClassName Select a different RuntimeClass for pods
## @param statefulset.hostAliases Inject entries into the /etc/hosts file
#
## @param statefulset.persistence.size Size for persistence to store Gitea Runner data
#
## @param statefulset.runner.registry image registry, e.g. gcr.io,docker.io
## @param statefulset.runner.repository The Gitea Runner image
## @param statefulset.runner.tag The Gitea Runner tag
## @param statefulset.runner.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
## @param statefulset.runner.pullPolicy The Gitea Runner pullPolicy
## @param statefulset.runner.fullOverride Completely overrides the image registry, path/image, tag and digest.
## @param statefulset.runner.resources Resource requests/limits for the runner container. Takes precedence over statefulset.resources when set.
## @param statefulset.runner.extraVolumeMounts Allows mounting extra volumes in the Gitea Runner container
## @param statefulset.runner.extraEnvs Allows adding custom environment variables
## @param statefulset.runner.flushCache whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time
## @param statefulset.runner.config [default: Too complex. See values.yaml] Gitea Runner custom configuration. See [Gitea Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
#
## @param statefulset.dind.rootless [default: false] a simple flag to let helm know we are dealing with a rootless dind container
## @param statefulset.dind.uid a field to set the running user id for the rootless dind container, so it knows where to look for the socket
## @param statefulset.dind.registry image registry, e.g. gcr.io,docker.io
## @param statefulset.actRunner.extraEnvs Allows adding custom environment variables
## @param statefulset.dind.repository The Docker-in-Docker image
## @param statefulset.dind.tag The Docker-in-Docker image tag
## @param statefulset.dind.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
## @param statefulset.dind.fullOverride Completely overrides the image registry, path/image, tag and digest.
## @param statefulset.dind.pullPolicy The Docker-in-Docker pullPolicy
## @param statefulset.dind.resources Resource requests/limits for the DinD sidecar container. Takes precedence over statefulset.resources when set.
## @param statefulset.dind.extraVolumeMounts Allows mounting extra volumes in the Docker-in-Docker container
## @param statefulset.dind.extraEnvs Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY`
## @param statefulset.persistence.size Size for persistence to store act runner data
## @param statefulset.securityContext Customize the SecurityContext
## @param existingSecret Secret that contains the token
## @param existingSecretKey Secret key
## @param giteaRootURL URL the act_runner registers and connect with
## @param statefulset.dind.extraArgs Allows adding custom arguments to the Docker Daemon
#
enabled: false
statefulset:
replicas: 1
@@ -47,14 +59,28 @@ statefulset:
affinity: {}
extraVolumes: []
securityContext: {}
serviceAccountName: ""
runtimeClassName: ""
actRunner:
# Add /etc/hosts injections into the pods
hostAliases:
[]
# - ip: 8.8.8.8
# hostnames:
# - googel.com
# - googol.com
persistence:
size: 1Gi
runner:
registry: "docker.gitea.com"
repository: act_runner
tag: 0.2.13
repository: runner
tag: 2.0.1
digest: ""
pullPolicy: IfNotPresent
fullOverride: ""
resources: {}
extraVolumeMounts: []
extraEnvs:
[]
@@ -63,7 +89,9 @@ statefulset:
# fieldRef:
# fieldPath: metadata.name
# See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
# See full details: https://gitea.com/gitea/helm-actions/issues/73
flushCache: false
# See full example here: https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml
config: |
log:
level: debug
@@ -74,12 +102,15 @@ statefulset:
docker_timeout: 300s
dind:
registry: ""
rootless: false
uid: ""
registry: "docker.io"
repository: docker
tag: 28.3.3-dind
tag: 29.5.2-dind
digest: ""
pullPolicy: IfNotPresent
fullOverride: ""
resources: {}
extraVolumeMounts: []
# If the container keeps crashing in your environment, you might have to add the `DOCKER_IPTABLES_LEGACY` environment variable.
@@ -89,39 +120,68 @@ statefulset:
# - name: "DOCKER_IPTABLES_LEGACY"
# value: "1"
persistence:
size: 1Gi
# Option to add extra arguments/commands to the container/pod:
# [#22](https://gitea.com/gitea/helm-actions/issues/22) [k8s docs](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/)
extraArgs:
[]
# - --mtu=1400
## @section Gitea Actions Init
#
## @param init.image.registry image registry, e.g. gcr.io,docker.io
## @param init.image.repository The init image
## @param init.image.tag the init image tag
## @param init.image.registry Image registry, e.g. gcr.io,docker.io
## @param init.image.repository The init image (default: busyboxy but can be changed to alpine e.g.)
## @param init.image.tag The init image tag
## @param init.image.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
## @param init.image.pullPolicy The init image pullPolicy
## @param init.image.fullOverride Completely overrides the image registry, path/image, tag and digest.
## @param init.image.fullOverride Completely overrides the image registry, path/image, tag and digest
#
## @param init.connectionCommandOverride Possiblity to change the command with which the container tests its connection to the Gitea server
## @param init.preConnectionCommandOverride Possibility to add commands that happen before the connection test loop
init:
image:
registry: ""
repository: busybox
# Overrides the image tag whose default is the chart appVersion.
tag: "1.37.0"
tag: "1.38.0"
digest: ""
pullPolicy: IfNotPresent
fullOverride: ""
## Specify an existing token secret
##
connectionCommandOverride: ""
preConnectionCommandOverride: ""
## @section Runner Token Secret Configuration
#
## @param existingSecret Secret that contains the token
## @param existingSecretKey Secret key
existingSecret: ""
existingSecretKey: ""
## Specify the root URL of the Gitea instance
## @section Gitea URL Setting
#
## @param giteaRootURL URL the Gitea Runner registers and connects with
giteaRootURL: ""
## @section Extra Init Containers
#
## @param preExtraInitContainers Additional init containers to run in the pod before Gitea-actions runs it owns init containers.
## @param postExtraInitContainers Additional init containers to run in the pod after Gitea-actions runs it owns init containers.
preExtraInitContainers: []
# - name: pre-init-container
# image: docker.io/library/busybox
# command: [ /bin/sh, -c, 'echo "Hello world! I am a pre init container."' ]
postExtraInitContainers: []
# - name: post-init-container
# image: docker.io/library/busybox
# command: [ /bin/sh, -c, 'echo "Hello world! I am a post init container."' ]
## @section Global
#
## @param global.imageRegistry global image registry override
## @param global.imagePullSecrets global image registry pull secrets
## @param global.storageClass global storage class override
global:
imageRegistry: ""
imagePullSecrets: []
storageClass: ""