Skip to content

feat(iac): Expose k3s kubeconfig as a terraform output #13

feat(iac): Expose k3s kubeconfig as a terraform output

feat(iac): Expose k3s kubeconfig as a terraform output #13

name: Kubernetes - Lint, Test, and Publish Helm Charts
on: pull_request
defaults:
run:
working-directory: ./deployment/kubernetes
jobs:
helm-lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/[email protected]
with:
version: v3.17.0
- uses: actions/[email protected]
with:
python-version: '3.x'
check-latest: true
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch}})
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 --target-branch ${{ github.event.repository.default_branch }}
- name: Create kind cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/[email protected]
- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'
run: ct install --target-branch ${{ github.event.repository.default_branch }}
helm-publish:
runs-on: ubuntu-latest
needs: helm-lint-test
env:
CHART_VERSION: 0.0.1
steps:
- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Helm
uses: azure/[email protected]
with:
version: v3.17.0
- name: Checkout
uses: actions/checkout@v5
- name: Package Helm Charts
run: |
helm package ./charts/medcat-service-helm --version $CHART_VERSION
helm package ./charts/medcat-trainer-helm --version $CHART_VERSION --dependency-update
- name: Helm OCI login to Docker Hub
run: helm registry login registry-1.docker.io -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push Helm Chart to Docker Hub OCI
run: |
helm push ./medcat-service-helm-${CHART_VERSION}.tgz oci://registry-1.docker.io/cogstacksystems
helm push ./medcat-trainer-helm-${CHART_VERSION}.tgz oci://registry-1.docker.io/cogstacksystems