From 3b5bdc30f526ff4f5c9420a9c43b87651d79e965 Mon Sep 17 00:00:00 2001 From: Stephen Sullivan Date: Sun, 21 Sep 2025 15:24:49 +0000 Subject: [PATCH 1/5] feat(chart): Added helper functions to generate the container image values (#61) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description of the change The change modifies how container images are managed in the Gitea Helm chart for Gitea Actions. Instead of using a simple string concatenation for image names, the patch introduces a more flexible templating approach. It adds three new templates in `_helpers.tpl`: * `gitea.actions.actRunner.image`: Constructs the full image name for the Gitea Actions Act Runner. * `gitea.actions.dind.image`: Creates the image name for the DinD (Docker-in-Docker) container. * `gitea.actions.init.image`: Generates the image name for the Init container. These templates build the image name dynamically using values from `values.yaml` and the chart's metadata. The logic prioritizes a full image override, a specified registry, or a default repository and tag. The patch also updates `statefulset.yaml` to use these new templates for the `init-gitea`, `act-runner`, and `dind` containers. Additionally, `values.yaml` is updated to include new, optional parameters for each image, such as `registry`, `digest`, and `fullOverride`, providing more granular control over the image source. ### Tests and Examples To test this change, you can use `helm template` with different configurations in a `values.yaml` file to observe the resulting Kubernetes manifest. #### Example 1: Default configuration With no changes to the new fields in `values.yaml`, the image names should resolve to the defaults: * **Act Runner**: `docker.gitea.com/gitea/act_runner:0.2.13` * **DinD**: `docker:28.3.3-dind` * **Init**: `busybox:1.37.0` #### Example 2: Using a `fullOverride` If you set `fullOverride` for the `actRunner` like this via CLI ```shell helm template test . \ --set giteaRootURL=https://localhost/gitea \ --set existingSecret=test --set existingSecretKey=test \ --set enabled=true \ --set statefulset.actRunner.fullOverride="my.private.registry/custom-gitea-runner:latest" ``` The `statefulset.yaml` for the `act-runner` container will have its image field set to `my.private.registry/custom-gitea-runner:latest`. ``` - name: act-runner image: "my.private.registry/custom-gitea-runner:latest" ``` #### Example 3: Using a custom `registry` and `digest` ```shell helm template test . \ --set giteaRootURL=https://localhost/gitea \ --set existingSecret=test --set existingSecretKey=test \ --set enabled=true \ --set statefulset.dind.registry="quay.io" \ --set statefulset.dind.digest="sha256:abcdef123456" ``` The `statefulset.yaml` for the `dind` container will have its image field set to `quay.io/docker:28.3.3-dind@sha256:abcdef123456`. ``` - name: dind image: "quay.io/docker:28.3.3-dind@sha256:abcdef123456" ``` #### Example 4: Using the `global.imageRegistry` If you set global.imageRegistry ```shell helm template test . \ --set giteaRootURL=https://localhost/gitea \ --set existingSecret=test --set existingSecretKey=test \ --set enabled=true \ --set global.imageRegistry=quay.io ``` The `statefulset.yaml` for each container will have the following values * **Act Runner**: `quay.io/gitea/act_runner:0.2.13` * **DinD**: `quay.io/docker:28.3.3-dind` * **Init**: `quay.io/busybox:1.37.0` ### Benefits There are no known limitations with this change. The new templating approach makes the chart more adaptable and configurable, offering more control than the previous method. ### Possible drawbacks Increased configuration complexity ### Applicable issues - Fixes #58 ### Additional information ### ⚠ BREAKING ### 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] Helm templating unittests are added (required when changing anything in `templates` folder) - [X] All added template resources MUST render a namespace in metadata Co-authored-by: Christopher Homberger Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/61 Reviewed-by: Ross Golder Reviewed-by: DaanSelen Reviewed-by: Markus Pesch Reviewed-by: ChristopherHX Co-authored-by: Stephen Sullivan Co-committed-by: Stephen Sullivan --- README.md | 17 +++++ templates/_helpers.tpl | 43 +++++++++++ templates/statefulset.yaml | 6 +- unittests/helm/statefulset.yaml | 123 ++++++++++++++++++++++++++++++++ values.yaml | 24 +++++++ 5 files changed, 210 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cfce7d3..ccdfb3e 100644 --- a/README.md +++ b/README.md @@ -57,13 +57,19 @@ You should be good to go! | `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 | `gitea/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.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` | `[]` | @@ -72,6 +78,17 @@ You should be good to go! | `existingSecretKey` | Secret key | `""` | | `giteaRootURL` | URL the act_runner registers and connect with | `""` | +### 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. | `""` | + ### Global | Name | Description | Value | diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index 599ee36..3d4216e 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -86,3 +86,46 @@ app.kubernetes.io/instance: {{ .Release.Name }} {{- define "gitea.actions.local_root_url" -}} {{- .Values.giteaRootURL -}} {{- end -}} + +{{/* +Common create image implementation +*/}} +{{- define "gitea.actions.common.image" -}} +{{- $fullOverride := .image.fullOverride | default "" -}} +{{- $registry := .root.Values.global.imageRegistry | default .image.registry -}} +{{- $repository := .image.repository -}} +{{- $separator := ":" -}} +{{- $tag := .image.tag | default .root.Chart.AppVersion | toString -}} +{{- $digest := "" -}} +{{- if .image.digest }} + {{- $digest = (printf "@%s" (.image.digest | toString)) -}} +{{- end -}} +{{- if $fullOverride }} + {{- printf "%s" $fullOverride -}} +{{- else if $registry }} + {{- printf "%s/%s%s%s%s" $registry $repository $separator $tag $digest -}} +{{- else -}} + {{- printf "%s%s%s%s" $repository $separator $tag $digest -}} +{{- end -}} +{{- end -}} + +{{/* +Create image for the Gitea Actions Act Runner +*/}} +{{- define "gitea.actions.actRunner.image" -}} +{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.actRunner) }} +{{- end -}} + +{{/* +Create image for DinD +*/}} +{{- define "gitea.actions.dind.image" -}} +{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.dind) }} +{{- end -}} + +{{/* +Create image for Init +*/}} +{{- define "gitea.actions.init.image" -}} +{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.init.image) }} +{{- end -}} \ No newline at end of file diff --git a/templates/statefulset.yaml b/templates/statefulset.yaml index f621abd..d8af2be 100644 --- a/templates/statefulset.yaml +++ b/templates/statefulset.yaml @@ -32,7 +32,7 @@ spec: spec: initContainers: - name: init-gitea - image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}" + image: "{{ include "gitea.actions.init.image" . }}" command: - sh - -c @@ -45,7 +45,7 @@ spec: echo "Gitea has been reached!" containers: - name: act-runner - image: "{{ .Values.statefulset.actRunner.repository }}:{{ .Values.statefulset.actRunner.tag }}" + image: "{{ include "gitea.actions.actRunner.image" . }}" imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }} workingDir: /data env: @@ -80,7 +80,7 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} - name: dind - image: "{{ .Values.statefulset.dind.repository }}:{{ .Values.statefulset.dind.tag }}" + image: "{{ include "gitea.actions.dind.image" . }}" imagePullPolicy: {{ .Values.statefulset.dind.pullPolicy }} env: - name: DOCKER_HOST diff --git a/unittests/helm/statefulset.yaml b/unittests/helm/statefulset.yaml index 70c38a9..93d6208 100644 --- a/unittests/helm/statefulset.yaml +++ b/unittests/helm/statefulset.yaml @@ -6,6 +6,129 @@ templates: - templates/statefulset.yaml - templates/config-act-runner.yaml tests: + - it: act-runner uses fullOverride + template: templates/statefulset.yaml + set: + 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 + - 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/gitea/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/gitea/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.containers[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.containers[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: doesn't renders a StatefulSet by default template: templates/statefulset.yaml asserts: diff --git a/values.yaml b/values.yaml index 6eece4a..21a9813 100644 --- a/values.yaml +++ b/values.yaml @@ -13,13 +13,19 @@ ## @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.dind.registry image registry, e.g. gcr.io,docker.io ## @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.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` @@ -40,9 +46,12 @@ statefulset: extraVolumes: [] actRunner: + registry: "docker.gitea.com" repository: gitea/act_runner tag: 0.2.13 + digest: "" pullPolicy: IfNotPresent + fullOverride: "" extraVolumeMounts: [] # See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml @@ -56,9 +65,12 @@ statefulset: docker_timeout: 300s dind: + registry: "" repository: docker tag: 28.3.3-dind + digest: "" pullPolicy: IfNotPresent + fullOverride: "" extraVolumeMounts: [] # If the container keeps crashing in your environment, you might have to add the `DOCKER_IPTABLES_LEGACY` environment variable. @@ -71,11 +83,23 @@ statefulset: persistence: size: 1Gi +## @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.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. init: image: + registry: "" repository: busybox # Overrides the image tag whose default is the chart appVersion. tag: "1.37.0" + digest: "" + pullPolicy: IfNotPresent + fullOverride: "" ## Specify an existing token secret ## From bd2fcb14be144584cf378bf33ac9bdb49d9e7250 Mon Sep 17 00:00:00 2001 From: Christopher Homberger Date: Sun, 21 Sep 2025 18:21:34 +0000 Subject: [PATCH 2/5] feat: allow inline yaml config instead of string literal (#43) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description of the change Allow to insert the act_runner config as yaml into the chart values. ### Benefits Yaml editor will report yaml errors, instead of the deployed runner. ### Possible drawbacks No limitations, string config works like before. ### Applicable issues N/A ### Additional information Usage like this, just omit the block scalar token ```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" ``` I do not like the regex test approach, but I didn't come up with a better one. I wish that I can parse the nested yaml in the helm tests. ### ⚠ BREAKING N/A ### Checklist - [x] Helm templating unittests are added (required when changing anything in `templates` folder) - [x] All added template resources MUST render a namespace in metadata Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/43 Reviewed-by: DaanSelen Co-authored-by: Christopher Homberger Co-committed-by: Christopher Homberger --- templates/config-act-runner.yaml | 4 ++++ unittests/helm/config-act-runner.yaml | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/templates/config-act-runner.yaml b/templates/config-act-runner.yaml index e82664a..8e8874b 100644 --- a/templates/config-act-runner.yaml +++ b/templates/config-act-runner.yaml @@ -10,6 +10,10 @@ metadata: data: config.yaml: | {{- with .Values.statefulset.actRunner.config -}} + {{- if kindIs "string" . -}} {{ . | nindent 4}} + {{- else -}} + {{ toYaml . | nindent 4}} + {{- end -}} {{- end -}} {{- end }} diff --git a/unittests/helm/config-act-runner.yaml b/unittests/helm/config-act-runner.yaml index dc7a0e8..43e9524 100644 --- a/unittests/helm/config-act-runner.yaml +++ b/unittests/helm/config-act-runner.yaml @@ -42,3 +42,27 @@ tests: runner: labels: - "ubuntu-latest" + - it: renders a ConfigMap with inline yaml + template: templates/config-act-runner.yaml + set: + enabled: true + statefulset: + actRunner: + config: + container: + valid_volumes: + - /var/run/docker.sock + options: -v /var/run/docker.sock:/var/run/docker.sock + asserts: + - hasDocuments: + count: 1 + - containsDocument: + kind: ConfigMap + apiVersion: v1 + name: gitea-unittests-actions-act-runner-config + - matchRegex: + path: data["config.yaml"] + pattern: '(?m)^\s*options:\s*-v /var/run/docker.sock:/var/run/docker.sock\s*$' + - matchRegex: + path: data["config.yaml"] + pattern: '(?m)^\s*valid_volumes:\s*\n\s*-\s*/var/run/docker.sock\s*$' From 887211f1530c9ab036b93826d0428ee5fa772e81 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 21 Sep 2025 19:30:21 +0000 Subject: [PATCH 3/5] chore(deps): update workflow dependencies (minor & patch) (#64) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | Age | Confidence | |---|---|---|---|---|---| | [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | | minor | `3.17.1` -> `3.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/3.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/3.17.1/3.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [alpine/helm](https://github.com/alpine-docker/helm) ([changelog](https://github.com/helm/helm)) | container | minor | `3.17.1` -> `3.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/docker/alpine%2fhelm/3.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/alpine%2fhelm/3.17.1/3.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | container | minor | `19.7.1` -> `19.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/docker/commitlint%2fcommitlint/19.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/commitlint%2fcommitlint/19.7.1/19.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | devDependencies | minor | [`^0.44.0` -> `^0.45.0`](https://renovatebot.com/diffs/npm/markdownlint-cli/0.44.0/0.45.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/markdownlint-cli/0.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/markdownlint-cli/0.44.0/0.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
conventional-changelog/commitlint (commitlint/commitlint) ### [`v19.9.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1991-2025-08-29) [Compare Source](https://github.com/conventional-changelog/commitlint/compare/v19.9.0...v19.9.1) ##### Bug Fixes - add TypeScript support and configuration for pnpm scopes ([#​4544](https://github.com/conventional-changelog/commitlint/issues/4544)) ([ea75778](https://github.com/conventional-changelog/commitlint/commit/ea75778e8d32c932d85062902456cd821e471fdd)) ### [`v19.9.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1990-2025-08-26) [Compare Source](https://github.com/conventional-changelog/commitlint/compare/v19.8.1...v19.9.0) ##### Bug Fixes - update dependency jest-environment-node to v30 ([#​4448](https://github.com/conventional-changelog/commitlint/issues/4448)) ([42ca849](https://github.com/conventional-changelog/commitlint/commit/42ca849db3581bb5b7f1bbbcd0dfeda912566e5d)) - update dependency jest-environment-node to v30.0.2 ([#​4469](https://github.com/conventional-changelog/commitlint/issues/4469)) ([4da7e43](https://github.com/conventional-changelog/commitlint/commit/4da7e43be4134cbc01f847f82ef438fdfcc6dda9)) - update dependency tar-fs to v3.0.10 ([#​4461](https://github.com/conventional-changelog/commitlint/issues/4461)) ([f02c47c](https://github.com/conventional-changelog/commitlint/commit/f02c47c669055f3ce6f0f4ba553d4a5ed4e1ee57)) - update dependency tar-fs to v3.0.9 ([#​4421](https://github.com/conventional-changelog/commitlint/issues/4421)) ([0650e03](https://github.com/conventional-changelog/commitlint/commit/0650e03d960eb904c40a3faf4c8d24415807bbdd)) - update dependency tar-fs to v3.1.0 ([#​4496](https://github.com/conventional-changelog/commitlint/issues/4496)) ([31b4f72](https://github.com/conventional-changelog/commitlint/commit/31b4f72d2fdca5094b1325bdac7bcd5c5693c423)) ##### Features - **config-pnpm-scopes:** migrate package to TypeScript ([#​4541](https://github.com/conventional-changelog/commitlint/issues/4541)) ([6ae36ea](https://github.com/conventional-changelog/commitlint/commit/6ae36ea5a55d7736024461ec6af94a14b821acc4)) ##### Reverts - Revert "chore: update dependency cross-env to v10 ([#​4528](https://github.com/conventional-changelog/commitlint/issues/4528))" ([#​4529](https://github.com/conventional-changelog/commitlint/issues/4529)) ([b5bfd12](https://github.com/conventional-changelog/commitlint/commit/b5bfd125140c5a7a6bcdefb9c3d22b7c13e3ea17)), closes [#​4528](https://github.com/conventional-changelog/commitlint/issues/4528) [#​4529](https://github.com/conventional-changelog/commitlint/issues/4529) #### [19.8.1](https://github.com/conventional-changelog/commitlint/compare/v19.8.0...v19.8.1) (2025-05-08) ##### Bug Fixes - update dependency tinyexec to v1 ([#​4332](https://github.com/conventional-changelog/commitlint/issues/4332)) ([e49449f](https://github.com/conventional-changelog/commitlint/commit/e49449fa9452069cdbf194f94d536194d362a299)) - update dependency tinyexec to v1.0.1 ([#​4347](https://github.com/conventional-changelog/commitlint/issues/4347)) ([c1b26d1](https://github.com/conventional-changelog/commitlint/commit/c1b26d1579a5bc310a750f2c75143027129d2321)) ##### Performance Improvements - **rules:** optimize header-trim ([#​4363](https://github.com/conventional-changelog/commitlint/issues/4363)) ([b7e404b](https://github.com/conventional-changelog/commitlint/commit/b7e404bc036dbd3cbdffa38e85c833d10e52d68b)) ### [`v19.8.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1981-2025-05-08) [Compare Source](https://github.com/conventional-changelog/commitlint/compare/v19.8.0...v19.8.1) ##### Bug Fixes - update dependency tinyexec to v1 ([#​4332](https://github.com/conventional-changelog/commitlint/issues/4332)) ([e49449f](https://github.com/conventional-changelog/commitlint/commit/e49449fa9452069cdbf194f94d536194d362a299)) - update dependency tinyexec to v1.0.1 ([#​4347](https://github.com/conventional-changelog/commitlint/issues/4347)) ([c1b26d1](https://github.com/conventional-changelog/commitlint/commit/c1b26d1579a5bc310a750f2c75143027129d2321)) ##### Performance Improvements - **rules:** optimize header-trim ([#​4363](https://github.com/conventional-changelog/commitlint/issues/4363)) ([b7e404b](https://github.com/conventional-changelog/commitlint/commit/b7e404bc036dbd3cbdffa38e85c833d10e52d68b)) ### [`v19.8.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#1980-2025-03-07) [Compare Source](https://github.com/conventional-changelog/commitlint/compare/v19.7.1...v19.8.0) ##### Bug Fixes - **config-lerna-scopes:** remove deprecated [@​lerna/project](https://github.com/lerna/project) dependency ([#​4284](https://github.com/conventional-changelog/commitlint/issues/4284)) ([f2f78f1](https://github.com/conventional-changelog/commitlint/commit/f2f78f105a32d040d8eb7e340f59a1d50fad9ac0)) - update dependency semver to v7.7.1 ([#​4272](https://github.com/conventional-changelog/commitlint/issues/4272)) ([6148587](https://github.com/conventional-changelog/commitlint/commit/6148587400b7f4c041183e3b2e5f1cfadbe2d6b0)) ##### Features - **config-workspace-scopes:** add config preset for npm and yarn workspaces ([#​4269](https://github.com/conventional-changelog/commitlint/issues/4269)) ([67ff9e8](https://github.com/conventional-changelog/commitlint/commit/67ff9e82c10898757052df1d4233566b0b2cb433)) ##### Performance Improvements - use `node:` prefix to bypass require.cache call for builtins ([#​4302](https://github.com/conventional-changelog/commitlint/issues/4302)) ([0cd8f41](https://github.com/conventional-changelog/commitlint/commit/0cd8f410573fe11383f788b1ceb7e0946143591d)) ##### Reverts - Revert "fix: improve security validation regex in is-ignored function ([#​4258](https://github.com/conventional-changelog/commitlint/issues/4258))" ([#​4314](https://github.com/conventional-changelog/commitlint/issues/4314)) ([b27024a](https://github.com/conventional-changelog/commitlint/commit/b27024a5ae509d1df9373ed712f2279d0bc39170)), closes [#​4258](https://github.com/conventional-changelog/commitlint/issues/4258) [#​4314](https://github.com/conventional-changelog/commitlint/issues/4314) #### [19.7.1](https://github.com/conventional-changelog/commitlint/compare/v19.7.0...v19.7.1) (2025-02-02) ##### Bug Fixes - **config-nx-scopes:** fix for projects without explicit targets ([#​4261](https://github.com/conventional-changelog/commitlint/issues/4261)) ([25bb2cd](https://github.com/conventional-changelog/commitlint/commit/25bb2cd8c70353637f77d471e39f4e4b17fa4cae)) - improve security validation regex in is-ignored function ([#​4258](https://github.com/conventional-changelog/commitlint/issues/4258)) ([7403d63](https://github.com/conventional-changelog/commitlint/commit/7403d6382cc2fb1f066a47d7229593eefe528561)) - update dependency fast-glob to v3.3.3 ([#​4235](https://github.com/conventional-changelog/commitlint/issues/4235)) ([c286237](https://github.com/conventional-changelog/commitlint/commit/c28623733351f2920d32e27169a27e127f900985)) - update dependency fs-extra to v11.3.0 ([#​4249](https://github.com/conventional-changelog/commitlint/issues/4249)) ([39acfe4](https://github.com/conventional-changelog/commitlint/commit/39acfe4a3d88863d126a6a9661a80246a7df9428)) - update dependency tar-fs to v3.0.7 ([#​4243](https://github.com/conventional-changelog/commitlint/issues/4243)) ([708320f](https://github.com/conventional-changelog/commitlint/commit/708320f0403684d2f76a20eb8a83deb84c0c808e)) - update dependency tar-fs to v3.0.8 ([#​4247](https://github.com/conventional-changelog/commitlint/issues/4247)) ([ecb5d3a](https://github.com/conventional-changelog/commitlint/commit/ecb5d3a1c5be5713ccdbb4f4e863390a80d8d917))
igorshubovych/markdownlint-cli (markdownlint-cli) ### [`v0.45.0`](https://github.com/igorshubovych/markdownlint-cli/releases/tag/v0.45.0) [Compare Source](https://github.com/igorshubovych/markdownlint-cli/compare/v0.44.0...v0.45.0) - Update `markdownlint` dependency to `0.38.0` - Add `MD059`/`descriptive-link-text` - Improve `MD025`/`MD027`/`MD036`/`MD038`/`MD041`/`MD043`/`MD045`/`MD051`/`MD052` - Remove support for end-of-life Node version 18 - Update all dependencies via `Dependabot`
--- ### 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**: 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. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/64 Reviewed-by: DaanSelen Co-authored-by: Renovate Bot Co-committed-by: Renovate Bot --- .gitea/workflows/commitlint.yml | 2 +- .gitea/workflows/release-version.yml | 2 +- .gitea/workflows/test-pr.yml | 2 +- package.json | 2 +- pnpm-lock.yaml | 189 ++++++++++++++------------- 5 files changed, 99 insertions(+), 98 deletions(-) diff --git a/.gitea/workflows/commitlint.yml b/.gitea/workflows/commitlint.yml index ab788a9..b526bba 100644 --- a/.gitea/workflows/commitlint.yml +++ b/.gitea/workflows/commitlint.yml @@ -11,7 +11,7 @@ on: jobs: check-and-test: runs-on: ubuntu-latest - container: commitlint/commitlint:19.7.1 + container: commitlint/commitlint:19.9.1 steps: - uses: actions/checkout@v5 - name: check PR title diff --git a/.gitea/workflows/release-version.yml b/.gitea/workflows/release-version.yml index 4a32907..6d45b43 100644 --- a/.gitea/workflows/release-version.yml +++ b/.gitea/workflows/release-version.yml @@ -7,7 +7,7 @@ on: env: # renovate: datasource=docker depName=alpine/helm - HELM_VERSION: "3.17.1" + HELM_VERSION: "3.19.0" jobs: generate-chart-publish: diff --git a/.gitea/workflows/test-pr.yml b/.gitea/workflows/test-pr.yml index bd4ef67..5f77afe 100644 --- a/.gitea/workflows/test-pr.yml +++ b/.gitea/workflows/test-pr.yml @@ -15,7 +15,7 @@ env: jobs: check-and-test: runs-on: ubuntu-latest - container: alpine/helm:3.17.1 + container: alpine/helm:3.19.0 steps: - name: install tools run: | diff --git a/package.json b/package.json index 58c375b..a659e49 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,6 @@ }, "devDependencies": { "@bitnami/readme-generator-for-helm": "^2.7.0", - "markdownlint-cli": "^0.44.0" + "markdownlint-cli": "^0.45.0" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3b619e3..b939d55 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^2.7.0 version: 2.7.2 markdownlint-cli: - specifier: ^0.44.0 - version: 0.44.0 + specifier: ^0.45.0 + version: 0.45.0 packages: @@ -21,14 +21,18 @@ 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.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -66,9 +70,6 @@ packages: brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} @@ -151,8 +152,9 @@ packages: fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} + engines: {node: 20 || >=22} hasBin: true glob@7.2.3: @@ -193,8 +195,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + engines: {node: 20 || >=22} js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -217,8 +220,9 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.2.1: + resolution: {integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==} + engines: {node: 20 || >=22} markdown-it@14.1.0: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} @@ -227,23 +231,23 @@ packages: markdown-table@2.0.0: resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} - markdownlint-cli@0.44.0: - resolution: {integrity: sha512-ZJTAONlvF9NkrIBltCdW15DxN9UTbPiKMEqAh2EU2gwIFlrCMavyCEPPO121cqfYOrLUJWW8/XKWongstmmTeQ==} - engines: {node: '>=18'} + markdownlint-cli@0.45.0: + resolution: {integrity: sha512-GiWr7GfJLVfcopL3t3pLumXCYs8sgWppjIA1F/Cc3zIMgD3tmkpyZ1xkm1Tej8mw53B93JsDjgA3KOftuYcfOw==} + engines: {node: '>=20'} hasBin: true - markdownlint@0.37.4: - resolution: {integrity: sha512-u00joA/syf3VhWh6/ybVFkib5Zpj2e5KB/cfCei8fkSRuums6nyisTWGqjTWIOFoFwuXoTBQQiqlB4qFKp8ncQ==} - engines: {node: '>=18'} + markdownlint@0.38.0: + resolution: {integrity: sha512-xaSxkaU7wY/0852zGApM8LdlIfGCW8ETZ0Rr62IQtAnUMlMuifsg09vWJcNYeL4f0anvr8Vo4ZQar8jGpV0btQ==} + engines: {node: '>=20'} mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - micromark-core-commonmark@2.0.2: - resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - micromark-extension-directive@3.0.2: - resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + micromark-extension-directive@4.0.0: + resolution: {integrity: sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==} micromark-extension-gfm-autolink-literal@2.1.0: resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} @@ -251,8 +255,8 @@ packages: micromark-extension-gfm-footnote@2.1.0: resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - micromark-extension-gfm-table@2.1.0: - resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} micromark-extension-math@3.1.0: resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} @@ -308,19 +312,19 @@ packages: micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@2.0.1: - resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - micromark@4.0.1: - resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + engines: {node: 20 || >=22} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -348,9 +352,9 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} @@ -434,6 +438,12 @@ snapshots: markdown-table: 2.0.0 yaml: 2.8.1 + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -443,9 +453,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@pkgjs/parseargs@0.11.0': - optional: true - '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -475,10 +482,6 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.2: - dependencies: - balanced-match: 1.0.2 - character-entities-legacy@3.0.0: {} character-entities@2.0.2: {} @@ -541,14 +544,14 @@ snapshots: fs.realpath@1.0.0: {} - glob@10.4.5: + glob@11.0.3: dependencies: foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 + jackspeak: 4.1.1 + minimatch: 10.0.3 minipass: 7.1.2 package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 + path-scurry: 2.0.0 glob@7.2.3: dependencies: @@ -585,11 +588,9 @@ snapshots: isexe@2.0.0: {} - jackspeak@3.4.3: + jackspeak@4.1.1: dependencies: '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 js-yaml@4.1.0: dependencies: @@ -609,7 +610,7 @@ snapshots: lodash@4.17.21: {} - lru-cache@10.4.3: {} + lru-cache@11.2.1: {} markdown-it@14.1.0: dependencies: @@ -624,38 +625,38 @@ snapshots: dependencies: repeat-string: 1.6.1 - markdownlint-cli@0.44.0: + markdownlint-cli@0.45.0: dependencies: commander: 13.1.0 - glob: 10.4.5 + glob: 11.0.3 ignore: 7.0.5 js-yaml: 4.1.0 jsonc-parser: 3.3.1 jsonpointer: 5.0.1 - markdownlint: 0.37.4 - minimatch: 9.0.5 + markdown-it: 14.1.0 + markdownlint: 0.38.0 + minimatch: 10.0.3 run-con: 1.3.2 smol-toml: 1.3.4 transitivePeerDependencies: - supports-color - markdownlint@0.37.4: + markdownlint@0.38.0: dependencies: - markdown-it: 14.1.0 - micromark: 4.0.1 - micromark-core-commonmark: 2.0.2 - micromark-extension-directive: 3.0.2 + micromark: 4.0.2 + micromark-core-commonmark: 2.0.3 + micromark-extension-directive: 4.0.0 micromark-extension-gfm-autolink-literal: 2.1.0 micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-table: 2.1.1 micromark-extension-math: 3.1.0 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 transitivePeerDependencies: - supports-color mdurl@2.0.0: {} - micromark-core-commonmark@2.0.2: + micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.2.0 devlop: 1.1.0 @@ -672,16 +673,16 @@ snapshots: micromark-util-resolve-all: 2.0.1 micromark-util-subtokenize: 2.1.0 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 - micromark-extension-directive@3.0.2: + micromark-extension-directive@4.0.0: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.1 micromark-factory-whitespace: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 parse-entities: 4.0.2 micromark-extension-gfm-autolink-literal@2.1.0: @@ -689,26 +690,26 @@ snapshots: micromark-util-character: 2.1.1 micromark-util-sanitize-uri: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-footnote@2.1.0: dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 + micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-sanitize-uri: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 - micromark-extension-gfm-table@2.1.0: + micromark-extension-gfm-table@2.1.1: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-math@3.1.0: dependencies: @@ -718,44 +719,44 @@ snapshots: micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-destination@2.0.1: dependencies: micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-label@2.0.1: dependencies: devlop: 1.1.0 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-space@2.0.1: dependencies: micromark-util-character: 2.1.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-title@2.0.1: dependencies: micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-whitespace@2.0.1: dependencies: micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-chunked@2.0.1: dependencies: @@ -765,12 +766,12 @@ snapshots: dependencies: micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-combine-extensions@2.0.1: dependencies: micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-decode-numeric-character-reference@2.0.2: dependencies: @@ -786,7 +787,7 @@ snapshots: micromark-util-resolve-all@2.0.1: dependencies: - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-sanitize-uri@2.0.1: dependencies: @@ -799,19 +800,19 @@ snapshots: devlop: 1.1.0 micromark-util-chunked: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-symbol@2.0.1: {} - micromark-util-types@2.0.1: {} + micromark-util-types@2.0.2: {} - micromark@4.0.1: + micromark@4.0.2: dependencies: '@types/debug': 4.1.12 debug: 4.4.3 decode-named-character-reference: 1.2.0 devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 + micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-chunked: 2.0.1 @@ -823,18 +824,18 @@ snapshots: micromark-util-sanitize-uri: 2.0.1 micromark-util-subtokenize: 2.1.0 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 transitivePeerDependencies: - supports-color + minimatch@10.0.3: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.2 - minimist@1.2.8: {} minipass@7.1.2: {} @@ -861,9 +862,9 @@ snapshots: path-key@3.1.1: {} - path-scurry@1.11.1: + path-scurry@2.0.0: dependencies: - lru-cache: 10.4.3 + lru-cache: 11.2.1 minipass: 7.1.2 punycode.js@2.3.1: {} From 6ad4d5cee6dbe25c1f46dd19534db9b680b532f0 Mon Sep 17 00:00:00 2001 From: Stephen Sullivan Date: Mon, 22 Sep 2025 06:43:25 +0000 Subject: [PATCH 4/5] feat(chart): Added configuration parameter to specify extra environment variables for the act-runner container (#63) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description of the change This patch adds a new configuration option, statefulset.actRunner.extraEnvs, to the Gitea act runner Helm chart. This new parameter is an array that allows users to define custom environment variables for the act-runner container within the StatefulSet. ### Benefits Enables users of the chart to specify additional environment variables for the act-runner container. This can be useful for cases where a user may want to customize the act-runner via environment variables. ### Possible drawbacks ### Applicable issues - Fixes # ### Additional information ### ⚠ BREAKING ### 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] Helm templating unittests are added (required when changing anything in `templates` folder) - [X] All added template resources MUST render a namespace in metadata Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/63 Reviewed-by: DaanSelen Co-authored-by: Stephen Sullivan Co-committed-by: Stephen Sullivan --- README.md | 1 + templates/statefulset.yaml | 3 +++ unittests/helm/statefulset.yaml | 33 +++++++++++++++++++++++++++++++++ values.yaml | 7 +++++++ 4 files changed, 44 insertions(+) diff --git a/README.md b/README.md index ccdfb3e..34e8ffc 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ You should be good to go! | `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` | `""` | diff --git a/templates/statefulset.yaml b/templates/statefulset.yaml index d8af2be..6635af3 100644 --- a/templates/statefulset.yaml +++ b/templates/statefulset.yaml @@ -66,6 +66,9 @@ spec: value: /actrunner/config.yaml - name: TZ value: {{ .Values.statefulset.timezone | default "Etc/UTC" }} + {{- if .Values.statefulset.actRunner.extraEnvs }} + {{- toYaml .Values.statefulset.actRunner.extraEnvs | nindent 12 }} + {{- end }} resources: {{- toYaml .Values.statefulset.resources | nindent 12 }} volumeMounts: diff --git a/unittests/helm/statefulset.yaml b/unittests/helm/statefulset.yaml index 93d6208..12e921c 100644 --- a/unittests/helm/statefulset.yaml +++ b/unittests/helm/statefulset.yaml @@ -129,6 +129,39 @@ tests: - 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[7] + value: + name: CUSTOM_ENV + value: "1" + - matchRegex: + path: spec.template.spec.containers[0].env[8].valueFrom.fieldRef.fieldPath + pattern: "metadata\\.name" + - matchRegex: + path: spec.template.spec.containers[0].env[8].name + pattern: "GITEA_RUNNER_NAME" - it: doesn't renders a StatefulSet by default template: templates/statefulset.yaml asserts: diff --git a/values.yaml b/values.yaml index 21a9813..2d12c7f 100644 --- a/values.yaml +++ b/values.yaml @@ -22,6 +22,7 @@ ## @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.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` @@ -53,6 +54,12 @@ statefulset: pullPolicy: IfNotPresent fullOverride: "" extraVolumeMounts: [] + extraEnvs: + [] + # - name: "GITEA_RUNNER_NAME" + # valueFrom: + # fieldRef: + # fieldPath: metadata.name # See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml config: | From dc9cd718124392d5eac83b7e17c98844f198bd77 Mon Sep 17 00:00:00 2001 From: Stephen Sullivan Date: Mon, 22 Sep 2025 12:11:26 +0000 Subject: [PATCH 5/5] fix(chart): Fix the repository path for act runner (#66) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description of the change Changes the default repository path for the act runner image from gitea/act_runner to act_runner ### Benefits ### Possible drawbacks ### Applicable issues - Fixes #65 ### Additional information ### ⚠ BREAKING ### 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] Helm templating unittests are added (required when changing anything in `templates` folder) - [X] All added template resources MUST render a namespace in metadata Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/66 Reviewed-by: DaanSelen Co-authored-by: Stephen Sullivan Co-committed-by: Stephen Sullivan --- README.md | 2 +- unittests/helm/statefulset.yaml | 4 ++-- values.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 34e8ffc..a0645da 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ You should be good to go! | `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 | `gitea/act_runner` | +| `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` | diff --git a/unittests/helm/statefulset.yaml b/unittests/helm/statefulset.yaml index 12e921c..ca38302 100644 --- a/unittests/helm/statefulset.yaml +++ b/unittests/helm/statefulset.yaml @@ -40,7 +40,7 @@ tests: name: gitea-unittests-actions-act-runner - equal: path: spec.template.spec.containers[0].image - value: docker.gitea.com/gitea/act_runner:0.2.13@sha256:abcdef123456 + value: docker.gitea.com/act_runner:0.2.13@sha256:abcdef123456 - it: act-runner uses global.imageRegistry template: templates/statefulset.yaml set: @@ -58,7 +58,7 @@ tests: name: gitea-unittests-actions-act-runner - equal: path: spec.template.spec.containers[0].image - value: test.io/gitea/act_runner:0.2.13 + value: test.io/act_runner:0.2.13 - it: dind uses fullOverride template: templates/statefulset.yaml set: diff --git a/values.yaml b/values.yaml index 2d12c7f..b90ad56 100644 --- a/values.yaml +++ b/values.yaml @@ -48,7 +48,7 @@ statefulset: actRunner: registry: "docker.gitea.com" - repository: gitea/act_runner + repository: act_runner tag: 0.2.13 digest: "" pullPolicy: IfNotPresent