feat: add github stuff

Signed-off-by: Jonathan Irvin <djfoxyslpr@gmail.com>
This commit is contained in:
Jonathan Irvin
2024-09-10 11:02:00 -05:00
parent 61cb199c75
commit 175d535943
11 changed files with 348 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
name: "🐛 Helm Chart Bug Report"
description: "Submit a bug report for the Helm chart to help us improve"
title: "🐛 Helm Chart Bug: "
labels: ["type: bug", "component: helm-chart"]
body:
- type: markdown
attributes:
value: We appreciate your time and effort in submitting this bug report for our Helm chart. 🙏
- type: textarea
id: description
validations:
required: true
attributes:
label: "📜 Description"
description: "A clear and concise description of what the bug is."
placeholder: "The Helm chart fails to deploy when ..."
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: "👟 Reproduction steps"
description: "How do you trigger this bug? Please walk us through it step by step."
placeholder: "1. Set the following values in values.yaml: ...
2. Run 'helm install ...'
3. Observe the error in ..."
- type: textarea
id: expected-behavior
validations:
required: true
attributes:
label: "👍 Expected behavior"
description: "What did you expect to happen?"
placeholder: "The Helm chart should successfully deploy and ..."
- type: textarea
id: actual-behavior
validations:
required: true
attributes:
label: "👎 Actual Behavior"
description: "What actually happened? Please include any error messages or logs."
placeholder: "The Helm chart failed to deploy with the following error: ..."
- type: input
id: kubernetes-version
validations:
required: true
attributes:
label: "☸️ Kubernetes Version"
description: "What version of Kubernetes are you using?"
placeholder: "v1.22.0"
- type: input
id: helm-version
validations:
required: true
attributes:
label: "⎈ Helm Version"
description: "What version of Helm are you using?"
placeholder: "v3.7.0"
- type: input
id: chart-version
validations:
required: true
attributes:
label: "📊 Chart Version"
description: "What version of our Helm chart are you using?"
placeholder: "1.0.0"
- type: dropdown
id: cloud-provider
attributes:
label: "☁️ Cloud Provider"
description: "Which cloud provider or platform are you using?"
options:
- AWS
- Google Cloud
- Azure
- DigitalOcean
- On-premises
- Other
validations:
required: true
- type: textarea
id: custom-values
attributes:
label: "🛠️ Custom Values"
description: "If applicable, provide the custom values you're using (remember to remove any sensitive information)"
render: yaml
- type: textarea
id: additional-context
attributes:
label: "📃 Additional Context"
description: "Add any other context about the problem here."
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "👀 Have you checked if this bug has been reported before?"
options:
- label: "I have searched existing issues and didn't find a similar bug report"
required: true
- type: dropdown
attributes:
label: Are you willing to submit a PR?
description: This is not required, but we're happy to guide you through the process. Join our community for support!
options:
- "Yes, I'm willing to submit a PR!"
- "No, not at this time"
@@ -0,0 +1,77 @@
name: 🚀 Helm Chart Feature Request
description: "Submit a proposal for a new feature in the Helm chart"
title: "🚀 Helm Chart Feature: "
labels: [feature, component: helm-chart]
body:
- type: markdown
attributes:
value: |
We appreciate your time and effort in submitting this Feature request for our Helm chart. 🙏
- type: textarea
id: feature-description
validations:
required: true
attributes:
label: "🔖 Feature description"
description: "A clear and concise description of the feature you're proposing for the Helm chart."
placeholder: "The Helm chart should support ..."
- type: textarea
id: use-case
validations:
required: true
attributes:
label: "🎯 Use Case"
description: "Please describe the use case for this feature. How would it benefit users of the Helm chart?"
placeholder: "This feature would allow users to ..."
- type: textarea
id: proposed-implementation
validations:
required: true
attributes:
label: "✨ Proposed Implementation"
description: "If you have ideas on how this feature could be implemented in the Helm chart, please share them here."
placeholder: "This could be implemented by adding the following to the values.yaml: ..."
- type: textarea
id: alternatives-considered
validations:
required: false
attributes:
label: "🔄 Alternatives Considered"
description: "Have you considered any alternative solutions or workarounds? If so, please describe them here."
placeholder: "I've considered using ... but it doesn't fully address the need because ..."
- type: textarea
id: additional-context
validations:
required: false
attributes:
label: "📘 Additional Context"
description: "Any other context, screenshots, or examples that might help illustrate the feature request."
- type: input
id: helm-version
attributes:
label: "⎈ Helm Version"
description: "What version of Helm are you using? This helps us understand compatibility considerations."
placeholder: "v3.7.0"
- type: input
id: chart-version
attributes:
label: "📊 Current Chart Version"
description: "What version of our Helm chart are you currently using?"
placeholder: "1.0.0"
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "👀 Have you checked if this feature has been requested before?"
options:
- label: "I have searched existing issues and didn't find a similar feature request"
required: true
- type: dropdown
id: willing-to-submit-pr
attributes:
label: "🤝 Contribution"
description: "Would you be willing to submit a PR for this feature? (This is not required, but we're happy to guide you through the process!)"
options:
- "Yes, I'd be willing to submit a PR!"
- "No, not at this time"
validations:
required: true
+63
View File
@@ -0,0 +1,63 @@
# Pull Request Template for Helm Chart
## Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
## Type of change
Please delete options that are not relevant.
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
## How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.
- [ ] Test A
- [ ] Test B
**Test Configuration**:
* Kubernetes version:
* Helm version:
* Minikube/kind version (if applicable):
## Checklist:
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] I have checked my code and corrected any misspellings
## Additional Information
- **Does this change introduce any new Kubernetes resource types?** (Yes/No)
If yes, please list them:
- **Does this change modify any existing Kubernetes resource types?** (Yes/No)
If yes, please describe the modifications:
- **Are there any changes to the values.yaml file?** (Yes/No)
If yes, please describe the changes and their purpose:
- **Does this change require any specific Kubernetes permissions or RBAC changes?** (Yes/No)
If yes, please describe the required permissions:
- **Are there any changes to chart dependencies?** (Yes/No)
If yes, please list the changes:
- **Have you updated the CHANGELOG.md file?** (Yes/No)
## Additional context
Add any other context or screenshots about the pull request here.
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

+102
View File
@@ -0,0 +1,102 @@
name: Helm Chart CI/CD
on:
push:
branches: [ main ]
paths:
- 'charts/**'
- '.github/workflows/helm-chart-ci-cd.yml'
pull_request:
branches: [ main ]
paths:
- 'charts/**'
- '.github/workflows/helm-chart-ci-cd.yml'
release:
types: [created]
env:
CHART_NAME: postiz
CHART_PATH: ./charts/postiz
jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.11.1
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.3.1
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --config ct.yaml)
if [[ -n "$changed" ]]; then
echo "changed=true" >> $GITHUB_OUTPUT
fi
- name: Run chart-testing (lint)
run: ct lint --config ct.yaml
- name: Create kind cluster
uses: helm/kind-action@v1.5.0
if: steps.list-changed.outputs.changed == 'true'
- name: Run chart-testing (install)
run: ct install --config ct.yaml
publish:
needs: lint-test
runs-on: ubuntu-latest
if: github.event_name == 'release'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.11.1
- name: Add dependency repositories
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Update dependencies
run: |
helm dependency update ${{ env.CHART_PATH }}
- name: Package Helm chart
run: |
helm package ${{ env.CHART_PATH }}
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.5.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
charts_dir: charts
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push Helm chart to GitHub Packages
run: |
helm push ${{ env.CHART_NAME }}*.tgz oci://ghcr.io/${{ github.repository }}/charts