Compare commits

..

19 Commits

Author SHA1 Message Date
42402355e9
WIP
All checks were successful
generate-chart / generate-chart-publish (push) Successful in 1m21s
2025-06-06 21:07:49 +02:00
8236ad3285
WIP
All checks were successful
generate-chart / generate-chart-publish (push) Successful in 1m27s
2025-06-06 21:05:48 +02:00
a4d1c3da04
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 1m44s
2025-06-06 21:03:26 +02:00
4968a19d49
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 1m55s
2025-06-06 20:56:50 +02:00
154da3c94c
WIP 2025-06-06 20:56:17 +02:00
2b336de657
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 1m33s
2025-06-06 20:53:34 +02:00
495e03e5ea
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 1m24s
2025-06-06 20:51:23 +02:00
7445fe65c0
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 32s
2025-06-06 20:48:55 +02:00
8d77652523
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 31s
2025-06-06 20:47:32 +02:00
73625c4807
WIP 2025-06-06 20:46:36 +02:00
fe46a4b896
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 1m39s
2025-06-06 20:40:49 +02:00
6ea72ebc90
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 30s
2025-06-06 17:00:59 +02:00
0ea64ae840
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 1m34s
2025-06-06 16:56:58 +02:00
f84f84ed53
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Failing after 30s
2025-06-06 16:43:44 +02:00
10cef87bc3
WIP
Some checks failed
generate-chart / generate-chart-publish (push) Has been cancelled
2025-06-06 16:42:19 +02:00
40acee36ff
WIP
All checks were successful
generate-chart / generate-chart-publish (push) Successful in 10s
2025-06-06 16:40:54 +02:00
c17d70067c
WIP
All checks were successful
generate-chart / generate-chart-publish (push) Successful in 9s
2025-06-06 16:39:51 +02:00
ba6415b5b8
WIP
All checks were successful
changelog / changelog (push) Successful in 20s
check-and-test / check-and-test (push) Successful in 1m46s
2025-06-06 16:39:05 +02:00
540350dbfa
feat: add Artifacthub annotation 'artifacthub.io/changes'
The following PR add the annotation 'artifacthub.io/changes'. For each semantic
commit will be the annotation extended. Further information can be found in the
documentation of
[Artifacthub.io](https://artifacthub.io/docs/topics/annotations/helm/#supported-annotations).

The CI has been adapted. The binary jq as well as yq in >= v4.0 is required.
Otherwise will not be concatenated the YAML file correctly via the yq expression,
because the `loadstr()` expression is not available in lower versions.

Additionally the relation between the semantic commit and the Artifacthub.io
change log type should be clarified. The current relationshiop can be adapted if
needed.

Furthermore, yq will be installed as part of the CI steps. It would be great if
yq is also available as deb package in >=v4.0. This would reduce the boiler
plate to install yq and maintain the version via renovate.

Regarding the renovate expression. In my environment works this expression, but
I don't know if it also works in this gitea/renovate instance.
2025-06-05 08:10:30 +02:00
9 changed files with 105 additions and 178 deletions

View File

@ -97,8 +97,8 @@ while IFS= read -r line; do
echo "- ${KIND}: ${DESC}" echo "- ${KIND}: ${DESC}"
jq --arg kind "${KIND}" --arg description "${DESC}" '. += [ $ARGS.named ]' < "${CHANGE_LOG_YAML}" > "${CHANGE_LOG_YAML}.new" jq --arg kind changed --arg description "$DESC" '. += [ $ARGS.named ]' < ${CHANGE_LOG_YAML} > ${CHANGE_LOG_YAML}.new
mv "${CHANGE_LOG_YAML}.new" "${CHANGE_LOG_YAML}" mv ${CHANGE_LOG_YAML}.new ${CHANGE_LOG_YAML}
fi fi
done <<< "${COMMIT_TITLES}" done <<< "${COMMIT_TITLES}"

View File

@ -1,32 +0,0 @@
name: changelog
on:
push:
branches:
- main
jobs:
changelog:
runs-on: ubuntu-latest
container: docker.io/thegeeklab/git-sv:2.0.1
steps:
- name: install tools
run: |
apk add -q --update --no-cache nodejs curl jq sed
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate upcoming changelog
run: |
git sv rn -o changelog.md
export RELEASE_NOTES=$(cat changelog.md)
export ISSUE_NUMBER=$(curl -s "https://gitea.com/api/v1/repos/gitea/helm-gitea/issues?state=open&q=Changelog%20for%20upcoming%20version" | jq '.[].number')
echo $RELEASE_NOTES
JSON_DATA=$(echo "" | jq -Rs --arg title 'Changelog for upcoming version' --arg body "$(cat changelog.md)" '{title: $title, body: $body}')
if [ -z "$ISSUE_NUMBER" ]; then
curl -s -X POST "https://gitea.com/api/v1/repos/gitea/helm-gitea/issues" -H "Authorization: token ${{ secrets.ISSUE_RW_TOKEN }}" -H "Content-Type: application/json" -d "$JSON_DATA"
else
curl -s -X PATCH "https://gitea.com/api/v1/repos/gitea/helm-gitea/issues/$ISSUE_NUMBER" -H "Authorization: token ${{ secrets.ISSUE_RW_TOKEN }}" -H "Content-Type: application/json" -d "$JSON_DATA"
fi

View File

@ -1,19 +0,0 @@
name: commitlint
on:
pull_request:
branches:
- "*"
types:
- opened
- edited
jobs:
check-and-test:
runs-on: ubuntu-latest
container: commitlint/commitlint:19.8.1
steps:
- uses: actions/checkout@v4
- name: check PR title
run: |
echo "${{ gitea.event.pull_request.title }}" | commitlint --config .commitlintrc.json

View File

@ -2,9 +2,13 @@ name: generate-chart
on: on:
push: push:
tags: branches:
- "*" - "*"
env:
# renovate: datasource=docker depName=alpine/helm
HELM_VERSION: "3.17.3"
jobs: jobs:
generate-chart-publish: generate-chart-publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -13,32 +17,48 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Determine Architecture and Operating System to support x86_64 and ARM based CI nodes
run: |
# determine operating system
OS=$(uname | tr '[:upper:]' '[:lower:]')
echo "OS=${OS}" >> $GITHUB_ENV
echo "INFO: Set environment variable OS=${OS}"
# determine architecture
ARCH="$(uname -m)"
case "${ARCH}" in
aarch64) ARCH=arm64;;
x86_64) ARCH=amd64;;
esac
echo "ARCH=${ARCH}" >> $GITHUB_ENV
echo "INFO: Set environment variable ARCH=${ARCH}"
- name: Install packages via apt - name: Install packages via apt
run: | run: |
apt update --yes apt update --yes
echo "INFO: Install packages via apt"
apt install --yes curl ca-certificates curl gnupg jq apt install --yes curl ca-certificates curl gnupg jq
- name: Install helm - name: Install helm
env:
# renovate: datasource=docker depName=alpine/helm
HELM_VERSION: "3.18.2"
run: | run: |
curl --fail --location --output /dev/stdout --silent --show-error https://get.helm.sh/helm-v${HELM_VERSION}-linux-$(dpkg --print-architecture).tar.gz | tar --extract --gzip --file /dev/stdin curl --fail --location --output /dev/stdout --silent --show-error https://get.helm.sh/helm-v${{ env.HELM_VERSION }}-${OS}-${ARCH}.tar.gz | tar --extract --gzip --file /dev/stdin
mv linux-$(dpkg --print-architecture)/helm /usr/local/bin/ mv ${OS}-${ARCH}/helm /usr/local/bin/
rm --force --recursive linux-$(dpkg --print-architecture) helm-v${HELM_VERSION}-linux-$(dpkg --print-architecture).tar.gz rm --force --recursive ${OS}-${ARCH} helm-v${{ env.HELM_VERSION }}-${OS}-${ARCH}.tar.gz
helm version helm version
- name: Install yq - name: Install yq
env: env:
YQ_VERSION: v4.45.4 # renovate: datasource=github-releases depName=mikefarah/yq YQ_VERSION: v4.45.4 # renovate: datasource=github-releases depName=mikefarah/yq
run: | run: |
curl --fail --location --output /dev/stdout --silent --show-error https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_$(dpkg --print-architecture).tar.gz | tar --extract --gzip --file /dev/stdin curl --fail --location --output /dev/stdout --silent --show-error https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_${OS}_${ARCH}.tar.gz | tar --extract --gzip --file /dev/stdin
mv yq_linux_$(dpkg --print-architecture) /usr/local/bin mv yq_${OS}_${ARCH} /usr/local/bin
rm --force --recursive yq_linux_$(dpkg --print-architecture) yq_linux_$(dpkg --print-architecture).tar.gz rm --force --recursive yq_${OS}_${ARCH} yq_${OS}_${ARCH}.tar.gz
yq --version yq --version
- name: Install docker-ce via apt - name: Install docker-ce via apt
run: | run: |
echo "INFO: Install docker"
install -m 0755 -d /etc/apt/keyrings install -m 0755 -d /etc/apt/keyrings
curl --fail --location --silent --show-error https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg curl --fail --location --silent --show-error https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg
@ -48,76 +68,79 @@ jobs:
- name: Install awscli - name: Install awscli
run: | run: |
echo "INFO: Install awscli via python pip"
pip install awscli --break-system-packages pip install awscli --break-system-packages
aws --version aws --version
- name: Import GPG key # - name: Import GPG key
id: import_gpg # id: import_gpg
uses: https://github.com/crazy-max/ghaction-import-gpg@v6 # uses: https://github.com/crazy-max/ghaction-import-gpg@v6
with: # with:
gpg_private_key: ${{ secrets.GPGSIGN_KEY }} # gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }} # passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
fingerprint: CC64B1DB67ABBEECAB24B6455FC346329753F4B0 # fingerprint: CC64B1DB67ABBEECAB24B6455FC346329753F4B0
- name: Add Artifacthub.io annotations - name: Add Artifacthub.io annotations
run: | run: |
NEW_TAG="$(git tag --sort=-version:refname | head --lines 1)" NEW_TAG=v12.0.0
OLD_TAG="$(git tag --sort=-version:refname | head --lines 2 | tail --lines 1)" OLD_TAG=v11.0.1
# NEW_TAG="$(git tag --sort=-version:refname | head --lines 1)"
# OLD_TAG="$(git tag --sort=-version:refname | head --lines 2 | tail --lines 1)"
.gitea/scripts/add-annotations.sh "${OLD_TAG}" "${NEW_TAG}" .gitea/scripts/add-annotations.sh "${OLD_TAG}" "${NEW_TAG}"
- name: Print Chart.yaml - name: Print Chart.yaml
run: cat Chart.yaml run: cat Chart.yaml
# Using helm gpg plugin as 'helm package --sign' has issues with gpg2: https://github.com/helm/helm/issues/2843 # # Using helm gpg plugin as 'helm package --sign' has issues with gpg2: https://github.com/helm/helm/issues/2843
- name: package chart # - name: package chart
run: | # run: |
echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | docker login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} --password-stdin # 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 # # FIXME: use upstream after https://github.com/technosophos/helm-gpg/issues/1 is solved
helm plugin install https://github.com/pat-s/helm-gpg # helm plugin install https://github.com/pat-s/helm-gpg
helm dependency build # helm dependency build
helm package --version "${GITHUB_REF#refs/tags/v}" ./ # helm package --version "${GITHUB_REF#refs/tags/v}" ./
mkdir gitea # mkdir gitea
mv gitea*.tgz gitea/ # mv gitea*.tgz gitea/
curl --fail --location --output gitea/index.yaml --silent --show-error https://dl.gitea.com/charts/index.yaml # curl --fail --location --output gitea/index.yaml --silent --show-error https://dl.gitea.com/charts/index.yaml
helm repo index gitea/ --url https://dl.gitea.com/charts --merge gitea/index.yaml # helm repo index gitea/ --url https://dl.gitea.com/charts --merge gitea/index.yaml
# push to dockerhub # # push to dockerhub
echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | helm registry login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} registry-1.docker.io --password-stdin # echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | helm registry login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} registry-1.docker.io --password-stdin
helm push gitea/gitea-${GITHUB_REF#refs/tags/v}.tgz oci://registry-1.docker.io/giteacharts # helm push gitea/gitea-${GITHUB_REF#refs/tags/v}.tgz oci://registry-1.docker.io/giteacharts
helm registry logout registry-1.docker.io # helm registry logout registry-1.docker.io
- name: aws credential configure # - name: aws credential configure
uses: https://github.com/aws-actions/configure-aws-credentials@v4 # uses: https://github.com/aws-actions/configure-aws-credentials@v4
with: # with:
aws-access-key-id: ${{ secrets.AWS_KEY_ID }} # aws-access-key-id: ${{ secrets.AWS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} # aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }} # aws-region: ${{ secrets.AWS_REGION }}
- name: Copy files to S3 and clear cache # - name: Copy files to S3 and clear cache
run: | # run: |
aws s3 sync gitea/ s3://${{ secrets.AWS_S3_BUCKET}}/charts/ # aws s3 sync gitea/ s3://${{ secrets.AWS_S3_BUCKET}}/charts/
release-gitea: # release-gitea:
# needs: generate-chart-publish # # needs: generate-chart-publish
runs-on: ubuntu-latest # runs-on: ubuntu-latest
container: docker.io/thegeeklab/git-sv:2.0.1 # container: docker.io/thegeeklab/git-sv:2.0.1
steps: # steps:
- name: install tools # - name: install tools
run: | # run: |
apk add -q --update --no-cache nodejs # apk add -q --update --no-cache nodejs
- uses: actions/checkout@v4 # - uses: actions/checkout@v4
with: # with:
fetch-tags: true # fetch-tags: true
fetch-depth: 0 # fetch-depth: 0
- name: Create changelog # - name: Create changelog
run: | # run: |
git sv current-version # git sv current-version
git sv release-notes -t ${GITHUB_REF#refs/tags/} -o CHANGELOG.md # git sv release-notes -t ${GITHUB_REF#refs/tags/} -o CHANGELOG.md
sed -i '1,2d' CHANGELOG.md # remove version # sed -i '1,2d' CHANGELOG.md # remove version
cat CHANGELOG.md # cat CHANGELOG.md
- name: Release # - name: Release
uses: https://github.com/akkuman/gitea-release-action@v1 # uses: https://github.com/akkuman/gitea-release-action@v1
with: # with:
body_path: CHANGELOG.md # body_path: CHANGELOG.md
token: "${{ secrets.RELEASE_TOKEN }}" # token: "${{ secrets.RELEASE_TOKEN }}"

View File

@ -1,45 +0,0 @@
name: check-and-test
on:
pull_request:
branches:
- "*"
push:
branches:
- main
env:
# renovate: datasource=github-releases depName=helm-unittest/helm-unittest
HELM_UNITTEST_VERSION: "v0.8.2"
jobs:
check-and-test:
runs-on: ubuntu-latest
container: alpine/helm:3.18.2
steps:
- name: install tools
run: |
apk update
apk add --update bash make nodejs npm yamllint ncurses
- uses: actions/checkout@v4
- name: install chart dependencies
run: helm dependency build
- name: lint
run: helm lint
- name: template
run: helm template --debug gitea-helm .
- name: prepare unit test environment
run: |
helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} https://github.com/helm-unittest/helm-unittest
git submodule update --init --recursive
- name: unit tests
env:
TERM: xterm
run: |
make unittests
- name: verify readme
run: |
make readme
git diff --exit-code --name-only README.md
- name: yaml lint
uses: https://github.com/ibiqlik/action-yamllint@v3

View File

@ -1,15 +1,15 @@
dependencies: dependencies:
- name: postgresql - name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 16.7.11 version: 16.7.4
- name: postgresql-ha - name: postgresql-ha
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 16.0.14 version: 16.0.6
- name: valkey-cluster - name: valkey-cluster
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 3.0.14 version: 3.0.10
- name: valkey - name: valkey
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 3.0.13 version: 3.0.9
digest: sha256:87746bfd77ba585a15e85a2c8705ca3e86668298ba012a1adca2bc221deb7f49 digest: sha256:aeafc605b86db0ff3999cd808af1c9ca3a6a749aae0d42f2fdae89803b3bb60a
generated: "2025-06-15T00:04:51.382524189Z" generated: "2025-05-25T00:23:17.804516988Z"

View File

@ -4,7 +4,7 @@ description: Gitea Helm chart for Kubernetes
type: application type: application
version: 0.0.0 version: 0.0.0
# renovate datasource=github-releases depName=go-gitea/gitea extractVersion=^v(?<version>.*)$ # renovate datasource=github-releases depName=go-gitea/gitea extractVersion=^v(?<version>.*)$
appVersion: 1.24.0 appVersion: 1.23.8
icon: https://gitea.com/assets/img/logo.svg icon: https://gitea.com/assets/img/logo.svg
keywords: keywords:
@ -36,20 +36,20 @@ dependencies:
# https://github.com/bitnami/charts/blob/main/bitnami/postgresql # https://github.com/bitnami/charts/blob/main/bitnami/postgresql
- name: postgresql - name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 16.7.11 version: 16.7.4
condition: postgresql.enabled condition: postgresql.enabled
# https://github.com/bitnami/charts/blob/main/bitnami/postgresql-ha/Chart.yaml # https://github.com/bitnami/charts/blob/main/bitnami/postgresql-ha/Chart.yaml
- name: postgresql-ha - name: postgresql-ha
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 16.0.14 version: 16.0.6
condition: postgresql-ha.enabled condition: postgresql-ha.enabled
# https://github.com/bitnami/charts/blob/main/bitnami/valkey-cluster/Chart.yaml # https://github.com/bitnami/charts/blob/main/bitnami/valkey-cluster/Chart.yaml
- name: valkey-cluster - name: valkey-cluster
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 3.0.14 version: 3.0.10
condition: valkey-cluster.enabled condition: valkey-cluster.enabled
# https://github.com/bitnami/charts/blob/main/bitnami/valkey/Chart.yaml # https://github.com/bitnami/charts/blob/main/bitnami/valkey/Chart.yaml
- name: valkey - name: valkey
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 3.0.13 version: 3.0.9
condition: valkey.enabled condition: valkey.enabled

View File

@ -27,7 +27,7 @@ stringData:
{{- end }} {{- end }}
{{- /* multiple replicas assertions */ -}} {{- /* multiple replicas assertions */ -}}
{{- if gt (.Values.replicaCount | int) 1 -}} {{- if gt .Values.replicaCount 1.0 -}}
{{- if .Values.gitea.config.cron -}} {{- if .Values.gitea.config.cron -}}
{{- if .Values.gitea.config.cron.GIT_GC_REPOS -}} {{- if .Values.gitea.config.cron.GIT_GC_REPOS -}}
{{- if eq .Values.gitea.config.cron.GIT_GC_REPOS.ENABLED true -}} {{- if eq .Values.gitea.config.cron.GIT_GC_REPOS.ENABLED true -}}

View File

@ -10,7 +10,7 @@ metadata:
{{ .Values.persistence.labels | toYaml | indent 4}} {{ .Values.persistence.labels | toYaml | indent 4}}
spec: spec:
accessModes: accessModes:
{{- if gt (.Values.replicaCount | int) 1 }} {{- if gt .Values.replicaCount 1.0 }}
- ReadWriteMany - ReadWriteMany
{{- else }} {{- else }}
{{- .Values.persistence.accessModes | toYaml | nindent 4 }} {{- .Values.persistence.accessModes | toYaml | nindent 4 }}