Commit Graph

95 Commits

Author SHA1 Message Date
Matt Kaye 993817b049 [Python] Single listener base class + bug fixes + refactors (#1470)
* fix: register durable steps and workflows separately

* chore: initial copy of pooled listener

* feat: initial generic impl

* feat: use pooled listener for wf run listener

* refactor: move listeners to subdir

* feat: refactor durable event listener

* fix: bug

* feat: share single pooled workflow listener and event listener everywhere

* cruft: rm hatchet fixture

* fix: rebase issue

* feat: remove asyncio api client in favor of sync one

* chore: minor version

* proposal: crazy hack idea to make the workflow run listener work

* fix: sleeps and error handling

* Revert "cruft: rm hatchet fixture"

This reverts commit b75f625e6ccec095e8c4e294d6727db166796411.

* fix: set timeout

* fix: rm pytest-timeout

* fix: rm retry

* fix: use v1 by default

* fix: try removing retry state

* fix: try using async client?

* fix: try running sequentially

* debug: loop

* debug: maybe it's this?

* fix: lint

* fix: re-remove unused fixtures

* fix: lazily create clients in admin client

* fix: default

* fix: lazily initialize dispatcher client

* fix: hint

* fix: no. way.

* feat: add back retries in ci

* fix: clients + imports

* fix: loop scope

* debug: try running skipped tests in ci again

* Revert "debug: try running skipped tests in ci again"

This reverts commit 8d9e18150e5207ee6051d8df8a6fe2a7504c722e.

* fix: rm duped code

* refactor: rename everything as `to_proto`

* refactor: removals of `namespace` being passed around

* fix: task output stupidity

* feat: add deprecation warning

* fix: remove more unused code

* feat: mix sync and async in dag example

* fix: autouse

* fix: more input types

* feat: remove ability to pass in loop

* fix: overload key gen
2025-04-10 08:18:17 -04:00
Matt Kaye b3e5630e1a Fix: Move Non-Retryable to hatchet_sdk.exceptions (#1483)
* feat: move non-retry to exceptions

* fix: client config default

* chore: ver

* cleanup: fix some dependencies

* feat: add retries to pytest in CI
2025-04-03 09:00:18 -04:00
abelanger5 61e8e95212 fix: improve performance of signal events query (#1468)
* fix: improve performance of signal events query

* fix: run python + ts tests on engine changes

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2025-04-01 15:34:31 -04:00
Matt Kaye 25eb1e4a73 Fix: More Path Filtering (#1448)
* fix: run on all sdk changes

* fix: check versions before publishing

* fix: dummy change to publish TS
2025-03-28 19:20:01 -07:00
Gabe Ruttner f2a6867068 fix: build (#1447)
* fix: build

* Fix: Type check in TS CI (#1446)

* fix: type check in TS CI

* dummy change

---------

Co-authored-by: Matt Kaye <mrkaye97@gmail.com>
2025-03-28 09:16:02 -07:00
Matt Kaye 3dc45e4bb1 Fix: More Path Filters (#1443)
* fix: add more path filters and remove check path action

* feat: only run on changes to pyproject.toml / package.json

* fix: try bumping golangci-lint

* fix: golang ci config

* fix: upgrade pre commit ver

* Revert "fix: upgrade pre commit ver"

This reverts commit 9cdbfc68da.

* Revert "fix: golang ci config"

This reverts commit 6b27c1abd0.

* Revert "fix: try bumping golangci-lint"

This reverts commit f7bfcb6963.
2025-03-28 11:16:56 -04:00
Matt Kaye c3fe5e5baa Hotfix: Task + Timeout (#1433)
* hotfix: simple task

* fix: add back timeout

* debug: try using loop scoped to session

* fix: decrease timeout

* fix: doc path
2025-03-27 21:06:56 -04:00
Matt Kaye 08f49031be [Python] Feat: Replace REST Client (#1413)
* fix: version

* feat: first pass at new base rest client

* fix: typing

* fix: base client cleanup

* feat: basic runs client

* fix: finally!!

* feat: helper functions for uuid and metadata conversion and api format fix

* fix: patches

* feat: run list apis

* feat: add bulk replay and cancel

* feat: replays and cancels

* feat: result getter

* feat: cron client

* feat: scheduled workflows

* feat: rate limit

* refactor: don't export admin client anymore

* feat: add a bunch more clients and remove the old `rest` thing

* fix: scheduled workflow trigger time

* fix: emptymodel default

* refactor: stop passing pooled workflow run listener around everywhere

* fix: more cleanup of context

* refactor: remove unused stuff from runner

* unwind: keep passing listeners around

* fix: rm some unused stuff

* fix: example

* feat: metrics api

* feat: a couple tests

* feat: more default emptymodels

* fix: tests

* [Docs]: Misc. Python Migration Guide Issues, Rate limits, V1 new features (#1417)

* fix: misc python migration guide

* feat: rate limits docs

* fix: lint

* fix: lint

* feat: skeleton

* feat: add a bunch of docs

* feat: bulk replay and cancel docs

* fix: add task output to example

* fix: otel docs + naming

* fix: lint

* fix: rm timeout

* feat: initial python sdk guide

* fix: raise on dupe on failure or on success

* fix: dags docs

* feat: 1.0.1
2025-03-27 16:32:54 -07:00
Matt Kaye d2d9318776 Feat: A bunch more path filters for GHA (#1418)
* fix: only run sdk ci on main if the sdk has changed

* feat: don't build or test the engine on sdk and doc-only changes

* feat: only lint docs on docs changes

* feat: run sdk ci on branches when the engine changes
2025-03-27 12:13:32 -04:00
abelanger5 9a5b21b9b3 feat: load testing container (#1416) 2025-03-26 18:34:13 -07:00
Matt Kaye 5062bf1e3e V1 SDKs and Docs (#1361)
New SDKs and docs for the v1 release.
2025-03-25 15:45:07 -07:00
Gabe Ruttner 834c3160d2 fix(ts): context cleanup (#1366)
* fix: finally delete

* release: 0.20.3

* attempt ci fix

* no deps

* fix: escape

* fix script

* fix script

* lint

* lint
2025-03-19 13:31:12 +00:00
abelanger5 1f2096313d feat: v1 engine (#1318) 2025-03-11 14:57:13 -04:00
Gabe Ruttner 5cda236e5d fix: addl meta unmarshal deep obj (#1245)
* fix: addl meta unmarshal

* fix: ci

* fix: ci

* fix: ci
2025-02-04 10:59:36 -08:00
Gabe Ruttner 0e91542d87 wip: backoff state (#1225)
* wip: backoff state

* fix: retry state and step run start condition

* fix: missing key

* fix: gen

* chore: squash migration

* chore: rm todos

* ops: upgrade proto
2025-01-28 19:16:12 +00:00
dependabot[bot] 486c6dc36d chore(deps): bump dependabot/fetch-metadata from 2.2.0 to 2.3.0 (#1222)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 04:43:30 +00:00
Sean Reilly 9e961ac196 Feature add version info (#1154)
* adding a /version endpoint for the engine and a /api/v1/version endpoint for the API

* make the security optional so we don't get redirected for having auth

* lint

* upgrade protoc to the latest available version on brew

* use useQuery and clean up html
2025-01-06 10:50:04 -08:00
abelanger5 e1c1c219f0 chore: update go version (#1130)
* chore: update go version

* server dockerfile update
2024-12-18 15:14:21 +00:00
abelanger5 dcb67a1dac feat: postgres-backed message queue (#1119) 2024-12-18 09:00:54 -05:00
abelanger5 b0c6c7cd46 feat(go-sdk): cron and schedules API, minor fixes (#1083)
* feat(go-sdk): cron and schedules API, minor fixes

* try to improve code block and docs

* revert pre-commit

* fix: generate

* fix: put overflow in right place

* remove branch specs
2024-12-04 21:18:05 +00:00
abelanger5 d9bcfda487 feat: dashboard container image (#937)
* feat: dashboard container image

* fix: build

* add release and pre-release

* forward cli flags to hatchet-api

* fix: make entrypoint executable

* hatchet-api path fix

* fix: hatchet-api path, again
2024-10-04 10:33:23 -04:00
Gabe Ruttner 5fcf5eff6a fix: separate context (#929)
* fix: separate context

* chore: comments

* chore: generate

* chore: gen

* chore: update protoc 28.2
2024-10-02 10:53:51 -04:00
Sean Reilly 421fd08f78 bump protobuf to latest stable (#886)
* bump protobuf to latest stable

* regenerate the proto

---------

Co-authored-by: Sean Reilly <sean@hatchet.run>
2024-09-17 18:09:03 -07:00
abelanger5 b635c875f6 fix: race conditions on release slot (#858)
* fix: race conditions on release slot

* better engine logs for ci

* fix: improve cancellation

* better debug logs and increase timeout
2024-09-10 14:22:32 -04:00
abelanger5 93438ce09d feat: adds a k8s helper for easy k8s installation (#806)
* feat: k8s helper script for generating env

* chore: bump 1.21 -> 1.22

* feat: support both secret, configmap and generate api token

* fix: better errors

* fix: upsert logic

* use default seed tenant for token generation
2024-08-22 21:24:16 +00:00
Viktor Szépe 2af003e3e4 Create spelling workflow (#776)
Co-authored-by: Luca Steeb <contact@luca-steeb.com>
2024-08-10 15:07:48 +00:00
abelanger5 5d87f380ef feat: managed worker pools (#725)
* change api extension spec to register custom populators

* fix: support only bearer auth

* fix: correct authn logic

* fix: indexes on workflow runs, events

* feat: managed worker pools

* chore: lint fix

* hide workers view when not enabled

* support internal api tokens, minor improvements

* fix: actually write internal

* fix breaking changes

* don't allow revoking internal tokens

* fix: linting and remove metrics view

* fix: token

* address review and add feat flags
2024-07-16 13:33:46 +00:00
dependabot[bot] 2b44f6fab6 chore(deps): bump dependabot/fetch-metadata from 2.1.0 to 2.2.0 (#694)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-05 05:20:38 +00:00
Luca Steeb fda4206053 ci(test): do not re-generate code in tests (#606) 2024-06-17 18:27:48 +01:00
abelanger5 0a86ca396b Update release.yaml 2024-06-11 10:42:13 -04:00
abelanger5 a5729c0407 Update release.yaml 2024-06-11 10:39:35 -04:00
abelanger5 1abb36a22e fix: multi-arch builds for latest on release (#579) 2024-06-11 13:57:27 +00:00
abelanger5 95da0f2a9b fix: push hatchet-lite image as latest (#577) 2024-06-11 09:24:11 -04:00
abelanger5 dbe8f1d21b fix: hatchet-admin builds (#576) 2024-06-11 09:10:59 -04:00
abelanger5 dde06c65e7 feat: arm64 all the images (#572) 2024-06-10 21:36:27 +00:00
abelanger5 5c586301d6 fix: prerelease workflow (#570) 2024-06-10 15:57:23 -04:00
abelanger5 dc4d127bb0 feat: arm64 builds for hatchet-lite (#566) 2024-06-10 14:35:34 -04:00
abelanger5 b0b2e26952 feat: hatchet-lite (#560)
* feat: hatchet-lite mvp

* fix: init shadow db

* fix: install atlas

* fix: correct env

* fix: wait for db ready

* fix: remove name flag

* fix: add hatchet-lite to build
2024-06-06 14:03:53 -04:00
Luca Steeb ad5f4b3fcb ci(workflows): pin pnpm on deps install (#515) 2024-05-20 20:07:10 -04:00
Luca Steeb e77e8d95e9 chore(auto-merge): approve PR on auto merge (#512)
Auto approves relevant dependabot PRs due to the new required reviewers.

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
2024-05-17 18:01:03 -04:00
abelanger5 d1835458d8 chore: update versions of protoc,pnpm (#497)
* chore: update versions of protoc,pnpm

* chore: bump pnpm
2024-05-14 17:47:01 -04:00
dependabot[bot] dbc8f442f6 chore(deps): bump pnpm/action-setup from 3 to 4 (#462)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 03:05:55 +02:00
Luca Steeb 7fbe89649e fix(testutils): set correct server info (#426) 2024-04-29 15:36:52 +01:00
dependabot[bot] 7c92b3192b chore(deps): bump dependabot/fetch-metadata from 2.0.0 to 2.1.0 (#419)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v2.0.0...v2.1.0)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 04:40:38 +00:00
Luca Steeb 7bb1015c99 chore(python-sdk): extract python sdk into its own repo (#393) 2024-04-22 16:35:53 +01:00
dependabot[bot] 7eb945fb6e chore(deps): bump actions/setup-python from 3 to 5 (#404)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 15:27:31 +00:00
dependabot[bot] f6089ac5d9 chore(deps): bump actions/checkout from 3 to 4 (#405)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 16:02:57 +01:00
Luca Steeb 42900bc912 ci(lint): run pre-commit in action (#392) 2024-04-21 11:25:13 +01:00
dependabot[bot] 674f906073 chore(deps): bump actions/checkout from 2 to 4 (#389)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 13:24:11 +04:00
dependabot[bot] 575d8eb4f4 chore(deps): bump dependabot/fetch-metadata from 1.6.0 to 2.0.0 (#390)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 13:23:47 +04:00