Skip to content

Feature/4.0/helm installer #3

Feature/4.0/helm installer

Feature/4.0/helm installer #3

name: Client Programs CI
on:
push:
branches: [develop, main]
paths:
- 'client-programs/**'
- 'installer/charts/educates-installer/**'
- 'go.work'
- 'go.work.sum'
- '.github/workflows/client-programs-ci.yaml'
pull_request:
paths:
- 'client-programs/**'
- 'installer/charts/educates-installer/**'
- 'go.work'
- 'go.work.sum'
- '.github/workflows/client-programs-ci.yaml'
jobs:
ci:
name: Build, vet, test, drift checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: client-programs/go.mod
cache-dependency-path: |
go.work.sum
client-programs/go.sum
# hugo.go embeds pkg/renderer/files/* via //go:embed, but that
# directory is gitignored and populated at build time from the
# base-environment themes (mirrors the Makefile/Dockerfile copy).
# Without it, go vet/build/test fail with "no matching files found".
- name: Stage embedded theme files
run: |
rm -rf client-programs/pkg/renderer/files
mkdir -p client-programs/pkg/renderer/files
cp -rp workshop-images/base-environment/opt/eduk8s/etc/themes client-programs/pkg/renderer/files/
- name: go vet
working-directory: client-programs
run: go vet ./...
- name: go build
working-directory: client-programs
run: go build ./...
- name: go test
working-directory: client-programs
run: go test ./...
# The embedded operator chart and the generated EducatesConfig
# schema are committed copies of canonical sources
# (installer/charts/educates-installer and the platform CRDs).
# Both checks regenerate and fail on any diff so a chart or CRD
# change can't ship a stale CLI.
- name: embedded chart drift check
run: make verify-installer-chart
- name: CLI schema drift check
run: make verify-cli-schemas