Commit Graph

57 Commits

Author SHA1 Message Date
abelanger5 4ce1dd8632 feat: multi-workflow runs listener on a single endpoint
* new api-contract for workflow run events

* feat: initial implementation for new subscribe listener

* fix: sync issues and send workflow runs immediately

* refactor: add context to all engine db queries, fix deadlocking query

* fix: use new ctx for deleting dispatcher and ticker

* add cancellation reasons

* fix: docs linting

---------

Co-authored-by: gabriel ruttner <gabriel.ruttner@gmail.com>
2024-04-18 20:55:11 -04:00
Gabe Ruttner eb23e6916d feat: improved lists (#383)
* fix: only close sm

* chore: linting

* feat: filter by workflow run status

* feat: radio filter

* feat: filter run by workflow

* fix: rm unused status

* chore: rm comment

* chore: refactor workflow run table

* fix: visibility state

* feat: visibility and reload

* chore: linting

* chore: shared table component

* chore: linting

* chore: clarify nav

* feat: link to workflow dfn

* chore: share workflow run table

* chore: linting

* wip: parent link

* feat: data table card rendering

* feat: expose manual table control

* feat: data table workflow list

* feat: workflow list actions

* feat: worker actions

* fix: toolbar for any option

* fix: rm search

* fix: rm bad filter func

* chore: linting

* fix: link card title

* fix: rm updated at for now

* fix: gen
2024-04-18 13:35:02 -07:00
Abhiuday Gupta c8a79aabf3 chore(format): added pre-commit hooks and formatted files (#294)
Co-authored-by: steebchen <contact@luca-steeb.com>
2024-04-16 22:19:21 +04:00
Luca Steeb 181a8e48aa fix(auth): improve error messages in auth (#367) 2024-04-15 14:31:03 +07:00
Gabe Ruttner ca68eee45c feat(api): posthog telemetry (#374)
* feat: add posthog dep

* feat: posthog analytics

* feat: user events

* fix: nil tenant

* feat: tenant ident

* chore: linting

* Update pkg/analytics/posthog/posthog.go

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>

* fix: typo

---------

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
2024-04-12 06:16:14 -07:00
abelanger5 f16a9cd0dc feat: add github sso to dashboard (#373) 2024-04-11 15:32:12 -04:00
Luca Steeb 3c112d9df8 fix(workflow): remove workflow timeout in favor of step timeout (#366) 2024-04-10 23:53:00 +07:00
abelanger5 334ce758ec feat: queued metrics, along with bug fixes for round robin queueing (#340) 2024-04-04 17:45:10 -04:00
Gabe Ruttner 0da379e423 feat(dashboard): improve dashboard settings for user and tokens (#275)
* feat: expires at as Date

* wip: change passwords

* feat: user can change their password

* chore: cleanup

* chore: linting

* chore: fix build issue

* fix: protoc version

* chore: resolve feedback

* fix: ref

* fix: password inputs

* chore: update generated

* fix: update respository

* feat: only show change password if user has password

* fix: linting

* fix: validation string

* chore: regen api

---------

Co-authored-by: gabriel ruttner <gabe@hatchet.run>
2024-04-02 12:50:20 -04:00
Gabe Ruttner 5066547ce6 feat: cancel in progress (#325)
* chore: bad project path

* fix: remove tickerId for replay

* feat: cancel from request

* feat: cancel button in UI

* chore: rm comment

* fix: build error

* chore: reason case

* chore: reason string

* fix: linting

---------

Co-authored-by: gabriel ruttner <gabe@hatchet.run>
2024-04-02 01:16:27 +00:00
abelanger5 0daa62974a feat(frontend): basic list of child workflows (#293) 2024-03-29 14:07:39 -07:00
abelanger5 ad9e9aedbf feat(engine/api): implementation of child/parent workflow runs (#292) 2024-03-29 14:07:39 -07:00
abelanger5 092f54c64f refactor: separate api and engine repositories, change ticker logic (#281)
* refactor: separate api and engine repositories, change ticker logic

* fix: nil error blocks

* fix: run migration on load test

* fix: generate db package in load test

* fix: test.yml

* fix: add pnpm to load test

* fix: don't lock CTEs with columns that don't get updated

* fix: update heartbeat for worker every 4 seconds, not 5

* chore: remove dead code

* chore: update python sdk

* chore: add back telemetry attributes
2024-03-21 14:10:34 -04:00
Luca Steeb d91a8d7bc3 fix: handle inefficient assignments (#263) 2024-03-16 17:09:35 +07:00
abelanger5 d9360520de chore: add better telemetry to database (#268)
* chore: add better telemetry to database

* fix: span end on query
2024-03-15 15:08:40 -04:00
abelanger5 c66f97c856 fix: deadlocks on workers and tickers (#241)
* chore: add sentry support to engine

* fix: deadlocks on workers and tickers

* refactor: reduce prisma calls in engine

* trigger

* fix: remove some tenant lookups

* feat: dlx and renamed taskqueue -> msgqueue

* refactor: get group key run logic

* fix: retry counts on messages and concurrency edge cases

* fix: rabbitmq integration tests

* feat: add consumer timeouts

---------

Co-authored-by: Luca Steeb <contact@luca-steeb.com>
2024-03-12 00:45:18 -04:00
Luca Steeb 78962596aa fix(engine): do not panic on regular exit (#242) 2024-03-08 14:46:56 +07:00
abelanger5 38688adce5 feat: sns integrations from frontend (#249) 2024-03-07 18:52:08 -05:00
abelanger5 85d89886d3 feat: display concurrency settings on the UI (#236)
* feat: display concurrency settings on the UI

* feat: show triggering settings as well
2024-03-04 22:15:56 -05:00
abelanger5 d3534edc4c fix: parse schema in API, not engine (#233)
* no schema parsing in core engine

* fix: parse schema in api, not engine

* fix: parsing of input schema should not use json keys as field names
2024-03-04 18:39:54 -05:00
abelanger5 c4fc355805 feat: events list filtering by status (#232) 2024-03-04 17:10:44 -05:00
abelanger5 043f23e2a3 feat: support ingestion from SNS (#231) 2024-03-04 16:52:45 -05:00
abelanger5 f256b258d8 feat: logging from step run executions (#217)
* fix: job cancellations with shared ctx

* fix: found the bug

* fix: all job runs were getting cancelled

* feat: support logging from executions

* fix: place logging in background

* add back split screen
2024-03-01 17:55:31 -05:00
Luca Steeb 9b68115fb5 refactor: cleanup functions in api + worker (#192) 2024-03-02 00:37:02 +07:00
Luca Steeb 4bd1b6f2ec feat(api): add healthcheck routes (#191) 2024-03-01 23:48:10 +07:00
abelanger5 6ea38a99f2 feat: support maxRuns parameter on workers (#195)
* feat: round robin queueing

* feat: configurable max runs per worker

* fix: address PR review

* docs for max runs and group round robin
2024-02-26 00:48:46 -05:00
abelanger5 e44c3a1290 fix: link github issues and support insecure py opt (#180) 2024-02-20 13:14:30 -05:00
Alexander Belanger 0f47188c09 feat: github app integration with playground 2024-02-18 21:39:29 -05:00
Alexander Belanger 277b768df1 fix: reset job run and workflow run status on manual rerun 2024-02-18 16:32:39 -05:00
abelanger5 df3f540748 feat: add retries to the engine and SDKs (#171)
This PR adds support for retrying failed step runs against the engine and SDKs. This was tested up to 30 retries per step run, with both failure and success at the 30th step run. Each SDK now has a `retries` configurable param for steps when declaring a workflow.
2024-02-16 13:00:22 -05:00
Alexander Belanger 4af3d5576c fix: continuously update json schema 2024-02-13 19:21:06 -08:00
abelanger5 3743746657 feat: github app integration (#163)
* feat: github app integration

* chore: proto

* fix: migrate instead of push

* fix: db migrate -> migrate

* fix: migrate again

* remove skip-generate

* add back generate

* setup pnpm
2024-02-13 21:34:16 -05:00
Gabe Ruttner 45813fdb1b feat: dashboard playground ui (#162)
* hotfix: add repository for npm publish

* release(py-sdk): bump version

* chore: ignore venv

* feat(dashboard): collapsible sidebar

* fix: hangup workflow listener when workflow run finishes (#161)

* wip: class based listener pattern

* fix: workflow run listener hangups

* fix: hang up workflow listener on finished

* fix: case for current workflow run

* address review comments

* bump version

---------

Co-authored-by: g <gabriel.ruttner@gmail.com>

* wip: focus state and flat playground

* fix: focus state

* feat: unify state

* wip: playground state

* cleanup: rm logging

* fix: default output

* cleanup: rm deadcode

* feat: can replay individual steps

* feat: icon tabs

* feat: sticky output

* cleanup: linting

---------

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
2024-02-13 10:24:46 -07:00
Alexander Belanger 8d86f63300 add input schema to API 2024-02-09 12:43:04 -05:00
Alexander Belanger 011125abfd feat(wip): add overrides data and input schema to database 2024-02-09 10:03:20 -05:00
abelanger5 0aa7b782a1 feat: trigger workflows from the dashboard (#145) 2024-02-03 20:42:46 -05:00
abelanger5 c2ea09f375 feat: step reruns from the dashboard (#143) 2024-02-03 01:26:09 -05:00
abelanger5 aed11c3958 feat: workflow visualization and qol improvements (#140)
* feat: workflow visualization and qol improvements

* fix: npm build
2024-02-02 01:35:05 -05:00
abelanger5 14a971bfd7 feat: improve versioning to use checksums (#129)
* feat: improve versioning to use checksums

* fix: remove json ignore for scheduled triggers

* update migration with random strings for checksum
2024-01-26 20:47:15 -05:00
abelanger5 78685d0098 feat(security): multiple encryption options, API tokens, easier setup (#125)
* (wip) encryption

* feat: api tokens

* chore: add api token generation command

* fix: e2e tests

* chore: set timeout for e2e job

* fix: e2e tests, remove client-side certs

* chore: address PR review comments

* fix: token tests

* chore: address review comments and fix tests
2024-01-26 15:38:36 -05:00
Luca Steeb 8b379ee9d1 feat(events): add workflow filter (#114)
* feat(events): add workflow filter

* cast to uuid

---------

Co-authored-by: Alexander Belanger <belanger@sas.upenn.edu>
2024-01-21 22:33:58 -05:00
abelanger5 74f47f75f2 feat: add team member management and invites (#117)
* feat: google sso

* chore: update prompt text

* fix: compiling and lint errors

* chore: regenerate sqlc

* feat: add team member management

* chore: remove debug line

* chore: lint and test errors

* bump protoc in ci

* chore: fix lint errors

* chore: sqlc generation
2024-01-21 22:21:29 -05:00
Luca Steeb c8f87599c7 chore: ignore or fix linter errors (#116)
* chore: ignore or fix linter errors

* chore: wrap up lint errors

* chore: sqlc generation

---------

Co-authored-by: Alexander Belanger <belanger@sas.upenn.edu>
2024-01-21 22:01:20 -05:00
abelanger5 d51a3d34f3 feat: google sso (#112)
* feat: google sso

* chore: update prompt text

* fix: compiling and lint errors

* chore: regenerate sqlc

* chore: address PR comments
2024-01-21 20:06:00 -05:00
Luca Steeb 3071e3c65e refactor: run golangci-lint --fix (#115) 2024-01-21 20:03:12 +07:00
abelanger5 52fde1e704 feat: dag-style execution (#108)
* feat: dag-style execution

* docs: update to reflect new context

* ensure no cycles

* remove example cycle

* linting

* lint and small fixes

* update deferred rollback

* last rollback handling

* unset max issues

* fix requeue edge case
2024-01-16 11:31:24 -05:00
abelanger5 4d03592aec chore: telemetry improvements (#101)
* fix: simple example

* chore: telemetry improvements

- Adds opentelemetry integration for the engine
- Adds standard logger with json and more readable output formats

* remove env from nodemon config files
2024-01-11 13:09:06 -05:00
abelanger5 a67291e540 fix: events and workflow runs pagination (#75) 2024-01-03 16:07:29 -05:00
abelanger5 c7a4c9045a fix: go-sdk improvements and set default timeouts (#64) 2024-01-03 13:13:37 -05:00
Luca Steeb 2f6e89a87b feat(events): add event search (#20)
Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
2023-12-29 13:46:21 +07:00