test: add generated example checks and e2e#6
Merged
Conversation
6 tasks
mrkaye97
approved these changes
Jun 17, 2026
mrkaye97
left a comment
There was a problem hiding this comment.
I didn't look through this one very closely since it's a lot of bash 😅 looks fine to me though, although I wonder if there's a way to simplify more
37efe32 to
db93c4a
Compare
343de03 to
6c5fb58
Compare
Collaborator
Author
|
Hey @mrkaye97, I took another look to see if there was a way to simplify this. I think it is about as simple it can be while still keeping the checks and retries. For now, I am going to merge this as is. Thanks for the review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds two test layers for the generated examples. It is stacked on #5.
examples-check is a fast layer that runs on every pull request. It does not start an engine, so it proves the examples compile, not that they run.
examples-e2e is the runtime layer. It installs the Hatchet CLI, starts a real local engine via Docker, and for each example starts the generated worker, triggers the workflow, and asserts the expected output.
The engine tag defaults to latest rather than a pinned version, so the e2e is not yet reproducible against a fixed engine. Pinning is deferred until a tag compatible with the examples' pinned SDKs is chosen. examples-e2e runs on pull_request for now so CI exercises it on this PR. If it proves flaky, it can move to workflow_dispatch and a schedule before merge.
Refs hatchet-dev/hatchet#4107
Type of change
What's Changed
examples-checkworkflow andhack/check-examples.sh: build and vet Go, install and typecheck TypeScript, install and byte-compile Pythonexamples-e2eworkflow andhack/e2e-examples.sh: start a real engine, run each generated worker, trigger its workflow, assert the expected output, then remove the workers and containersChecklist
Changes have been:
Testing
🤖 AI Disclosure