Add release workflow to publish docker image #21
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: k8s-lint | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
k8s-lint: | |
name: helm-lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: alexellis/setup-arkade@v1 | |
- uses: alexellis/arkade-get@master | |
with: | |
kubectl: latest | |
kustomize: latest | |
kubeconform: latest | |
kubeval: latest | |
helm: latest | |
stern: latest | |
jq: latest | |
yq: latest | |
- name: helm-lint-dex-k8s-auth | |
run: | | |
helm lint charts/dex-k8s-authenticator | |
- name: helm-template | |
run: | | |
helm template charts/dex-k8s-authenticator --output-dir ./tmp/workspace/rendered-charts/dex-k8s-authenticator | |
- name: kubeval | |
run: | | |
kubeval -d ./tmp/workspace/rendered-charts --strict --ignore-missing-schemas | |
e2e: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: alexellis/arkade-get@master | |
with: | |
kubectl: latest | |
stern: latest | |
- name: setup-kind | |
uses: helm/[email protected] | |
with: | |
cluster_name: kind | |
- name: build-ci-image | |
run: | | |
docker build -t sl1pm4t/dex-k8s-authenticator:${GITHUB_SHA} . | |
kind load docker-image sl1pm4t/dex-k8s-authenticator:${GITHUB_SHA} | |
- name: update-helm-values | |
run: | | |
set -x | |
export NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}") | |
export CI_TAG=$GITHUB_SHA | |
envsubst < ./tests/e2e/helm/dex-overrides.yaml > /tmp/dex-overrides.yaml | |
envsubst < ./tests/e2e/helm/dex-k8s-auth-overrides.yaml > /tmp/dex-k8s-auth-overrides.yaml | |
- name: install-dex | |
run: | | |
helm repo add dexidp https://charts.dexidp.io | |
helm install -f /tmp/dex-overrides.yaml dex dexidp/dex | |
kubectl describe deployment dex | |
kubectl rollout status deploy dex -w | |
- name: install-dex-auth | |
run: | | |
helm install -f /tmp/dex-k8s-auth-overrides.yaml dex-k8s-authenticator ./charts/dex-k8s-authenticator | |
kubectl describe deployment dex-k8s-authenticator | |
kubectl rollout status deploy dex-k8s-authenticator -w || (stern --no-follow dex-k8s-authenticator) | |
- name: test | |
run: | | |
kubectl get pods | |
export NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}") | |
curl -Lsf "http://${NODE_IP}:30000/login/my-cluster" | grep "Log in to Your Account" |