Automate `zilla` `develop-SNAPSHOT` acceptance tests for `zilla-examples` scenarios
Describe the desired outcome from the user's perspective
As a zilla developer, I want to have confidence that my changes have no negative impact on zilla-examples scenarios.
Acceptance criteria
- Each
zilla-examplesscenario is automated via GitHub Actions, following the steps in each README - The
develop-SNAPSHOTversion ofzillais used for automated testing by default - A local
develop-SNAPSHOTbuild ofzillais created and cached via GitHub Actions as needed - If any of the steps in the README do not behave as expected, then the GitHub Actions workflow fails
- Enough information is retained when the GitHub Actions workflow fails to diagnose the failure
- Ideally, the same tools recommended by the README are used by the workflow to verify correctness
- The workflow may be triggered by a timer, or manually
Additional context
See potentially helpful kind tool for k8s automation.
Running GH actions can be executed in a container. The container needed for the GH action can be pulled locally to test any action steps.
sparse-checkout can only clone certain folders or patterns of folders.
Export results to the $GITHUB_OUTPUT var.
Use path-specific action triggers and global env vars to make jobs and tasks more generic.
on:
push:
paths:
- "path/to/example/**/*"
env:
EXAMPLE_PATH: path/to/example
Tasks
- [x] https://github.com/aklivity/zilla/issues/1263
- [ ] automate amqp.reflect
- [ ] automate grpc.echo
- [ ] automate grpc.kafka.echo
- [ ] automate grpc.kafka.fanout
- [ ] automate grpc.kafka.proxy
- [ ] automate grpc.proxy
- [ ] automate http.echo
- [ ] automate http.echo.jwt
- [ ] automate http.filesystem
- [ ] automate http.filesystem.config.server
- [ ] automate http.kafka.async
- [ ] automate http.kafka.cache
- [ ] automate http.kafka.crud
- [ ] automate http.kafka.karapace
- [ ] automate http.kafka.oneway
- [ ] automate http.kafka.sasl.scram
- [ ] automate http.kafka.sync
- [ ] automate http.proxy
- [ ] automate http.proxy.schema.inline
- [ ] automate http.redpanda.sasl.scram
- [ ] automate kubernetes.prometheus.autoscale
- [ ] automate mqtt.kafka.asyncapi.proxy
- [ ] automate mqtt.kafka.broker
- [ ] automate mqtt.kafka.broker.jwt
- [ ] automate mqtt.proxy.asyncapi
- [x] https://github.com/aklivity/zilla-examples/issues/124
- [ ] automate quickstart
- [ ] automate sse.kafka.fanout
- [ ] automate sse.proxy.jwt
- [ ] automate tcp.echo
- [ ] automate tcp.reflect
- [x] https://github.com/aklivity/zilla-examples/issues/125
- [ ] automate tls.reflect
- [ ] automate ws.echo
- [ ] automate ws.reflect
This is now folded into the docker compose automated testing of examples in zilla repository.