Azure / draft

A day 0 tool for getting your app on k8s fast
MIT License
493 stars 58 forks source link

Proposal: Move e2e from bash/gh actions to golang #240

Open davidgamero opened 6 months ago

davidgamero commented 6 months ago

Is your feature request related to a problem? Please describe. The current draft e2e is written in bash across a series of files, which yield a set of tremendous github workflow yamls

This cannot be run locally easily, and has a high adoption cost to get into the build-test-iteration loop

Migrating to a go-based testing framework for e2e would allow the tests to be run locally easier, and make them much faster to test

Describe alternatives you've considered Keep the tests in gh actions

Additional context something like the testing implemented in https://github.com/Azure/aks-app-routing-operator by @OliverMKing

OliverMKing commented 6 months ago

You should use this if testing on a private cluster isn't a requirement. Our current e2e tests in Draft use a local cluster which works nicely with the k8s sig e2e framework.

davidgamero commented 6 months ago

this is a good idea, it looks like the k8s-e2e-framework doesn't support kubectl apply, so we'd test by marshaling the created manifests into k8s objects or using the corresponding clients to bake for helm/kustomize

davidgamero commented 6 months ago

testing the oidc github integration would need a different approach since it uses aks-specific features