mirror of
https://github.com/stefanprodan/podinfo.git
synced 2026-04-19 09:16:40 +00:00
76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
name: test
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
KUBERNETES_VERSION: 1.26.0
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Restore Go cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: ${{ runner.os }}-go-
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v3
|
|
with:
|
|
go-version: 1.20.x
|
|
- name: Setup kubectl
|
|
uses: azure/setup-kubectl@v3
|
|
with:
|
|
version: v${{ env.KUBERNETES_VERSION }}
|
|
- name: Setup kubeconform
|
|
uses: ./.github/actions/kubeconform
|
|
- name: Setup Helm
|
|
uses: azure/setup-helm@v3
|
|
with:
|
|
version: v3.10.3
|
|
- name: Setup CUE
|
|
uses: cue-lang/setup-cue@main
|
|
- name: Run unit tests
|
|
run: make test
|
|
- name: Validate Helm chart
|
|
run: |
|
|
helm lint ./charts/podinfo/
|
|
helm template ./charts/podinfo/ | kubeconform -strict -summary -kubernetes-version ${{ env.KUBERNETES_VERSION }}
|
|
- name: Validate Kustomize overlay
|
|
run: |
|
|
kubectl kustomize ./kustomize/ | kubeconform -strict -summary -kubernetes-version ${{ env.KUBERNETES_VERSION }}
|
|
- name: Generate CUE definitions
|
|
run: make cue-mod
|
|
- name: Verify CUE formatting
|
|
working-directory: ./cue
|
|
run: |
|
|
cue fmt .
|
|
status=$(git status . --porcelain)
|
|
[[ -z "$status" ]] || {
|
|
echo "CUE files are not correctly formatted"
|
|
echo "$status"
|
|
git diff
|
|
exit 1
|
|
}
|
|
- name: Validate CUE
|
|
working-directory: ./cue
|
|
run: |
|
|
cue vet --all-errors --concrete .
|
|
cue gen | kubeconform -strict -summary -skip=ServiceMonitor -kubernetes-version ${{ env.KUBERNETES_VERSION }}
|
|
- name: Check if working tree is dirty
|
|
run: |
|
|
if [[ $(git diff --stat) != '' ]]; then
|
|
echo 'run make test and commit changes'
|
|
exit 1
|
|
fi
|