Skip to content

changed repo structure to fix publishing #48

changed repo structure to fix publishing

changed repo structure to fix publishing #48

Workflow file for this run

on:
push:
branches:
- master
pull_request:
jobs:
test-on-minikube:
strategy:
matrix:
k8s:
- v1.26
- v1.27
- v1.28
- v1.29
runs-on: ubuntu-22.04
steps:
- uses: medyagh/[email protected]
with:
kubernetes-version: ${{ matrix.k8s }}
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: azure/setup-helm@v4
- name: testing helm chart
run: |
cd charts/redash
helm lint .
helm dependency build .
cat > test-values.yaml <<- EOM
redash:
cookieSecret: $(openssl rand -base64 32)
secretKey: $(openssl rand -base64 32)
env:
REDASH_WEB_WORKERS: 1
postgresql:
auth:
password: $(openssl rand -base64 32)
worker:
env:
WORKERS_COUNT: 1
EOM
helm upgrade --install redash . --wait -f test-values.yaml
sleep 10
helm test redash
helm delete redash
helm upgrade --install redashup . --wait -f test-values.yaml
kubectl get pod -l "app.kubernetes.io/instance=redashup,app.kubernetes.io/component=server" -o jsonpath="{..image}"
sleep 10
helm test redashup
kubectl delete pod -l "app.kubernetes.io/instance=redashup,app.kubernetes.io/component=test-connection"
helm upgrade --install redashup . --wait --reset-values -f test-values.yaml
kubectl get pod -l "app.kubernetes.io/instance=redashup,app.kubernetes.io/component=server" -o jsonpath="{..image}"
sleep 10
helm test redashup
kubectl top node || true
kubectl top pod -A || true
kubectl get all -A || true
echo "TEST LOGS"
kubectl describe pod "$(kubectl get pods -l 'app.kubernetes.io/component=test-connection' -o jsonpath='{.items[0].metadata.name}')"
kubectl logs --tail=20 -l "app.kubernetes.io/component=test-connection" || true
echo "INSTALL LOGS"
kubectl logs --tail=40 -l "job-name=redash-install" || true
echo "UPGRADE LOGS"
kubectl logs --tail=40 -l "job-name=redash-upgrade" || true
echo "SERVER LOGS"
kubectl logs --tail=20 -l "app.kubernetes.io/component=server" || true
echo "MINIKUBE LOGS"
minikube logs -n10 || true
publish-chart:
needs: test-on-minikube
runs-on: ubuntu-22.04
if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: azure/setup-helm@v4
- id: get-chart-version
uses: mikefarah/yq@master
with:
cmd: yq '.version' Chart.yaml
- id: skip-check
env:
VERSION: v${{ steps.get-chart-version.outputs.result }}
run: |
if git show-ref --tags --quiet --verify -- "refs/tags/$VERSION"; then
echo "Release already exists, skipping publish job"
echo skip=true >> "$GITHUB_OUTPUT"
else
echo "Tagging release"
git tag "$VERSION"
git push origin "$VERSION"
echo skip=false >> "$GITHUB_OUTPUT"
fi
- uses: helm/[email protected]
if: steps.skip-check.outputs.skip == 'false'
env:
CR_TOKEN: ${{ secrets.GITHUB_TOKEN }}