zilla icon indicating copy to clipboard operation
zilla copied to clipboard

Automate `zilla` `develop-SNAPSHOT` acceptance tests for `zilla-examples` scenarios

Open vordimous opened this issue 3 years ago • 1 comments

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-examples scenario is automated via GitHub Actions, following the steps in each README
  • The develop-SNAPSHOT version of zilla is used for automated testing by default
  • A local develop-SNAPSHOT build of zilla is 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

vordimous avatar Mar 20 '23 16:03 vordimous

This is now folded into the docker compose automated testing of examples in zilla repository.

jfallows avatar Mar 13 '25 17:03 jfallows