Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bafdf71
fix(chart): correct changelog YAML structure
lexfrei Nov 8, 2025
f9d897c
feat(chart): add JSON Schema with NetworkPolicy/hostNetwork conflict …
lexfrei Nov 8, 2025
29d292e
refactor(schema): comprehensive validation with enums, patterns, and …
lexfrei Nov 8, 2025
cf2e60e
docs(charts): simplify NOTES.txt and fix banner formatting
lexfrei Nov 8, 2025
a08951a
test(charts): comprehensive test improvements and expansions
lexfrei Nov 8, 2025
9c0cf43
test(charts): add critical resource tests (ingress, serviceaccount, s…
lexfrei Nov 8, 2025
6c59c59
test(charts): add deployment parameter tests and validation suite
lexfrei Nov 8, 2025
9e5d0b8
test(charts): add integration scenarios and regression tests
lexfrei Nov 8, 2025
1bf9f72
fix(tests): quote regex patterns in matchRegex assertions
lexfrei Nov 8, 2025
7e2690d
fix(charts): add automountServiceAccountToken and fix schema validations
lexfrei Nov 8, 2025
e34c0db
fix(tests): fix label/annotation paths and add missing templates
lexfrei Nov 8, 2025
697cf41
fix(tests): fix all helm-unittest test failures
lexfrei Nov 8, 2025
8982955
feat(ci): add comprehensive PR checks workflow
lexfrei Nov 8, 2025
68125eb
fix(ci): resolve yamllint errors and regenerate helm-docs
lexfrei Nov 8, 2025
86a97f8
fix(ci): update GitHub Actions to latest versions with tag references
lexfrei Nov 8, 2025
8353e40
fix(ci): resolve markdownlint errors and update Kubernetes versions
lexfrei Nov 8, 2025
abf5db7
fix(docs): rename duplicate Troubleshooting heading in README template
lexfrei Nov 8, 2025
af54122
fix(ci): hardcode master branch for ct list-changed
lexfrei Nov 8, 2025
9ece64a
fix(ci): downgrade Python to 3.13 due to yamale incompatibility
lexfrei Nov 8, 2025
23df666
fix(docs): resolve markdownlint errors
lexfrei Nov 8, 2025
a22d904
fix(docs): fix markdownlint error in README template
lexfrei Nov 8, 2025
3820862
feat(examples): add deployment examples for common use cases
lexfrei Nov 8, 2025
0f61226
feat(chart): add Artifact Hub metadata
lexfrei Nov 9, 2025
7faea20
fix(chart): add helm chart repository link and regenerate docs
lexfrei Nov 9, 2025
4c8b94a
docs(chart): simplify maintainers section
lexfrei Nov 9, 2025
f0ca367
docs(chart): replace generic Helm instructions with Quick Start
lexfrei Nov 9, 2025
dc728b5
fix(chart): restore LICENSE file
lexfrei Nov 9, 2025
4af420b
Merge branch 'master-vnext' into chore/testing-and-validation
crobibero Dec 20, 2025
b6fa3ba
Remove success message from helm-unittest
crobibero Dec 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions .github/workflows/pr-checks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: PR Checks

on:
pull_request:
paths:
- 'charts/**'
- '.github/workflows/pr-checks.yaml'
- 'ct.yaml'

permissions:
contents: read
pull-requests: read

jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: v3.14.0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'

# Check 1: Verify helm-docs is up to date
- name: Verify helm-docs up to date
uses: losisin/helm-docs-github-action@v1
with:
fail-on-diff: true

# Check 2: Run helm-unittest tests
- name: Install helm-unittest plugin
run: helm plugin install https://github.com/helm-unittest/helm-unittest.git

- name: Run helm-unittest
run: |
helm unittest charts/jellyfin --with-subchart=false

# Check 3: Helm lint (includes schema validation)
- name: Helm lint
run: helm lint charts/jellyfin

# Check 4: Helm template validation
- name: Helm template validation
run: helm template test charts/jellyfin --debug > /dev/null

# Check 5: Chart-testing (ct lint)
- name: Set up chart-testing
uses: helm/chart-testing-action@v2

- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch master --config ct.yaml)
if [[ -n "$changed" ]]; then
echo "changed=true" >> $GITHUB_OUTPUT
fi

- name: Run chart-testing (lint)
if: steps.list-changed.outputs.changed == 'true'
run: ct lint --config ct.yaml

# Check 6: Kubernetes manifest validation with kubeconform
- name: Install kubeconform
run: |
# renovate: datasource=github-releases depName=yannh/kubeconform
VERSION=v0.6.7
wget -qO- https://github.com/yannh/kubeconform/releases/download/${VERSION}/kubeconform-linux-amd64.tar.gz | tar xz
sudo mv kubeconform /usr/local/bin/
kubeconform -v

- name: Validate Kubernetes manifests
run: |
# Validate against multiple Kubernetes versions (last 5 stable releases)
for k8s_version in 1.30.0 1.31.0 1.32.0 1.33.0 1.34.0; do
echo "Validating against Kubernetes $k8s_version"
helm template test charts/jellyfin \
| kubeconform -strict -summary -kubernetes-version $k8s_version
done

# Check 7: Markdown lint
- name: Lint markdown files
uses: DavidAnson/markdownlint-cli2-action@v18
with:
globs: 'charts/**/*.md'
25 changes: 25 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# markdownlint configuration
# https://github.com/DavidAnson/markdownlint

default: true

# MD013/line-length - Line length (disabled for technical docs)
MD013: false

# MD022/blanks-around-headings - Disabled for helm-docs generated content
MD022: false

# MD031/blanks-around-fences - Disabled for helm-docs generated content
MD031: false

# MD032/blanks-around-lists - Disabled for helm-docs generated content
MD032: false

# MD033/no-inline-html
MD033: false

# MD034/no-bare-urls - Disabled for helm-docs generated content
MD034: false

# MD041/first-line-heading
MD041: false
21 changes: 21 additions & 0 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# yamllint configuration
# https://yamllint.readthedocs.io/

extends: default

ignore: |
charts/*/templates/
.github/

rules:
line-length:
max: 120
level: warning
document-start: disable
truthy:
allowed-values: ['true', 'false', 'on', 'off']
comments:
min-spaces-from-content: 1
indentation:
spaces: 2
indent-sequences: true
16 changes: 16 additions & 0 deletions charts/jellyfin/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,23 @@ keywords:
- media
- self-hosted
version: 3.0.0
maintainers:
- name: Jellyfin Project
url: https://jellyfin.org
appVersion: "10.11.5"
annotations:
artifacthub.io/links: |
- name: Documentation
url: https://jellyfin.org/docs/
- name: GitHub Repository
url: https://github.com/jellyfin/jellyfin
- name: Helm Chart Repository
url: https://github.com/jellyfin/jellyfin-helm
- name: Support
url: https://jellyfin.org/contact/
artifacthub.io/maintainers: |
- name: Jellyfin Project
url: https://jellyfin.org
artifacthub.io/changes: |
- kind: changed
description: Update Jellyfin to 10.11.5
Expand All @@ -23,6 +38,7 @@ annotations:
links:
- name: Documentation
url: https://kubernetes.io/docs/concepts/services-networking/network-policies/
- kind: added
description: Add troubleshooting documentation for inotify instance limits with workaround example
- kind: added
description: Add support for Gateway API HTTPRoute resource
Expand Down
Loading
Loading