diff --git a/.gitea/workflows/generate-readme.yaml b/.gitea/workflows/generate-readme.yaml new file mode 100644 index 0000000..e58145b --- /dev/null +++ b/.gitea/workflows/generate-readme.yaml @@ -0,0 +1,30 @@ +name: Generate README + +on: + pull_request: + paths: [ "README.md", "values.yaml" ] + types: [ "opened", "reopened", "synchronize" ] + push: + paths: [ "README.md", "values.yaml" ] + tags-ignore: + - '**' + workflow_dispatch: {} + +jobs: + generate-parameters: + container: + image: docker.io/library/node:22.9.0-alpine + runs-on: + - ubuntu-latest + steps: + - name: Install tooling + run: | + apk update + apk add git + - uses: actions/checkout@v4.2.2 + - name: Generate parameter section in README + run: | + npm install + npm run readme:parameters + - name: Compare diff + run: git diff --exit-code --name-only README.md diff --git a/.gitea/workflows/helm.yaml b/.gitea/workflows/helm.yaml new file mode 100644 index 0000000..e1b128c --- /dev/null +++ b/.gitea/workflows/helm.yaml @@ -0,0 +1,40 @@ +name: Helm + +on: + pull_request: + types: [ "opened", "reopened", "synchronize" ] + push: + tags-ignore: + - '**' + workflow_dispatch: {} + +jobs: + helm-lint: + container: + image: docker.io/volkerraschek/helm:3.16.1 + runs-on: + - ubuntu-latest + steps: + - name: Install tooling + run: | + apk update + apk add git npm + - uses: actions/checkout@v4.2.2 + - name: Lint helm files + run: | + helm lint --values values.yaml . + + helm-unittest: + container: + image: docker.io/volkerraschek/helm:3.16.1 + runs-on: + - ubuntu-latest + steps: + - name: Install tooling + run: | + apk update + apk add git npm + - uses: actions/checkout@v4.2.2 + - name: Unittest + run: | + helm unittest --strict --file 'unittests/**/*.yaml' ./ \ No newline at end of file diff --git a/.gitea/workflows/markdown-linters.yaml b/.gitea/workflows/markdown-linters.yaml new file mode 100644 index 0000000..9046bdc --- /dev/null +++ b/.gitea/workflows/markdown-linters.yaml @@ -0,0 +1,44 @@ +name: Markdown linter + +on: + pull_request: + paths: [ "**/*.md" ] + types: [ "opened", "reopened", "synchronize" ] + push: + paths: [ "**/*.md" ] + tags-ignore: + - '**' + workflow_dispatch: {} + +jobs: + markdown-link-checker: + container: + image: docker.io/library/node:22.9.0-alpine + runs-on: + - ubuntu-latest + steps: + - name: Install tooling + run: | + apk update + apk add git + - uses: actions/checkout@v4.2.2 + - name: Verify links in markdown files + run: | + npm install + npm run readme:link + + markdown-lint: + container: + image: docker.io/library/node:22.9.0-alpine + runs-on: + - ubuntu-latest + steps: + - name: Install tooling + run: | + apk update + apk add git + - uses: actions/checkout@v4.2.2 + - name: Lint markdown files + run: | + npm install + npm run readme:lint diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..e3519ee --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,45 @@ +name: Release + +on: + push: + tags: + - "**" + +jobs: + publish-chart: + container: + image: docker.io/volkerraschek/helm:3.16.1 + runs-on: ubuntu-latest + steps: + - name: Install tooling + run: | + apk update + apk add git npm + - uses: actions/checkout@v4 + - name: Package chart + env: + HELM_REPO_NAME: upload + + CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }} + CHARTMUSEUM_USERNAME: ${{ secrets.CHARTMUSEUM_USERNAME }} + CHARTMUSEUM_HOSTNAME: ${{ vars.CHARTMUSEUM_HOSTNAME }} + + GITEA_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} + GITEA_SERVER_URL: ${{ github.server_url }} + run: | + PACKAGE_VERSION=${GITHUB_REF#refs/tags/} + REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 2) + REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1) + + helm dependency build + helm package --version "${PACKAGE_VERSION}" ./ + + # chart-museum + helm repo add --username ${CHARTMUSEUM_USERNAME} --password ${CHARTMUSEUM_PASSWORD} ${HELM_REPO_NAME} https://${CHARTMUSEUM_HOSTNAME}/${HELM_REPO_NAME} + helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz ${HELM_REPO_NAME} + helm repo remove ${HELM_REPO_NAME} + + # gitea + helm repo add --username ${REPOSITORY_OWNER} --password ${GITEA_PACKAGE_REGISTRY_TOKEN} ${HELM_REPO_NAME} ${GITEA_SERVER_URL}/api/packages/${REPOSITORY_OWNER}/helm + helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz ${HELM_REPO_NAME} + helm repo remove ${HELM_REPO_NAME} \ No newline at end of file diff --git a/Makefile b/Makefile index 389616d..6bb1e0e 100644 --- a/Makefile +++ b/Makefile @@ -3,13 +3,13 @@ CONTAINER_RUNTIME?=$(shell which podman) # HELM_IMAGE HELM_IMAGE_REGISTRY_HOST?=docker.io -HELM_IMAGE_REPOSITORY=volkerraschek/helm +HELM_IMAGE_REPOSITORY?=volkerraschek/helm HELM_IMAGE_VERSION?=3.16.1 # renovate: datasource=docker registryUrl=https://docker.io depName=volkerraschek/helm HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION} # NODE_IMAGE NODE_IMAGE_REGISTRY_HOST?=docker.io -NODE_IMAGE_REPOSITORY=library/node +NODE_IMAGE_REPOSITORY?=library/node NODE_IMAGE_VERSION?=22.9.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=library/node NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION}