Compare commits

..

2398 Commits

Author SHA1 Message Date
Ruben Fiszel
4b1bfed090 push 2023-02-24 19:16:11 +01:00
Faton Ramadani
2125d119ff fix(frontend): Fix findGridItem 2023-02-24 19:04:33 +01:00
Faton Ramadani
d3f1ef92ea Merge branch 'rf/flatten' of https://github.com/windmill-labs/windmill into rf/flatten 2023-02-24 19:01:01 +01:00
Faton Ramadani
26296ee05c fix(frontend): Fix findGridItem 2023-02-24 19:00:41 +01:00
Ruben Fiszel
7e4179a741 flatten 2023-02-24 18:52:05 +01:00
Faton Ramadani
52adaa4cb5 fix(frontend): Fix next id 2023-02-24 18:51:50 +01:00
Faton Ramadani
a94f266743 fix(frontend): wip 2023-02-24 18:49:06 +01:00
Faton Ramadani
9d680e6744 Merge branch 'rf/flatten' of https://github.com/windmill-labs/windmill into rf/flatten 2023-02-24 18:44:19 +01:00
Faton Ramadani
5060c37fed fix(frontend): gridtab 2023-02-24 18:44:16 +01:00
Ruben Fiszel
15c2bdcdae pushed 2023-02-24 18:43:44 +01:00
Faton Ramadani
45ce630a75 fix(frontend): duplicate 2023-02-24 18:04:31 +01:00
Faton Ramadani
d50734cbb3 fix(frontend): delete grid item 2023-02-24 17:56:47 +01:00
Ruben Fiszel
b08b559eec script editor panel 2023-02-24 17:53:26 +01:00
Ruben Fiszel
5742bf2235 settings panel 2023-02-24 17:49:16 +01:00
Ruben Fiszel
c56176ec91 Merge branch 'main' into rf/flatten 2023-02-24 17:38:19 +01:00
Ruben Fiszel
dd7e8c742c fix(deno): remove mysql support waiting for deno fix 2023-02-24 17:19:13 +01:00
Faton Ramadani
640242b713 fix(frontend): rewrote utils 2023-02-24 17:17:11 +01:00
Ruben Fiszel
2f78132e08 fix(deno): remove mysql support waiting for deno fix 2023-02-24 17:11:53 +01:00
Ruben Fiszel
c696f3b6cf flatten 2023-02-24 15:09:38 +01:00
Ruben Fiszel
0041411c06 subgrids editor panel iter 1 2023-02-24 14:48:28 +01:00
Ruben Fiszel
54955b710c fix subgrids final2 2023-02-24 13:11:06 +01:00
Ruben Fiszel
1eb5a0d1d3 fix subgrids final 2023-02-24 11:59:28 +01:00
Ruben Fiszel
ddda14c52b app fixes 2023-02-24 11:39:50 +01:00
Ruben Fiszel
5123c9365c fix subgrids final 2023-02-24 07:27:22 +01:00
Ruben Fiszel
834e7b1d1c todo: improve deleting tab 2023-02-24 01:04:26 +01:00
Ruben Fiszel
6e9a5b026e tab rework v2 2023-02-23 23:39:57 +01:00
Ruben Fiszel
7ad8879b09 fix binding 2023-02-23 22:14:23 +01:00
Ruben Fiszel
27cac3ffe6 fix(frontend): containers and tab fixes v1 2023-02-23 21:42:21 +01:00
Ruben Fiszel
705703a5e2 fix(frontend): containers and tab fixes v1 2023-02-23 21:01:47 +01:00
Ruben Fiszel
fac31c6628 fix(frontend): containers and tab fixes v1 2023-02-23 19:59:23 +01:00
Ruben Fiszel
90c0e140a1 chore(main): release 1.69.0 (#1226)
* chore(main): release 1.69.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-23 18:07:56 +01:00
Ruben Fiszel
d543650b31 fix(cli): .wmillignore whitelist behavior 2023-02-23 18:02:42 +01:00
Faton Ramadani
089a6b6ae5 feat(frontend): Duplicate component (#1228)
* feat(frontend): Duplicate component

* feat(frontend): add missing types
2023-02-23 17:43:27 +01:00
Faton Ramadani
857ee5f318 feat(frontend): Properly delete tab content (#1227) 2023-02-23 16:02:15 +01:00
Faton Ramadani
6ad876ebb4 feat(frontend): Support deeply nested components (#1225) 2023-02-23 15:33:14 +01:00
Ádám Kovács
ab4137640e refactor(frontend): Reorganise app components (#1224)
* refactor(frontend): Reorganise app components

* refactor(frontend): Restructure app component
2023-02-23 14:15:45 +01:00
Ruben Fiszel
2bd8fabcf7 chore(main): release 1.68.0 (#1223)
* chore(main): release 1.68.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-23 13:42:42 +01:00
Ruben Fiszel
3b7160e84a fix(cli): better ergonomics around workspaces 2023-02-23 13:31:08 +01:00
Ruben Fiszel
40c12e6139 fix(cli): better ergonomics around workspace add 2023-02-23 13:19:14 +01:00
Ádám Kovács
6044e3b6ef feat(frontend): Add more app component CSS customisation (#1218)
* fix(frontend): Update app style editor

* fix(frontend): Update component custom css typings

* fix(frontend): Generalise custom CSS inputs

* feat(frontend): Add display CSS customization
2023-02-23 11:42:32 +01:00
Ruben Fiszel
18ff5c7cef chore(main): release 1.67.4 (#1222)
* chore(main): release 1.67.4

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-23 09:06:34 +01:00
Ruben Fiszel
e54dc3ff97 fix(backend): workflow check for has_failure_module 2023-02-23 09:01:02 +01:00
Ruben Fiszel
4d5aae69c8 chore(main): release 1.67.3 (#1221)
* chore(main): release 1.67.3

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-23 08:34:22 +01:00
Ruben Fiszel
ec57c5977f fix(cli): ignone non wmill looking files 2023-02-23 08:26:22 +01:00
Ruben Fiszel
df1b724626 do not create default variables on workspace creation 2023-02-23 08:07:35 +01:00
Ruben Fiszel
268dfbf831 chore(main): release 1.67.2 (#1220)
* chore(main): release 1.67.2

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-23 08:00:15 +01:00
Ruben Fiszel
969e89f8bb fix(cli): ignone non wmill looking files 2023-02-23 07:40:04 +01:00
Ruben Fiszel
5997503961 chore(main): release 1.67.1 (#1219) 2023-02-22 23:47:37 +01:00
Ruben Fiszel
3fa24adad0 fix(cli): coloring nits 2023-02-22 23:46:08 +01:00
Ruben Fiszel
7471be1d81 update rustpython parser 2023-02-22 23:43:06 +01:00
Ruben Fiszel
d64e1c116a nits on cli output 2023-02-22 23:28:50 +01:00
Ruben Fiszel
9267b1fb90 nits on webhook sync 2023-02-22 22:44:19 +01:00
Ruben Fiszel
6528a68668 chore(main): release 1.67.0 (#1216)
* chore(main): release 1.67.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-22 22:39:14 +01:00
Ruben Fiszel
4fd4d17a0d update README 2023-02-22 21:49:13 +01:00
Ruben Fiszel
0548803ab7 fix flow rendering 2023-02-22 21:27:58 +01:00
Ruben Fiszel
0085b46c1e fix(cli): add --fail-conflicts to ci push 2023-02-22 21:00:48 +01:00
Kai Jellinghaus
81ffd49bef Remove Stripe (#1217) 2023-02-22 19:15:10 +01:00
Faton Ramadani
dbc59e9521 feat(frontend): Add app sub grids (#1208)
* feat(frontend): Add app sub grids

* feat(frontend): remove temp file

* feat(frontend): update package.json

* feat(frontend): fix build

* fixes

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): update dependencies

* feat(frontend): update dependencies

* feat(frontend): fix scrolling issues

* feat(frontend): fix preview + delete

* feat(frontend): done

* feat(frontend): remove dead code

* feat(frontend): fix selection

* feat(frontend): add container

* feat(frontend): fix package.json

* feat(frontend): fix package.json

* feat(frontend): fix package.json

* feat(frontend): fix package.json

* feat(frontend): fix package.json

* feat(frontend): restore npm package

* feat(frontend): add missing dependencies

* feat(frontend): remove missing dependencies

* feat(frontend): fix package.json

* feat(frontend): fix package.json

* feat(frontend): fix package.json

* feat(frontend): revert

* feat(frontend): fix package-lock

* feat(frontend): fix package-lock

* fix package-lock.json

* update

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-02-22 17:52:10 +01:00
Ruben Fiszel
121b3e9060 chore(main): release 1.66.1 (#1215)
* chore(main): release 1.66.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-22 15:55:37 +01:00
Ruben Fiszel
70dfc8b8d0 fix(cli): delete workspace instead of archiving them 2023-02-22 15:50:42 +01:00
Ruben Fiszel
ca3572a2a1 chore(main): release 1.66.0 (#1214)
* chore(main): release 1.66.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-22 15:38:01 +01:00
Ruben Fiszel
32c3c591d7 update README 2023-02-22 15:30:42 +01:00
Ruben Fiszel
1f4bc55e5c ux nits 2023-02-22 15:11:27 +01:00
Ruben Fiszel
a00ff45ccf UX nits 2023-02-22 15:06:52 +01:00
Ruben Fiszel
0160ce978d cli skip pull 2023-02-22 14:29:37 +01:00
Ruben Fiszel
867c00047a cli nits 2023-02-22 14:26:36 +01:00
Ruben Fiszel
e31d2ae27f feat: CLI refactor v1 2023-02-22 14:21:53 +01:00
Ruben Fiszel
441f087d42 remove references to starter workspace' 2023-02-22 13:56:24 +01:00
Ruben Fiszel
4671558e6b remove extra_perms from being encoded in non-folder zip export 2023-02-22 12:55:40 +01:00
Ruben Fiszel
08519f4099 removed edited_by from zip metadata 2023-02-22 09:53:45 +01:00
Ruben Fiszel
2727699d91 remove archived from zip 2023-02-22 09:23:23 +01:00
Ruben Fiszel
0c43b68b23 remove metadata from zip 2023-02-22 09:18:01 +01:00
Ruben Fiszel
c280f6e798 remove metadata from zip 2023-02-22 09:12:22 +01:00
Ruben Fiszel
e81f7bd723 feat: add delete flows 2023-02-22 08:40:11 +01:00
Ruben Fiszel
2213500210 remove versions from serialized apps 2023-02-22 01:13:42 +01:00
Ruben Fiszel
7558fb83d2 update cli 2023-02-22 01:07:48 +01:00
Ruben Fiszel
3d7a5a4520 v0 of cli refactor 2023-02-22 00:15:32 +01:00
Ruben Fiszel
be6f052ba4 extend zip permissions 2023-02-22 00:06:22 +01:00
Ruben Fiszel
4f1bcbb1c3 superadmin can see all 2023-02-22 00:00:43 +01:00
Ádám Kovács
a4b773af29 feat(frontend): Add image app component (#1213)
* fix(frontend): hard type app component config

* feat(frontend): Add image app component

* feat(frontend): Add upload app input type
2023-02-21 19:14:55 +01:00
Ruben Fiszel
61e6e1a4c5 fix go-client with new openapi 2023-02-21 12:25:54 +01:00
Ruben Fiszel
cf7dc3c01a chore(main): release 1.65.0 (#1210)
* chore(main): release 1.65.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-21 10:17:35 +01:00
Kai Jellinghaus
41c8ea92fe CLI fixes (#1204)
* Add default workspace URL

* R1 WIP

* Improve help docs slightly

* Rework tracking state

* WIP Rework
Remaining bug: Not returning state-only files (no local file) from *getFiles()

* Create newly found files

* Finish ZIP & new tracking code

* Fix two minor bugs

* do not consider conflict if same content

* add more logs to cli writing

* progress

* progress

* iteration

* Add most basic App support

* fix folder frontend bug

* fix folder frontend bug

* init done by default

* sqlx merge

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-02-21 10:13:21 +01:00
Ruben Fiszel
b6b0880f2f edit main video 2023-02-21 01:28:07 +01:00
Ádám Kovács
d4b6d69126 feat(frontend): Add file input app component (#1211)
* feat(frontend): Add file input app component

* fix(frontend): Handle multiple file selects

* fix(frontend): File input styling
2023-02-20 18:05:15 +01:00
Ruben Fiszel
75edeab35e rename panel headers 2023-02-19 22:47:30 +01:00
Ruben Fiszel
71d6dad37c feat(apps): add asJson for customcss 2023-02-19 13:10:57 +01:00
Ruben Fiszel
7f00e1c1a8 feat(apps): add custom css for apps 2023-02-19 12:51:59 +01:00
Ruben Fiszel
a39f8e2123 added loadOnAppLoading & iconBefore and after for app buttons 2023-02-17 22:22:41 +01:00
Ruben Fiszel
2de660fef6 fix app select 2023-02-17 21:52:04 +01:00
Ruben Fiszel
dc1be9cf55 fix app select 2023-02-17 21:28:04 +01:00
Ruben Fiszel
91e1781dc1 fixes 2023-02-17 21:16:51 +01:00
Ádám Kovács
e4791c2b7e feat(frontend): Add icon app component (#1207)
* feat(frontend): Add icon app component

* fix(frontend): Import only one icon at a time

* fix(frontend): Handle file names correctly

* feat(frontend): Use all arrow keys in popup navigation

* fix(frontend): Close popup after icon select

* fix(frontend): Position picker correctly

* fix(frontend): Handle empty search

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-02-17 20:20:28 +01:00
Ádám Kovács
c33e79e0b8 feat(frontend): Add divider app component (#1209)
* feat(frontend): Add divider app component

* fix(frontend): Separate horizontal and vertical

* fix(frontend): Update aligments

* fix(frontend): Remove unused static value
2023-02-17 19:27:14 +01:00
Kai Jellinghaus
5d109b3cd4 feat(backend): Zip Workspace Export (#1201)
* Allow different formats

* Allow Zip format in workspace export

* Fix axum error

* Use ZIP in frontend

* File ending fix

* Fix empty query
2023-02-17 19:21:06 +01:00
Ruben Fiszel
8074b26bfb fix currency issues 2023-02-17 16:40:18 +01:00
Ruben Fiszel
98c1806369 new app component: currency + improved select 2023-02-16 23:40:58 +01:00
Ruben Fiszel
7120d6b35b frontend nits 2023-02-16 18:15:42 +01:00
Ruben Fiszel
772bb602b0 chore(main): release 1.64.0 (#1206)
* chore(main): release 1.64.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-16 04:31:32 +01:00
Ruben Fiszel
5c8789b730 fix add_user 2023-02-16 04:26:36 +01:00
Ruben Fiszel
c7cd8e22d0 added connection tester 2023-02-15 21:36:13 +01:00
Ruben Fiszel
11c2c2704d display IPs to whitelist 2023-02-15 19:51:58 +01:00
Ruben Fiszel
06a8fcf666 dynamically reload schema if it changes 2023-02-15 17:56:43 +01:00
Ádám Kovács
8445697e31 feat(frontend): Trigger settings drawer with URL hash (#1185)
* feat(frontend): Trigger settings drawer by URL hash

* fix(frontend): Add setting auto-open to workspace selector

* fix(frontend): full path redirects

* fix(frontend): Slice safety check
2023-02-15 14:47:47 +01:00
Ruben Fiszel
e0b12f88d5 chore(main): release 1.63.2 (#1205)
* chore(main): release 1.63.2

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-15 12:21:27 +01:00
Ruben Fiszel
a2fbc57025 fix(psql): update pg client 2023-02-15 12:17:42 +01:00
Ruben Fiszel
3e5950a396 fix ee 2023-02-15 11:27:53 +01:00
Ruben Fiszel
c0b87cc7d7 send a webhook on new user + lazy static refactor (#1203)
* supercharge

* supercharge

* progress

* progress

* display config

* display config

* display config

* display config

* fix extensions

* fix build

* disable nsjail = false for test
2023-02-15 10:59:50 +01:00
Ruben Fiszel
81f64a4028 UX nits 2023-02-14 17:58:38 +01:00
Ruben Fiszel
6eecae6857 chore(main): release 1.63.1 (#1202)
* chore(main): release 1.63.1

* update versions

* fix change versions

* fix change versions

* Apply automatic changes

* update base64

* fix versions

* improve app setup

* improve app setup

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-14 15:54:25 +01:00
Ruben Fiszel
03eb1444c4 fix: update hub sync script 2023-02-14 15:00:10 +01:00
Ruben Fiszel
7f68ae888c chore(main): release 1.63.0 (#1183) 2023-02-14 14:34:35 +01:00
dependabot[bot]
1db407d983 chore(deps): bump python from 3.11.1-slim-buster to 3.11.2-slim-buster (#1197)
Bumps python from 3.11.1-slim-buster to 3.11.2-slim-buster.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 14:30:17 +01:00
Ruben Fiszel
9f6bffab72 add email to cli resource fetching 2023-02-14 14:27:24 +01:00
Ruben Fiszel
b835c58427 implement goto for app buttons 2023-02-14 03:33:08 +01:00
Ruben Fiszel
d2eb7a40c5 remove unused dependencies 2023-02-14 02:44:41 +01:00
Ruben Fiszel
f446ca14f5 fix run dev 2023-02-14 02:42:19 +01:00
Ruben Fiszel
5b7ce39496 implement double ended slider 2023-02-13 22:46:42 +01:00
Ruben Fiszel
2789dc2e5f fix skipping setup 2023-02-13 18:49:13 +01:00
Ruben Fiszel
6b70dbcc61 update README 2023-02-13 17:58:49 +01:00
Ruben Fiszel
3474cd0687 fix initialization app 2023-02-13 17:18:01 +01:00
Ruben Fiszel
dabceae2ea fix linguo 2023-02-13 15:10:48 +01:00
Ruben Fiszel
64e5bcf4b6 fix admins workspace link 2023-02-13 15:05:27 +01:00
Ruben Fiszel
9767980ca0 fix minor UX bugs 2023-02-13 13:17:20 +01:00
Ruben Fiszel
100943443b update flow viewer 2023-02-13 12:36:04 +01:00
Ruben Fiszel
77a7b8a539 remove technical architecture 2023-02-13 02:35:07 +01:00
Kai Jellinghaus
69001bd61a Setup Experience (#1194)
* Squash

* Update SQLX
2023-02-13 02:32:29 +01:00
Ruben Fiszel
13b1055a5f update README 2023-02-13 02:26:06 +01:00
Ruben Fiszel
e5c4e2a754 Add video to README 2023-02-13 02:24:05 +01:00
Ruben Fiszel
5c0b0529df update README 2023-02-13 02:22:13 +01:00
dependabot[bot]
e825bc94dc chore(deps-dev): bump svelte from 3.55.0 to 3.55.1 in /frontend (#1189)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.55.0 to 3.55.1.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.55.0...v3.55.1)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 00:11:25 +01:00
dependabot[bot]
4d558640a9 chore(deps-dev): bump svelte2tsx from 0.5.22 to 0.6.1 in /frontend (#1188)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.22 to 0.6.1.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.22...svelte2tsx-0.6.1)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  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>
2023-02-13 00:11:01 +01:00
Ruben Fiszel
996efa1ff2 better redirect on slack callback 2023-02-10 18:53:01 +01:00
Ruben Fiszel
3f2754b330 fix(python): return none if argument is missing 2023-02-10 18:47:45 +01:00
Ruben Fiszel
4aaa5d8fb8 fix BASE_INTERNAL_URL 2023-02-10 18:29:10 +01:00
Ruben Fiszel
c5c979b7d7 fix slack command 2023-02-10 01:51:42 +01:00
Ádám Kovács
a574270bc2 fix: Update references to the docs (#1191) 2023-02-10 00:08:15 +01:00
Ruben Fiszel
c8f0e23eae add clousql compatibility 2023-02-09 18:15:13 +01:00
Ruben Fiszel
42b94947c4 small flow improvements 2023-02-09 16:44:28 +01:00
Faton Ramadani
b03b3be154 feat(frontend): Minimal support for custom filenames (#1190) 2023-02-07 18:29:23 +01:00
Ruben Fiszel
3f8916cbc2 add MAX_RESULT_SIZE for CLOUD_HOSTED 2023-02-07 01:52:55 +01:00
Ruben Fiszel
ac991dddbc deprecate row connection in favor of connected + selectedRow 2023-02-05 20:57:47 +01:00
Ruben Fiszel
083a304645 display token fully 2023-02-05 17:28:33 +01:00
Ruben Fiszel
91491055fa add svg display result support 2023-02-05 17:15:40 +01:00
Ruben Fiszel
ae440203f0 script UX nits 2023-02-05 16:30:35 +01:00
Ruben Fiszel
ab432d628a import python code as raw to avoid reindent 2023-02-05 16:03:03 +01:00
Ruben Fiszel
e1b9247e11 use VmHwm mem instead of VmPeak for more accurate memory report 2023-02-05 15:30:02 +01:00
Ruben Fiszel
07c756f460 mem_peak use greatest 2023-02-05 14:59:31 +01:00
Ruben Fiszel
2ef6af4546 fix python default tabSize 2023-02-05 14:51:33 +01:00
Ruben Fiszel
a939771059 fix python type inference 2023-02-05 14:09:21 +01:00
Ruben Fiszel
8dc467b87a toast improvements 2023-02-05 10:12:49 +01:00
Ruben Fiszel
2ece1eb475 frontend misc 2023-02-05 10:04:26 +01:00
Ruben Fiszel
7a4da3907f frontend misc 2023-02-05 09:03:35 +01:00
Ruben Fiszel
b9d6e67791 frontend misc 2023-02-05 00:05:16 +01:00
Ruben Fiszel
f584062f13 feat: add mem peak info 2023-02-04 20:26:15 +01:00
Ruben Fiszel
265fbc5835 feat(worker): set oom_adj to 1000 to prioritize killing subprocess 2023-02-04 16:17:47 +01:00
Ruben Fiszel
2e7e57b62d update docker-compose 2023-02-04 15:50:28 +01:00
Ruben Fiszel
d17eeeecdc use unsecure websocket if unsecure connection 2023-02-04 15:50:28 +01:00
Ruben Fiszel
21c2007ebd use unsecure websocket if unsecure connection 2023-02-04 15:29:55 +01:00
Ruben Fiszel
90668902f5 avoid https on docker-compose 2023-02-04 15:20:12 +01:00
Ruben Fiszel
784aac9d1b typo 2023-02-04 01:55:05 +01:00
Ruben Fiszel
d4207db880 app checkbox nits 2023-02-04 01:50:09 +01:00
Ruben Fiszel
4ac9484305 app checkbox and text nits 2023-02-04 01:43:17 +01:00
Ruben Fiszel
0a8f177e02 chore(main): release 1.62.0 (#1170)
* chore(main): release 1.62.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-02-03 22:52:54 +01:00
Ruben Fiszel
cfa1e6f1e8 increase max concurrent runs 2023-02-03 22:39:36 +01:00
Ruben Fiszel
be526b2f23 prune args and not kwargs for function call 2023-02-03 22:37:26 +01:00
Ruben Fiszel
8bc97e0041 remove templates 2023-02-03 22:34:36 +01:00
Kai Jellinghaus
b9ac60f8bb feat: Add workspace webhook (#1158)
* Add workspace webhook

* Update SQLX

* Add webhook request histogram

* Move workspace webhook retrieval OOP

* Add removal to frontend, cache removed webhooks

* Remove WebhookUtil

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-02-03 19:50:18 +01:00
dependabot[bot]
c0a8545704 chore(deps-dev): bump svelte-preprocess from 5.0.0 to 5.0.1 in /frontend (#1164)
Bumps [svelte-preprocess](https://github.com/sveltejs/svelte-preprocess) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/sveltejs/svelte-preprocess/releases)
- [Changelog](https://github.com/sveltejs/svelte-preprocess/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte-preprocess/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: svelte-preprocess
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-03 19:50:04 +01:00
Kai Jellinghaus
cdd16195ae feat(cli): 2-Way sync (#1071)
* Export file type from each file

* Fix example scripts

* Strongly type CLI files

* Allow bash files

* Update API version

* Remove useless files

* WIP: Diff based push

* Fixup other code

* Implement Flow diffing

* Implement resource type

* Remaining impls

* WIP

* Fix missing file error

* Fix misstyping

* Improve error message

* Fix type inferrence

* Allow REMOVE everywhere

* Fix empty changeset

* Fix error message

* Fix type inferrence 2

* Fix variable diffs

* Fix include checks

* Move push & pull

* Handle script in sync

* Handle scripts

* Allow multi-path creation

* Fix merge conflicts

* Fix #1173

* Update Dependencies

* Add missing await

* Apply review comments

* Fix diff

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-02-03 19:49:46 +01:00
Ruben Fiszel
406cba4e73 improve instructions 2023-02-03 02:19:58 +01:00
Ruben Fiszel
8d6a8386be refactor components to ease adding custom components 2023-02-03 02:11:06 +01:00
Ruben Fiszel
1a626980df revert single file components change 2023-02-03 00:00:28 +01:00
Ruben Fiszel
23007f7a71 feat: adding worker_busy 2023-02-02 23:57:53 +01:00
Ádám Kovács
9f5500c196 fix(frontend): Various fixes and improvements (#1177)
* fix(frontend): Editor bar

* fix(frontend): Keep settings tabs always visible

* fix(frontend): Keep app header on top in preview
2023-02-02 23:00:43 +01:00
Ruben Fiszel
a82a2efa6a fix nosniff html component 2023-02-02 22:10:13 +01:00
Ádám Kovács
3305481d5d feat(frontend): App initial loading animations (#1176)
* feat(frontend): App initial loading animations

* fix(frontend): Optional prop
2023-02-02 17:55:11 +01:00
Kai Jellinghaus
42691bc1bd CLI hints (#1140)
* various improvements

* passing to kai

* passing to kai

* Outline InlineCodeCopy

* Add CLI setup steps

* Workaround #1173

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-02-02 05:30:12 -08:00
Ruben Fiszel
99568eaa47 feat: add WHITELIST_WORKSPACES and BLACKLIST_WORKSPACES 2023-02-02 07:57:03 +01:00
Ruben Fiszel
68500b12b2 improve README 2023-02-02 07:01:18 +01:00
Ruben Fiszel
f171cd8b7c fix: navigate to new script page before saving script 2023-02-02 00:31:31 +01:00
Ruben Fiszel
0ca431b6cb add privacy policy and terms of service links 2023-02-01 23:10:43 +01:00
Ruben Fiszel
cb9c0846ac fix graph viewer for negative ids 2023-02-01 20:56:58 +01:00
Ádám Kovács
bc8d1a375e fix(frontend): Render popups above components in app editor (#1171)
* fix(frontend): Render popups above items in apps

* Add explanation
2023-02-01 17:52:09 +01:00
Ruben Fiszel
0921ba0085 feat: add INCLUDE_HEADERS env variable to pass value from request headers 2023-02-01 02:22:28 +01:00
Ruben Fiszel
14b32be8b2 feat(python): add ADDITIONAL_PYTHON_PATHS 2023-02-01 02:04:53 +01:00
Ruben Fiszel
b67550a790 fix nextId for components 2023-01-31 20:49:02 +01:00
dependabot[bot]
06347746c0 chore(deps-dev): bump @sveltejs/package from 1.0.1 to 1.0.2 in /frontend (#1165)
Bumps [@sveltejs/package](https://github.com/sveltejs/kit/tree/HEAD/packages/package) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/package/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/package@1.0.2/packages/package)

---
updated-dependencies:
- dependency-name: "@sveltejs/package"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 20:05:16 +01:00
dependabot[bot]
0b4288ad9c chore(deps-dev): bump vite from 4.0.3 to 4.0.4 in /frontend (#1166)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.0.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 20:05:00 +01:00
Ruben Fiszel
a6dcb218ff ci: seperate openbb group from main 2023-01-31 20:04:20 +01:00
Ruben Fiszel
6fe93dac58 chore(main): release 1.61.1 (#1169)
* chore(main): release 1.61.1

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-01-31 20:02:29 +01:00
Ruben Fiszel
202b04bb08 fix nextId for components 2023-01-31 20:01:48 +01:00
Ruben Fiszel
df8cc1f248 fix(backend): compile issue 2023-01-31 19:50:22 +01:00
Ruben Fiszel
61e3214f9e chore(main): release 1.61.0 (#1091)
* chore(main): release 1.61.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-01-31 18:51:42 +01:00
Ruben Fiszel
d663884a99 more folders permission 2023-01-31 16:01:13 +01:00
Ruben Fiszel
a2ed69f87f fix demoting users 2023-01-31 15:23:58 +01:00
Ruben Fiszel
f377c84f5a feat: add sync webhook for flows 2023-01-31 10:21:48 +01:00
Ruben Fiszel
772c768cda feat(python): add support for extra args in python 2023-01-31 09:52:29 +01:00
Ruben Fiszel
a4f8f9e1cf feat(frontend): add plotly support 2023-01-31 08:04:46 +01:00
dependabot[bot]
dfae34d9b4 chore(deps): bump dependabot/fetch-metadata from 1.3.5 to 1.3.6 (#1163)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.5 to 1.3.6.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.5...v1.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-30 18:32:13 +00:00
Ruben Fiszel
0bc995bd07 clarify exponential backoff 2023-01-30 08:58:09 +01:00
Ruben Fiszel
161e76c500 clarify exponential backoff 2023-01-30 08:49:58 +01:00
Ruben Fiszel
c186db4e3b handle backquotes in template 2023-01-30 08:31:21 +01:00
Ruben Fiszel
652eb65082 allow whitespace in requirements override 2023-01-30 05:06:13 +01:00
Ruben Fiszel
a98ba6dc41 parseJson on resource changes 2023-01-30 03:55:01 +01:00
Ruben Fiszel
080ecb04d7 feat: add resource and resource type from json 2023-01-29 16:27:51 +01:00
Ruben Fiszel
8de3804d4a flow builder args handling improvements 2023-01-28 23:22:51 +01:00
Ruben Fiszel
008bd32ec1 fix entirecachetar path 2023-01-28 18:54:04 +01:00
Ruben Fiszel
a2f679ffc9 add support for openbb 2023-01-28 03:57:25 +01:00
Ruben Fiszel
2d3fe64bc4 add python-310 target 2023-01-28 03:34:40 +01:00
Ruben Fiszel
b7db4c78c4 feat: add PIP_LOCAL_DEPENDENCIES 2023-01-28 03:09:47 +01:00
Ruben Fiszel
d0fc40b483 grant all privilege to table favorite 2023-01-27 22:08:46 +01:00
Ruben Fiszel
1efae55d36 update stripe products references 2023-01-27 20:59:05 +01:00
Ruben Fiszel
791a772199 increase token size for refresh token 2023-01-27 18:56:42 +01:00
Ruben Fiszel
285b896a1d add stripe integration 2023-01-27 07:58:16 +01:00
Ruben Fiszel
098cd96655 add stripe integration 2023-01-27 07:29:51 +01:00
Adam Vollrath
4eee71a8fb Enable GitHub OAuth for Uffizzi Previews. (#1157)
* Enable GitHub OAuth for Uffizzi Previews.

* empty

* more specific build conditions

* Increase memory resources for `windmill` container.
2023-01-26 18:48:28 +01:00
Ádám Kovács
c01bf70f62 feat(frontend): Add HTML result rendering (#1160)
* feat(frontend): Add HTML result rendering

* fix(frontend): Add reference for XSS

* fix(frontend): Require approval only in apps

* fix(frontend): Require approval in public apps
2023-01-26 18:03:25 +01:00
Faton Ramadani
3ed16b88a4 feat(frontend): Add app inputs configurations (#1142)
* feat(frontend): Add app inputs configurations

* feat(frontend): only display resource input by default

* feat(frontend): Fix no resource field empty display

* feat(frontend): open the drawer when forked from the hub
2023-01-26 15:51:38 +01:00
Ádám Kovács
18f30c8286 fix(frontend): Update app scripts pane (#1146)
* fix(frontend): Update app scripts pane

* fix wrapping content

* import capitalize util

Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
2023-01-26 15:51:09 +01:00
Ádám Kovács
f221a6c17f fix(frontend): Add highlight to selected workspace (#1159) 2023-01-26 15:11:29 +01:00
Ruben Fiszel
51a710ffa0 do not copy necessarily for the flow object viewer 2023-01-26 03:20:01 +01:00
Ruben Fiszel
ad0c836129 add instructions for triggers on flows 2023-01-26 01:06:53 +01:00
Ruben Fiszel
be6707b461 for python change default editor tab to 4 2023-01-25 20:40:40 +01:00
Ruben Fiszel
c227ba2794 loader for flowjobresult 2023-01-25 20:33:33 +01:00
Ruben Fiszel
d60a770eb7 flow preview status viewer display more info 2023-01-25 14:14:14 +01:00
Ruben Fiszel
30d83a942c restrict number of jobs in the queue for free users 2023-01-25 13:34:08 +01:00
Ruben Fiszel
98bf9355dc implement MAX_FREE_CONCURRENT_RUNS 2023-01-25 12:58:29 +01:00
Ruben Fiszel
a3928101af worker client should use internal url 2023-01-25 00:10:37 +01:00
Ruben Fiszel
6e77757939 nodraft for editing flow from run 2023-01-24 22:57:34 +01:00
Ruben Fiszel
66c5d6e400 fix arg inputs 2023-01-24 22:44:52 +01:00
Ruben Fiszel
b0c184767c update pricing page 2023-01-24 21:58:44 +01:00
Ruben Fiszel
1165cf6e24 UX improvements for flows 2023-01-24 21:53:41 +01:00
Ruben Fiszel
a9640107f3 background scripts now part of the policy 2023-01-24 15:09:27 +01:00
Faton Ramadani
73bc13bb7d feat(frontend): Open debug runs from component (#1155)
* feat(frontend): Add debug runs

* feat(frontend): Fix build

* feat(frontend): revert implementation

* feat(frontend): Fix error displa

* feat(frontend): Fix error display

* feat(frontend): Fix preview mode

* feat(frontend): Fix error display
2023-01-24 14:34:19 +01:00
Ádám Kovács
e98966283d fix(frontend): App table action button cell (#1149)
Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
2023-01-24 12:20:27 +01:00
Ruben Fiszel
8ad2344ec6 improve cancel approval error message 2023-01-24 12:11:39 +01:00
Ruben Fiszel
b77c239f30 fix: improvements for error handling as first step of flow 2023-01-24 11:16:44 +01:00
Ruben Fiszel
15cb83936b error handler improvements 2023-01-24 07:30:07 +01:00
Ruben Fiszel
e2157ee1c0 fix listing runs from schedule 2023-01-24 06:55:11 +01:00
dependabot[bot]
bdfd50b970 chore(deps): bump @leeoniya/ufuzzy from 0.9.0 to 0.9.1 in /frontend (#1153)
Bumps [@leeoniya/ufuzzy](https://github.com/leeoniya/uFuzzy) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/leeoniya/uFuzzy/releases)
- [Commits](https://github.com/leeoniya/uFuzzy/compare/0.9.0...0.9.1)

---
updated-dependencies:
- dependency-name: "@leeoniya/ufuzzy"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 04:04:34 +01:00
dependabot[bot]
4debfd68dc chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#1151)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.46.1 to 5.49.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.49.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 04:03:59 +01:00
dependabot[bot]
410032060a chore(deps): bump chartjs-adapter-date-fns in /frontend (#1154)
Bumps [chartjs-adapter-date-fns](https://github.com/chartjs/chartjs-adapter-date-fns) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/chartjs/chartjs-adapter-date-fns/releases)
- [Commits](https://github.com/chartjs/chartjs-adapter-date-fns/compare/v2.0.0...v3.0.0)

---
updated-dependencies:
- dependency-name: chartjs-adapter-date-fns
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 04:03:32 +01:00
Faton Ramadani
22b8fed9d9 feat(frontend): Display error as an icon in order to avoid clutter wh… (#1143)
* feat(frontend): Display error as an icon in order to avoid clutter when an error occures

* feat(frontend): Fix build

* feat(frontend): Fix error icon position
2023-01-23 18:03:31 +01:00
Ruben Fiszel
0172587b12 feat: add sql as a valid type in Python 2023-01-23 15:58:33 +01:00
Faton Ramadani
f05f9e4edb feat(frontend): add selectedRowIndex to the table outputs (#1145) 2023-01-23 15:39:15 +01:00
Faton Ramadani
24b1fa0ae3 fix(frontend): Make sure AppSelect items are an array (#1144)
* fix(frontend): Make sure AppSelect items are an array

* fix(frontend): restore placeholder
2023-01-23 05:37:38 -08:00
Ruben Fiszel
fedb9fe74c update pricing page 2023-01-22 18:34:05 +01:00
Ruben Fiszel
5408da829c update pricing page 2023-01-22 18:20:06 +01:00
Ruben Fiszel
448e45b7e4 fix privilege on cloud 2023-01-22 00:53:29 +01:00
Ruben Fiszel
156f257619 add import_map to nsjail 2023-01-21 23:28:11 +01:00
Ruben Fiszel
7f40373fd6 feat(deno): allow overriding deno sandboxing with DENO_FLAGS' 2023-01-21 22:54:14 +01:00
Ruben Fiszel
f2ec03ba1b implement relative imports for deno 2023-01-21 19:12:22 +01:00
Ruben Fiszel
9a79c5537e fix compile 2023-01-21 18:49:26 +01:00
Ruben Fiszel
cf156b0591 support BigInt serialization 2023-01-21 18:41:58 +01:00
Ruben Fiszel
832ddabdf2 feat(deno): add support for DENO_AUTH_TOKENS 2023-01-21 18:36:17 +01:00
Ruben Fiszel
22080312f0 description at bottom 2023-01-21 17:33:23 +01:00
Ruben Fiszel
165095376d description at bottom 2023-01-21 10:19:05 +01:00
Ruben Fiszel
2a816b9e7b remove square from oauth 2023-01-21 09:37:10 +01:00
Ruben Fiszel
a7d03f4e25 square use req_body_auth 2023-01-21 09:26:39 +01:00
Ruben Fiszel
5e18e580f7 fix superadmins permissions 2023-01-21 08:09:49 +01:00
Felipe Albertao
9b7906e43d Added Square API OAuth (#1141) 2023-01-21 07:41:52 +01:00
Ruben Fiszel
2143bbdc94 add support for python import shopifyAPI 2023-01-20 19:52:18 +01:00
Ruben Fiszel
51a8810aa0 feat: add QUEUE_LIMIT_WAIT_RESULT 2023-01-20 19:39:31 +01:00
Faton Ramadani
8f906026b3 fix(frontend): Add default value for text, number and date input + fix issues with number input + add date input in the settings panel (#1135)
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-01-20 18:31:10 +01:00
Faton Ramadani
aa6de3bb57 fix(frontend): Prevent modal from hijacking all keypress event (#1136) 2023-01-20 15:39:37 +01:00
Faton Ramadani
71a443e3c5 fix(frontend): Check if hiddenInlineScripts are undefined before iterating over them (#1134) 2023-01-20 11:49:43 +01:00
Ruben Fiszel
d1526d9c72 fix deno nsjail vmem 2023-01-20 11:49:08 +01:00
Ruben Fiszel
2456e35908 install nodejs only on heavy 2023-01-19 21:01:30 +01:00
Ruben Fiszel
f359015d89 bump default bash tmp size 2023-01-19 20:32:08 +01:00
Ruben Fiszel
b8155f4d27 update npm used in heavy 2023-01-19 20:00:01 +01:00
Ruben Fiszel
2ce903d7e7 add more details about signals termination 2023-01-19 18:20:24 +01:00
Ruben Fiszel
d4765dee16 add nodejs npm to heavy image 2023-01-19 16:22:33 +01:00
Faton Ramadani
a78486d7e0 fix(frontend): Make sure that old apps are rendering properly (#1132) 2023-01-19 15:14:15 +01:00
Faton Ramadani
e969af9e44 feat(frontend): add support for background scripts + add FormButtonCo… (#1124)
* feat(frontend): add support for background scripts + add FormButtonComponnet

* feat(frontend): add background script fields

* feat(frontend): Handle deletion + display of results

* feat(frontend): Fix background script ids: Runnable ids needs to be valid js expression, because they are used in the evaluator.

* feat(frontend): add a portal to display modal

* feat(frontend): fix build

* feat(frontend): Add missing props

* feat(frontend): Fix run button + add tooltip + fix icon
2023-01-19 14:52:32 +01:00
Ruben Fiszel
e371fda1ce relax nsjail limits 2023-01-19 14:51:43 +01:00
Ruben Fiszel
ee14bed3d9 relax nsjail limits 2023-01-19 14:35:06 +01:00
Faton Ramadani
3d873ed51c fix(frontend): add missing condition to properly select first row (#1128) 2023-01-19 14:08:32 +01:00
Ruben Fiszel
d85f550611 handle empty flow module input transforms 2023-01-19 12:22:37 +01:00
Faton Ramadani
6c9daf7002 fix(frontend): fix first row selection (#1125)
* fix(frontend): fix first row selection

* fix(frontend): fix order of conditions
2023-01-19 11:52:34 +01:00
Ádám Kovács
6a88e8c4f4 feat(frontend): Add app preview lock (#1127)
* feat(frontend): Add locked state to app preview

* change color

* add transition
2023-01-19 11:27:16 +01:00
Ruben Fiszel
99246382ee minor UI fixes 2023-01-18 17:56:40 +01:00
Ruben Fiszel
73e1018f65 minor UI fixes 2023-01-18 17:08:34 +01:00
Ruben Fiszel
f1157e3be2 remove vega lite actions 2023-01-18 16:06:56 +01:00
Ruben Fiszel
bd79938bed feat(frontend): add vega-lite component 2023-01-18 15:49:47 +01:00
Ádám Kovács
173093a403 fix(frontend): Prepare app scripts code for export (#1123) 2023-01-18 12:43:24 +01:00
Ruben Fiszel
ed61df6d8a UX nits 2023-01-18 11:30:08 +01:00
Ruben Fiszel
24feb64dfe fix reporting duration above 60s 2023-01-18 11:23:25 +01:00
Ruben Fiszel
b3eaf86e40 HTMLComponent refresh on content change 2023-01-18 10:24:29 +01:00
Ádám Kovács
4dfdf374af feat(frontend): Add tooltip to app recompute (#1122) 2023-01-18 10:10:47 +01:00
Ruben Fiszel
45191621d2 UX nits on schedule 2023-01-18 09:42:49 +01:00
Ruben Fiszel
4d60be738e UX nits on schedule 2023-01-18 09:38:54 +01:00
Ruben Fiszel
eef3bab6e4 feat(backend): add queue_limit + configurable timeout + fix timeout cancel 2023-01-18 09:02:38 +01:00
Ruben Fiszel
14ebb6dc32 fix all cases where schema has been set to undefined 2023-01-18 06:56:44 +01:00
Ruben Fiszel
9e602691b6 do not cancel the job on leaving the preview page 2023-01-18 00:31:55 +01:00
Ruben Fiszel
02045001d2 do not cancel the job on leaving the preview page 2023-01-18 00:14:29 +01:00
Faton Ramadani
3c483f5337 fix(frontend): Select the first row by default, and remove the abilit… (#1121)
* fix(frontend): Select the first row by default, and remove the ability to deselect + fix table header z-index

* fix(frontend): restore z-index, under the floating tags
2023-01-17 19:10:06 +01:00
Ruben Fiszel
bcb5c3697d inline tailwindcss for html component in apps 2023-01-17 17:48:40 +01:00
Ruben Fiszel
0e50579089 frontend(apps): html component uses iframe for security 2023-01-17 17:29:01 +01:00
Ádám Kovács
59c4cc2058 fix(frontend): App table header z-index (#1120) 2023-01-17 14:00:54 +01:00
Ádám Kovács
462adbe42f fix(frontend): Runnable table overflow (#1119) 2023-01-17 12:51:14 +01:00
Ruben Fiszel
d708b6faa5 fix permissioned_as from username 2023-01-17 12:49:24 +01:00
Ruben Fiszel
40d566ab8e remove unecessary badge width 2023-01-17 12:32:30 +01:00
Ruben Fiszel
c5d712c977 ci: build both amd and arm on same workflow leveraging depot 2023-01-17 12:16:36 +01:00
Ádám Kovács
631a3da17f fix(frontend): Show app builder header always on top (#1118)
* fix(frontend): Keep app header always on top

* various fixes

* fix
2023-01-17 12:02:21 +01:00
Ruben Fiszel
ff5145d7bd UI nits 2023-01-17 12:00:17 +01:00
Ruben Fiszel
d1131c1a16 various fixes 2023-01-17 11:30:37 +01:00
Ruben Fiszel
9b89df9ecf various fixes 2023-01-17 11:30:22 +01:00
Ruben Fiszel
acff87a09f all 2023-01-17 08:09:46 +01:00
Ruben Fiszel
a182ce2d2c all 2023-01-17 08:09:39 +01:00
Ruben Fiszel
0954b5a4f2 ci: npm run check generate backend client 2023-01-17 07:40:40 +01:00
Ruben Fiszel
d297223fa5 ci: npm check on frontend change and uffizzi only on backend changes 2023-01-17 07:38:05 +01:00
dependabot[bot]
9bccb90c7a chore(deps-dev): bump prettier from 2.8.1 to 2.8.3 in /frontend (#1111)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.1 to 2.8.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.1...2.8.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-01-17 07:17:42 +01:00
dependabot[bot]
6403259e2a chore(deps): bump @tanstack/svelte-table in /frontend (#1112)
Bumps [@tanstack/svelte-table](https://github.com/tanstack/table) from 8.7.2 to 8.7.6.
- [Release notes](https://github.com/tanstack/table/releases)
- [Commits](https://github.com/tanstack/table/compare/v8.7.2...v8.7.6)

---
updated-dependencies:
- dependency-name: "@tanstack/svelte-table"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-01-17 06:53:11 +01:00
Ruben Fiszel
fa367f4128 point uffizzi lsp to 60d image 2023-01-17 06:51:17 +01:00
Ruben Fiszel
164f281dd0 fix uffizzi preview 2023-01-17 06:46:37 +01:00
Adam Vollrath
760cb31bae Use Uffizzi workflow v2 and other minor improvements. (#1114)
* Use Uffizzi workflow `v2` and other minor improvements.

* Specify Uffizzi Preview URL as target for `playwright`.

Answers https://github.com/windmill-labs/windmill/pull/1106#issuecomment-1384334128

* recheck
2023-01-16 20:32:46 +01:00
Faton Ramadani
4f869811fe fix(frontend): Fix id generation when a second action (#1110) 2023-01-16 19:07:22 +01:00
Ruben Fiszel
0f26a3b111 playwright against uffizzi (#1109)
* all

* fix perms

* move build to depot

* login

* revert to docker build

* revert to docker build

* fix playwright
2023-01-16 18:01:45 +01:00
Vibhav Bobade
fadae2d2b7 create preview environments for every PR using Uffizzi (#1106)
* Integrate Uffizzi

* remove lsp build

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-01-16 17:03:31 +01:00
Faton Ramadani
12b00a808d feat(frontend): Add Supabase resource (#1107)
* feat(frontend): Add Supabase resource

* feat(frontend): Added an image
2023-01-16 16:54:06 +01:00
Ádám Kovács
f0435f5f81 fix(frontend): Playwright (#1108)
* fix(frontend): Playwright

* fix(frontend): Update test base url

* feat(ci): Add base url to playwright
2023-01-16 16:51:14 +01:00
Ruben Fiszel
f018d025a2 fix schedule permissions 2023-01-16 16:42:42 +01:00
Ruben Fiszel
5d720e96e6 add row to eval input 2023-01-16 13:23:31 +01:00
Ruben Fiszel
e1b77b0d5f migrate more builds to depot.dev 2023-01-16 10:56:20 +01:00
Ruben Fiszel
2db6424f9d add dynamic disabled field to button 2023-01-16 01:52:18 +01:00
Ruben Fiszel
9a58145f72 add selenium-wire exception 2023-01-15 22:48:49 +01:00
Kyle Galbraith
51c1ae937c add packages: write for ghcr (#1105) 2023-01-15 18:29:18 +01:00
Ruben Fiszel
26bd9ac9aa remove comingsoon for UIs 2023-01-15 17:58:40 +01:00
Kyle Galbraith
3ba28b8156 Switch to Depot for Arm image build (#1104)
* switch to Depot for native arm builds without emulation

* set Depot project id
2023-01-15 17:55:25 +01:00
Ruben Fiszel
3f318b4ac4 add license key check 2023-01-15 12:06:37 +01:00
Ruben Fiszel
452c6de7e3 script_helpers nit 2023-01-15 08:32:37 +01:00
Ruben Fiszel
b1a86db58b nit error handling 2023-01-15 07:22:35 +01:00
Ruben Fiszel
b29eccf4bb : 2023-01-15 01:39:07 +01:00
Ruben Fiszel
ba28f6c62a error improvements 2023-01-15 01:28:13 +01:00
Ruben Fiszel
279f671dcf improve default connection for failure module 2023-01-14 19:22:59 +01:00
Ruben Fiszel
954cc1bb95 fix tests wrt to new error handling 2023-01-14 18:47:37 +01:00
Ruben Fiszel
776d4c9ca1 error handling improvements 2023-01-14 17:46:03 +01:00
Ruben Fiszel
6949516e63 improve error handling 2023-01-14 15:08:47 +01:00
Ruben Fiszel
f6c13b0324 avoid annoying panel resizing on value change 2023-01-14 14:29:12 +01:00
Ádám Kovács
d811675882 feat(frontend): Add surreal db logo (#1102) 2023-01-14 14:17:43 +01:00
Ruben Fiszel
735aee952a add hub compatible json export to apps 2023-01-14 09:10:39 +01:00
Ruben Fiszel
9432f4c1fa minor tooltip fix 2023-01-14 07:45:15 +01:00
Ruben Fiszel
5bf5a4f86e sqlx fix 2023-01-13 22:27:18 +01:00
Ruben Fiszel
60ef8f569b run_wait_result improvements: cancel + early tx drop 2023-01-13 21:30:29 +01:00
Ádám Kovács
7bc59d9d26 fix(frontend): App script list panel overflow (#1101) 2023-01-13 20:24:18 +01:00
Ruben Fiszel
bd4c7b7957 minor improvements 2023-01-13 18:52:34 +01:00
Ádám Kovács
172b5dba8f feat(frontend): Update app table component styles (#1100)
* feat(frontend): Update app table component styles

* feat(frontend): Update table search style
2023-01-13 18:44:21 +01:00
Ruben Fiszel
b478ba8c45 clarify run detail page + allow i64 for MAX_LOG_SIZE 2023-01-13 18:39:17 +01:00
Ruben Fiszel
71708b7566 add MAX_LOG_SIZE env params 2023-01-13 14:46:07 +01:00
Ádám Kovács
c50c7406f2 feat(frontend): Add default codes to app editor (#1099) 2023-01-13 13:48:28 +01:00
Ruben Fiszel
00357261d5 add psycopg-pool to psycopg default install 2023-01-13 12:16:48 +01:00
Ruben Fiszel
c121908716 fix table static exports 2023-01-13 12:08:37 +01:00
Ádám Kovács
2191e85231 feat(frontend): Add more integration icons (#1097)
* feat(frontend): Add more integration icons

* fix

* fix
2023-01-13 08:48:31 +01:00
Ruben Fiszel
a85a964819 add psycopg3 to the list of support imports 2023-01-13 07:54:05 +01:00
Ruben Fiszel
2ee418b6bf add polars to lsp 2023-01-12 23:12:07 +01:00
Ruben Fiszel
8f72c32fbe various improvements 2023-01-12 22:20:54 +01:00
Ruben Fiszel
1cc5059179 fix execute_component tokens 2023-01-12 16:53:54 +01:00
Ruben Fiszel
9280a5132e minor app fixes 2023-01-12 13:04:17 +01:00
Ruben Fiszel
a626aa6175 minor app fixes 2023-01-12 12:51:27 +01:00
Ádám Kovács
339742ca77 fix(frontend): App form component display (#1096) 2023-01-12 11:41:05 +01:00
Ádám Kovács
43e069eb96 fix(frontend): Use absolute path on connect images (#1095) 2023-01-12 11:40:41 +01:00
Ruben Fiszel
8e1fecfda0 make openapi viewer rely on local assets only 2023-01-11 21:02:53 +01:00
Ruben Fiszel
3e1c9463d6 make openapi viewer rely on local assets only 2023-01-11 20:41:52 +01:00
Ruben Fiszel
1337811438 feat: add openapi viewer (#1094)
* all

* all

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix typecheck

* fix tests

* fix tests

* fix tests

* all
2023-01-11 20:28:50 +01:00
Ruben Fiszel
a028772bf4 fix typecheck 2023-01-11 17:21:02 +01:00
Ádám Kovács
0419e7e1c9 fix(frontend): Revert component input panel change (#1092) 2023-01-11 16:56:58 +01:00
Ádám Kovács
bdfc38d954 feat(frontend): Add copy button option to app text display component (#1090)
* feat(frontend): Add copy button to app text

* feat(frontend): Add tooltip to component configs

* fix(frontend): Remove copy button text
2023-01-11 16:05:19 +01:00
Ruben Fiszel
dbd632375c fix backend tests 2023-01-11 14:56:05 +01:00
Ruben Fiszel
2dfbf84d62 chore(main): release 1.60.0 (#1086)
* chore(main): release 1.60.0

* Update CHANGELOG.md

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-01-11 12:14:48 +01:00
Ádám Kovács
cb25f88300 fix(frontend): Keep pane resizer under open drawer (#1089) 2023-01-11 12:06:05 +01:00
Ádám Kovács
3cbe5d1f66 fix(frontend): Remove comment remnant (#1088) 2023-01-11 11:38:55 +01:00
Ádám Kovács
e93c511bb5 fix(frontend): App form component (#1087)
* fix(frontend): Make app form usage more clear

* fix(frontend): Form orientation

* fix(frontend): Form message format

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-01-11 11:24:46 +01:00
Ruben Fiszel
6bc0320bff add Use as template for apps 2023-01-11 11:00:10 +01:00
Ruben Fiszel
3418a07c45 various app fixes 2023-01-11 10:57:30 +01:00
Ruben Fiszel
c0df9a5e20 update axum 2023-01-11 08:19:20 +01:00
Ruben Fiszel
b4e9468461 update change-versions 2023-01-11 04:54:55 +01:00
Ruben Fiszel
a14623feaa feat: add 'add user to workspace' 2023-01-11 00:51:04 +01:00
Ádám Kovács
342ea5609b fix(frontend): App minor fixes (#1085)
* fix(frontend): Tooltip contrast

* fix(frontend): App button padding
2023-01-10 22:53:11 +01:00
Ádám Kovács
8e72007368 feat(frontend): Add frost to color palette (#1084) 2023-01-10 22:52:37 +01:00
Ruben Fiszel
48d87ab12c various improvements 2023-01-10 11:21:16 +01:00
dependabot[bot]
4e0c2d06fc chore(deps-dev): bump simple-svelte-autocomplete in /frontend (#1083)
Bumps [simple-svelte-autocomplete](https://github.com/pstanoev/simple-svelte-autocomplete) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/pstanoev/simple-svelte-autocomplete/releases)
- [Commits](https://github.com/pstanoev/simple-svelte-autocomplete/compare/v2.5.0...v2.5.1)

---
updated-dependencies:
- dependency-name: simple-svelte-autocomplete
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 20:00:03 +01:00
Ruben Fiszel
cbddd6b98b chore: update svelte-check 2023-01-09 19:59:17 +01:00
dependabot[bot]
35297d4b52 chore(deps): bump svelte-select from 5.0.1 to 5.0.2 in /frontend (#1081)
Bumps [svelte-select](https://github.com/rob-balfre/svelte-select) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/rob-balfre/svelte-select/releases)
- [Changelog](https://github.com/rob-balfre/svelte-select/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rob-balfre/svelte-select/compare/v5.0.1...v5.0.2)

---
updated-dependencies:
- dependency-name: svelte-select
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 18:54:41 +00:00
Ruben Fiszel
2c717e00e5 fix computing policy prefix for hub scripts 2023-01-09 19:46:24 +01:00
dependabot[bot]
3bc1e6248b chore(deps): bump @leeoniya/ufuzzy from 0.8.0 to 0.9.0 in /frontend (#1080)
Bumps [@leeoniya/ufuzzy](https://github.com/leeoniya/uFuzzy) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/leeoniya/uFuzzy/releases)
- [Commits](https://github.com/leeoniya/uFuzzy/compare/0.8.0...0.9.0)

---
updated-dependencies:
- dependency-name: "@leeoniya/ufuzzy"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 18:30:33 +00:00
Ruben Fiszel
2e2067fe13 compute policy also for action buttons 2023-01-09 19:24:16 +01:00
dependabot[bot]
367903e359 chore(deps-dev): bump @playwright/test in /frontend (#1079)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.29.1 to 1.29.2.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.29.1...v1.29.2)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 18:23:48 +00:00
dependabot[bot]
37f2de6196 chore(deps-dev): bump svelte-dnd-action in /frontend (#1076)
Bumps [svelte-dnd-action](https://github.com/isaacHagoel/svelte-dnd-action) from 0.9.21 to 0.9.22.
- [Release notes](https://github.com/isaacHagoel/svelte-dnd-action/releases)
- [Changelog](https://github.com/isaacHagoel/svelte-dnd-action/blob/master/release-notes.md)
- [Commits](https://github.com/isaacHagoel/svelte-dnd-action/commits)

---
updated-dependencies:
- dependency-name: svelte-dnd-action
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 18:21:24 +00:00
Ruben Fiszel
5505d0a7c9 fix infering schema for inlineeditor 2023-01-09 18:57:30 +01:00
Ruben Fiszel
c61f9d4d66 fix infering schema for inlineeditor 2023-01-09 18:46:59 +01:00
Ruben Fiszel
18946918c3 also update schema when moving flow 2023-01-09 17:26:45 +01:00
Ruben Fiszel
e676c18b5f fix approval page approve endpoint empty payload 2023-01-09 17:19:56 +01:00
Ruben Fiszel
a9cce15b0c nit: close drawer when connecting oauth in new window 2023-01-09 16:52:05 +01:00
Ruben Fiszel
eb49dd8216 nits: clarify resume messages 2023-01-09 16:46:36 +01:00
Ruben Fiszel
e2f2db2d7f edit operatorOnly on toggle change 2023-01-09 16:42:02 +01:00
Ruben Fiszel
6e9c61a7fb (frontend) remove duplicate of folders from folder list name 2023-01-09 16:14:38 +01:00
Ruben Fiszel
4d5acf6f52 creator of group is also automatically a member 2023-01-09 16:08:10 +01:00
Ruben Fiszel
55e2bf9fce bump backend versions 2023-01-09 15:35:28 +01:00
Ruben Fiszel
daf8e2e8be fix backend tests 2023-01-09 14:51:27 +01:00
Ruben Fiszel
b5b13518da chore(main): release 1.59.0 (#1074)
* chore(main): release 1.59.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-01-09 14:03:36 +01:00
Ruben Fiszel
d3e2cf0779 fix backend tests 2023-01-09 14:00:17 +01:00
Ruben Fiszel
5347cd46a9 feat: add relative imports for python scripts (#1075)
* all

* all
2023-01-09 13:49:30 +01:00
Ruben Fiszel
32d90d4f18 add svelte as peer dep 2023-01-09 11:48:38 +01:00
Ruben Fiszel
1076c4ffc1 bump versions 2023-01-09 11:46:30 +01:00
Ádám Kovács
a84eb9b1f7 fix(frontend): Iconed resource height issue (#1073) 2023-01-09 11:44:16 +01:00
Ruben Fiszel
9540e6cec3 add appwrite and linkding logos 2023-01-07 19:16:41 +01:00
Ruben Fiszel
54ef5a6d87 chore(main): release 1.58.0 (#1061)
* chore(main): release 1.58.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-01-07 17:00:46 +08:00
Ruben Fiszel
6edf9b9946 feat: add archive/unarchive/delete workspace 2023-01-07 09:39:50 +01:00
Ruben Fiszel
0bcdcaedcf feat: add min/max constraint to number + slider component 2023-01-07 08:51:09 +01:00
Ruben Fiszel
50453ca690 feat: add hub support for apps 2023-01-07 07:44:44 +01:00
Faton Ramadani
b5edb7ed98 App UI improvements (#1072)
* fix(frontend): Improve App UI

* fix(frontend):Align typing

* fix(frontend): Improve App UI

* fix(frontend): remove debug string

* fix(frontend): remove debug string

* fix(frontend): restore code from main
2023-01-06 17:46:45 +01:00
Ruben Fiszel
099c4fd10d add debug Runs to apps 2023-01-05 08:54:18 +01:00
Ruben Fiszel
3fba91084d improve job loader in case of concurrent requests 2023-01-05 05:57:22 +01:00
Ruben Fiszel
aaac41761c ensuring results come-in order for testjobloader 2023-01-04 21:01:40 +01:00
Ruben Fiszel
1967413ad4 remove early return executeComponent 2023-01-04 20:24:01 +01:00
Ruben Fiszel
7aa4751531 fix some apps' components default sizing 2023-01-04 20:05:55 +01:00
Ruben Fiszel
37a8789741 remove spurrious console logs 2023-01-04 19:55:31 +01:00
Ruben Fiszel
3e9a6ebc5a hide spurrious Unexpected usage 2023-01-04 19:03:31 +01:00
Ruben Fiszel
93ce9c42fe fix overflow on component object viewer 2023-01-04 18:55:33 +01:00
Ruben Fiszel
7437dc00aa apps improvements 2023-01-04 18:37:42 +01:00
Ruben Fiszel
47b498da80 fix flow input transform default bug 2023-01-04 15:57:19 +01:00
Ruben Fiszel
1c75bf7bef add more apps components 2023-01-04 15:54:23 +01:00
Ruben Fiszel
ad1ffdb613 fix template editor monaco workers 2023-01-04 10:56:15 +01:00
Ruben Fiszel
5204e4a75d feat: add support for yaml format as a string format 2023-01-04 10:37:13 +01:00
Ruben Fiszel
aaaece99e7 apps UX nits 2023-01-04 10:14:03 +01:00
Ruben Fiszel
03da654714 improve draft logic for scripts/apps/flows 2023-01-04 07:22:30 +01:00
Ruben Fiszel
43a7d9d7b4 apps UX nits 2023-01-04 05:35:01 +01:00
Ruben Fiszel
68a09176d3 add run button directly in inline editor 2023-01-04 05:27:47 +01:00
Ruben Fiszel
8958118bef fix apps UX nits 2023-01-04 05:07:18 +01:00
Ruben Fiszel
82b30f4da6 fix forking hub deno scripts in apps 2023-01-03 15:56:02 +01:00
Ruben Fiszel
2acb7d1774 nit fix incorrect overflow-auto in display result 2023-01-03 11:17:15 +01:00
Ruben Fiszel
976c3d49dd add context to context panel in apps 2023-01-03 10:41:51 +01:00
Ruben Fiszel
fa522da565 apps improvements 2023-01-03 09:46:36 +01:00
Ruben Fiszel
8517c25153 disallow loading public app if not visible anymore 2023-01-03 03:29:35 +01:00
dependabot[bot]
c2a733dc42 chore(deps-dev): bump eslint-config-prettier in /frontend (#1068)
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.5.0 to 8.6.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v8.5.0...v8.6.0)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-02 18:20:05 +00:00
dependabot[bot]
d8feaf341a chore(deps-dev): bump @typescript-eslint/parser in /frontend (#1067)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.46.1 to 5.48.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.48.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-02 18:13:16 +00:00
dependabot[bot]
4c25db3891 chore(deps-dev): bump @types/node from 18.11.9 to 18.11.18 in /frontend (#1066)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.11.9 to 18.11.18.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-02 18:13:00 +00:00
dependabot[bot]
b0c7d9af27 chore(deps-dev): bump @playwright/test in /frontend (#1065)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.28.1 to 1.29.1.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.28.1...v1.29.1)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-02 18:12:40 +00:00
Ádám Kovács
76a860fe53 fix(frontend): Remove popover hover styles (#1064) 2023-01-02 19:05:29 +01:00
Ruben Fiszel
5de7dc9248 further public apps improvements 2023-01-02 19:02:40 +01:00
Ádám Kovács
45acb89f87 feat(frontend): Add integration icons (#1063) 2023-01-02 18:54:01 +01:00
Ádám Kovács
34e3331919 feat(frontend): Update app auto-refresh button (#1062)
* feat(frontend): Update interval selector

* fix(frontend): Interval

* feat(frontend): Resource saving

* fix(frontend): Update selector labels

* label
2023-01-02 18:53:47 +01:00
Ruben Fiszel
39e7fc6c28 tighten public apps security using triggerable policy 2023-01-02 18:53:10 +01:00
Ruben Fiszel
39e2bf39e9 make app public page not require login at all 2023-01-02 13:02:45 +01:00
Ádám Kovács
4d6a568820 feat(frontend): Toggle to hide optional inputs (#1060) 2023-01-02 10:09:33 +01:00
Ruben Fiszel
a34ae8b2ae improve apps wiring 2023-01-02 10:07:17 +01:00
Ruben Fiszel
c7e60843d4 improve apps wiring 2023-01-02 10:07:15 +01:00
Ruben Fiszel
160dfa3121 chore(main): release 1.57.1 (#1059)
* chore(main): release 1.57.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-01-02 04:45:09 +01:00
Ruben Fiszel
2c8e98a9c7 fix: preserver order changes for flows' schema 2023-01-02 04:43:28 +01:00
Ruben Fiszel
334ec1a084 remove buggy transition fade on code editor 2023-01-02 04:28:23 +01:00
Ruben Fiszel
ab0aeb0df8 fix: support setting undefined states 2023-01-02 04:22:56 +01:00
Ruben Fiszel
21f98e29ea chore(main): release 1.57.0 (#1043)
* chore(main): release 1.57.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2023-01-01 19:23:04 +01:00
Ruben Fiszel
be14aab9b1 feat: apps can be published publicly 2023-01-01 19:16:26 +01:00
Ruben Fiszel
e24dc6de4f update all clients to use update resource value 2023-01-01 10:26:11 +01:00
Ruben Fiszel
4bc90e8409 improve design of items picker 2023-01-01 10:02:26 +01:00
Ruben Fiszel
4822c863f8 deprecate starters workspace by pointing resource types to admins 2023-01-01 09:00:56 +01:00
Ruben Fiszel
8f3649e940 fix is_owner for groups/folders + unift summary for apps 2023-01-01 07:23:43 +01:00
Ruben Fiszel
4135b6a4d5 apps improvements (row size, text options) 2023-01-01 06:24:21 +01:00
Ruben Fiszel
5c8bfb4d39 apps nits 2022-12-31 18:55:47 +01:00
Ádám Kovács
72aeba121c fix(frontend): Static inputs overflow (#1057)
* fix(frontend): Static inputs overflow

* Update FlowConstantsItem.svelte

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-12-31 13:37:23 +01:00
Ruben Fiszel
9fa2f96b31 overhaul app creation flow 2022-12-31 13:34:59 +01:00
Ruben Fiszel
94e929ddc4 restore 12 columns for apps but introduce fullscreen mode 2022-12-31 10:04:32 +01:00
Ruben Fiszel
5e522c5720 set default for template editor 2022-12-31 07:50:18 +01:00
Ruben Fiszel
4df19ab873 add autosave for apps 2022-12-31 07:36:05 +01:00
Ruben Fiszel
eb359b1a3d re-enable page titles 2022-12-31 05:08:47 +01:00
Ruben Fiszel
58a5889dc7 app improvements 2022-12-30 19:46:31 +01:00
Ruben Fiszel
e9488f1b66 app improvements 2022-12-30 19:04:50 +01:00
Ruben Fiszel
a1fec7c4b7 fix init edit on variable editor 2022-12-30 16:59:04 +01:00
Ruben Fiszel
54a5e73117 fix login redirection 2022-12-30 15:32:51 +01:00
Ádám Kovács
0812f6efd8 feat(frontend): Add customization props to radio (#1056) 2022-12-30 12:40:57 +01:00
Ruben Fiszel
3192ce5d21 more tweaks 2022-12-30 12:11:48 +01:00
Ruben Fiszel
e8fc94d7ef further apps improvements 2022-12-30 11:55:06 +01:00
Ruben Fiszel
aedd02bc2a app reactivity improvements 2022-12-30 09:56:07 +01:00
Ruben Fiszel
d108c3ed07 flow constants page improvements 2022-12-30 06:23:59 +01:00
Ruben Fiszel
3296debfe7 feat: add a All Static Inputs module to the flow editor 2022-12-30 05:31:45 +01:00
Ádám Kovács
2fd730f8d2 fix(frontend): List item overflowing corners (#1055) 2022-12-30 05:15:10 +07:00
Ruben Fiszel
a42f802cfd items-list overflow to let dropdown go through 2022-12-29 19:33:14 +01:00
Ádám Kovács
adc84f06d9 fix(frontend): Minor fixes in editor (#1054)
* fix(frontend): Script arguments window overflow

* fix(frontend): Consistent input editor font size

* fix(frontend): Fix script settings inconsistencies
2022-12-29 18:44:56 +01:00
Ádám Kovács
9d30e5fa57 feat(frontend): Update tooltip and home list dropdown (#1053)
* feat(frontend): Update tooltip

* feat(frontend): Update list dropdown
2022-12-29 18:38:28 +01:00
Ruben Fiszel
6e271d3d61 fix dropdown 2022-12-29 15:57:27 +01:00
Kai Jellinghaus
543490b103 Allow workspace to be newly created (#1052) 2022-12-29 20:31:01 +07:00
Ruben Fiszel
f4c5de3d2b fix app anchors 2022-12-29 13:53:20 +01:00
Ruben Fiszel
647b57b24e add healthchecks to lsp 2022-12-29 12:52:30 +01:00
Ruben Fiszel
7d8cbfe115 delete comments from flow of the hub 2022-12-29 12:49:27 +01:00
Ádám Kovács
0f1b19c7d3 fix(app): Fix inconsistencies in list items and sidebar menus (#1051)
* fix(app): Fix minor issues in home page list

* fix(app): Remove inconsistencies in sidebar menus
2022-12-29 12:48:26 +01:00
Faton Ramadani
fb395655e6 App bugfix (#1049)
* adapt static adapter to cloudflare

* fix(frontend): Various bug fix

* fix typecheck

* numerous fixes

* fix all connects

* fix all connects

* more improvements

* more improvements

* everything work?

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-12-29 12:47:53 +01:00
Ádám Kovács
faa046a3fd feat(app): Update sidebar menu (#1050) 2022-12-29 15:55:53 +07:00
Ruben Fiszel
17a5b3ffdb fix testjobloader when running many interleaving computations 2022-12-28 17:11:58 +01:00
Ruben Fiszel
47fa61ba30 fix raw editor height for resources 2022-12-28 13:24:56 +01:00
Ruben Fiszel
efe3973c29 fix test just this step freeze svelte bc of transition:fade 2022-12-28 12:52:21 +01:00
Ruben Fiszel
26ea59b3e9 fix test just this step freeze svelte bc of transition:fade 2022-12-28 12:51:04 +01:00
Ádám Kovács
681e2e824a feat(app): Use consistent styles on settings pages (#1048)
* feat(app): Update login page style

* feat(app): Update pages with centered modal

* fix(app): Update settings

* adapt static adapter to cloudflare

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-12-28 00:39:30 +01:00
Ruben Fiszel
2d4a83bf90 adapt static adapter to cloudflare 2022-12-28 00:25:00 +01:00
Ruben Fiszel
8031a7b5ec adapt static adapter to cloudflare 2022-12-27 17:59:12 +01:00
Ruben Fiszel
b3adb7dad8 fix approval page for sveltekit 1.0 2022-12-27 17:21:45 +01:00
Ruben Fiszel
6d40f16695 add auto_https on caddyfileremote 2022-12-27 16:32:41 +01:00
Ruben Fiszel
a29357eb15 fix confirmation modal enter behavior 2022-12-27 16:29:34 +01:00
Ruben Fiszel
b72a3babd8 fix is_owner 2022-12-27 15:52:12 +01:00
Ruben Fiszel
4e1e80e673 nit redirect on logout 2022-12-27 13:38:34 +01:00
Ruben Fiszel
8c268ff34b add dedicated logout page 2022-12-27 13:26:03 +01:00
Ruben Fiszel
1b0bb22da7 fix layout for sveltekit 1.0 2022-12-27 07:27:14 +01:00
dependabot[bot]
b24f3472d1 chore(deps): bump svelte-select from 5.0.0-beta.40 to 5.0.1 in /frontend (#1046)
Bumps [svelte-select](https://github.com/rob-balfre/svelte-select) from 5.0.0-beta.40 to 5.0.1.
- [Release notes](https://github.com/rob-balfre/svelte-select/releases)
- [Changelog](https://github.com/rob-balfre/svelte-select/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rob-balfre/svelte-select/compare/v5.0.0-beta.40...v5.0.1)

---
updated-dependencies:
- dependency-name: svelte-select
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-26 18:11:39 +00:00
dependabot[bot]
50c909d009 chore(deps-dev): bump @types/vscode from 1.68.1 to 1.74.0 in /frontend (#1047)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.68.1 to 1.74.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-26 18:11:03 +00:00
Ruben Fiszel
a82ed3f744 trim imports from monaco 2022-12-25 12:58:14 +01:00
Ruben Fiszel
99fd968eba update fontAwesome icons 2022-12-25 11:55:01 +01:00
Ruben Fiszel
0e97b98d21 update svelte-preprocess to 5.x 2022-12-25 11:46:14 +01:00
dependabot[bot]
37db806723 chore(deps-dev): bump prettier from 2.7.1 to 2.8.1 in /frontend (#1031)
Bumps [prettier](https://github.com/prettier/prettier) from 2.7.1 to 2.8.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.7.1...2.8.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-12-25 10:34:43 +00:00
Ruben Fiszel
b805e28adf update adapter-kit 2022-12-25 08:58:16 +01:00
Ruben Fiszel
972b2affae minor app fixes 2022-12-25 08:39:00 +01:00
Ruben Fiszel
bf86fe5041 update to sveltekit 1.0 2022-12-25 08:05:39 +01:00
Ruben Fiszel
e7cdd72a26 svelte-migrate: renamed files 2022-12-25 05:49:06 +01:00
Ruben Fiszel
3b17820533 svelte-migrate: renamed files 2022-12-25 05:48:44 +01:00
Ruben Fiszel
eee8fcee75 nit: danger zone for flow details 2022-12-24 19:37:38 +01:00
Ruben Fiszel
037de7ec95 improve flow graph rendering behavior 2022-12-24 19:29:50 +01:00
Ruben Fiszel
0e585a81a5 resuming suspended flows as owner is now through flow id 2022-12-24 09:44:05 +01:00
Ruben Fiszel
f1d0db3bc7 make flow status viewer always open 2022-12-24 06:31:22 +01:00
Ruben Fiszel
749db01ab2 allow updating to latest hash from within flow directly if module hash locked 2022-12-24 06:24:27 +01:00
Ruben Fiszel
19ff6faf35 border around template editor 2022-12-23 17:59:42 +01:00
Ruben Fiszel
39b3c57539 fix navigation on index list rows 2022-12-23 17:40:19 +01:00
Faton Ramadani
70e7a5d075 feat(frontend): Fix initial component dimensions + Select select + add spinner when buttons are clicked (#1044) 2022-12-23 21:11:13 +07:00
Ruben Fiszel
2bc297f2e9 allow resuming as owner suspended job only for path owners 2022-12-23 13:44:41 +01:00
Faton Ramadani
65f4e86a22 feat(frontend): Properly support resource (#1039)
* feat(frontend): Properly support resource

* feat(frontend): remove unused import

* feat(frontend): Fix build errors

* feat(frontend): Fix table actions

* feat(frontend): Fix table parameters

* feat(frontend): Fix runnable inputs sync

* feat(frontend): Done

* fix

* fix

* feat(frontend): Fix typing issues

* feat(frontend): Fix id generation

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-12-23 13:42:42 +01:00
Ruben Fiszel
40195d42f6 feat(backend): resume from owner directly in flow status viewer (#1042)
* foo

* progress
2022-12-23 13:04:31 +01:00
Ruben Fiszel
2aeab245a1 schedule next job in transaction to avoid race condition 2022-12-23 06:53:26 +01:00
Ruben Fiszel
85e8b7c78d chore(main): release 1.56.1 (#1041)
* chore(main): release 1.56.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-12-23 03:33:50 +01:00
Ruben Fiszel
0614ec42ba fix(cli): typo in cli deps 2022-12-23 03:31:58 +01:00
Ruben Fiszel
03c7b38c94 chore(main): release 1.56.0 (#1011)
* chore(main): release 1.56.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-12-23 03:10:03 +01:00
Kai Jellinghaus
741646b618 feat!(cli): Folders support & Less Tarball nesting (#1040)
* Basic folder support

* Proper Folder Support + deps.ts

* Upgrade Versions

* Add folder meta to tarball

* Remove tarball folders

* Minor fixes

* Fix typo

* Remove extra_perms check

* Use new endpoint

* Use new untar location

* Fix shrinking files
2022-12-23 03:06:12 +01:00
Ruben Fiszel
067da91463 make ownership check more consistent, expose ownership api, expose update folder api 2022-12-22 14:48:57 +01:00
Ruben Fiszel
c28311242d feat(backend): add SUPERADMIN_SECRET as an env set superadmin 2022-12-22 10:35:10 +01:00
Ruben Fiszel
e228c6448e feat(frontend): templatable editor with autocompletion 2022-12-22 08:38:12 +01:00
Faton Ramadani
cebbc5fbd1 feat(frontend): Fix component synchro (#1038)
* feat(frontend): Fix component synchro

* feat(frontend): Fix isObject
2022-12-21 11:19:27 +01:00
Ruben Fiszel
420230ef17 minor editor improvements 2022-12-21 09:46:12 +01:00
Faton Ramadani
ab13e8cce4 feat(frontend): Fork + Fix table (#1037)
* feat(frontend): WIP

* feat(frontend): WIP

* feat(frontend): add support unused inline scripts

* feat(frontend): fix all interaction

* feat(frontend): Fix pick

* feat(frontend): add ability to fork

* feat(frontend): fix mobile preview

* feat(frontend): fix table

* feat(frontend): fix table actions

* feat(frontend): Fix build error
2022-12-21 08:22:30 +01:00
Ruben Fiszel
f73dbd8039 feat: add move to drawer for script and flows 2022-12-21 06:55:37 +01:00
Faton Ramadani
26a6de247c feat(frontend): Add the ability to lock components so they don't move around (#1035) 2022-12-20 16:53:18 +01:00
Kai Jellinghaus
3b8356cf9a Allow RUST_LOG_STYLE (#1036) 2022-12-20 16:19:18 +01:00
Faton Ramadani
be743117d1 feat(frontend): Fix inline script status (#1034) 2022-12-20 16:17:45 +01:00
Ádám Kovács
4651c9d8cd feat(frontend): App builder password and date input (#1022)
* feat: Add password input to app builder
2022-12-20 15:34:36 +01:00
Ruben Fiszel
b7afe5ecfc improve error message for already existing items 2022-12-20 12:52:18 +01:00
Ruben Fiszel
f195d4c4a5 improve folder UX 2022-12-20 10:47:29 +01:00
Faton Ramadani
95a0b9ceae feat(frontend): Add an input field to edit inline script name (#1033) 2022-12-20 10:34:50 +01:00
Ruben Fiszel
27e840ced1 improve error message for oauth 2022-12-20 08:49:23 +01:00
Ruben Fiszel
f91967c4c8 improve error message for oauth 2022-12-20 08:20:21 +01:00
Ruben Fiszel
803318d0b5 align share with folder permissions 2022-12-20 07:18:10 +01:00
Ruben Fiszel
cd7bc33b6a re-enable picking groups 2022-12-20 07:18:10 +01:00
Ruben Fiszel
92dee8b958 Update README.md 2022-12-20 03:21:03 +01:00
Ruben Fiszel
f8e01257a3 fix folders queries on RDS 2022-12-19 21:01:12 +01:00
Ruben Fiszel
4329d25988 feat: introduce folders, deprecate items owned by groups 2022-12-19 19:11:23 +01:00
Ruben Fiszel
c1b0b64e17 feat: introduce folders, deprecate items owned by groups 2022-12-19 18:59:46 +01:00
Ruben Fiszel
876e140626 change the default number of connections to 3 for workers 2022-12-19 18:59:46 +01:00
Faton Ramadani
b4e2735315 Inline script editor (#1029)
* feat(frontend): WIP

* feat(frontend): WI

* feat(frontend): Fix inline scripts

* feat(frontend): Fix inline scripts
2022-12-19 22:44:28 +07:00
Ruben Fiszel
f5a01fc768 major schedules rewrite 2022-12-18 18:45:32 +01:00
Ruben Fiszel
43732d2fb5 require ownership to move items && automatically edit schedule paths 2022-12-18 18:45:32 +01:00
Jakub Kołodziejczak
f77fe7b6b3 fix(frontend): copy-to-clipnoard url with protocol (#1027) 2022-12-18 15:38:12 +01:00
Ruben Fiszel
42d4711503 path improvements v1 2022-12-18 05:55:29 +01:00
Ruben Fiszel
398c109afe UX improvements 2022-12-17 17:53:32 +01:00
Ruben Fiszel
321f8d28bb add audit log for oauth login 2022-12-17 13:54:46 +01:00
Ruben Fiszel
d2ab628122 fix setting timeout duration error 2022-12-17 13:41:33 +01:00
Ruben Fiszel
576103e3b3 group refactoring 2022-12-16 20:02:13 +01:00
Faton Ramadani
ebca9f39ea feat(frontend): Small UI fixes (#1026) 2022-12-16 14:00:43 +01:00
Faton Ramadani
0e871ca843 feat(frontend): Align output panel UI (#1025)
* feat(frontend): Align output pane UI

* feat(frontend): Align UI
2022-12-16 14:00:26 +01:00
Ruben Fiszel
80c84d190e merge fix 2022-12-16 10:01:53 +01:00
Ruben Fiszel
133d1f3e56 fix v2 2022-12-16 10:01:24 +01:00
Ruben Fiszel
091af3220a reinstate editorService fixing the editor 2022-12-16 09:57:58 +01:00
Ruben Fiszel
3e7751f705 groups 2022-12-16 09:53:17 +01:00
Ruben Fiszel
3735171a0d Flow UX improvements wrt to triggers 2022-12-15 23:09:23 +01:00
Ruben Fiszel
2e7b2a9e20 rework default visibility of runs of scripts not belonging to oneself 2022-12-15 18:55:30 +01:00
Ruben Fiszel
09e38981ed add visible_to_owner 2022-12-15 16:01:17 +01:00
Faton Ramadani
f6df3ae367 feat(frontend): AppTable v2 + Inline script panel (#1023)
* feat(frontend): WIP

* feat(frontend): Refator

* feat(frontend): Fix inline script creation

* feat(frontend): Fix chart display bug

* feat(frontend): Fix build
2022-12-15 15:45:04 +01:00
Ádám Kovács
08071bb66b feat(frontend): Add select component to app builder (#1021)
* feat(frontend): Add select input to app builder
2022-12-15 08:51:43 +00:00
Ruben Fiszel
d1edf4e5c7 replace svelvet with fork to remove zoom and node moving 2022-12-15 01:53:35 +01:00
Ruben Fiszel
847dfe1c15 ux nits 2022-12-14 21:29:00 +01:00
Ruben Fiszel
af8e0ccd6a increase banned_domains list 2022-12-14 10:24:18 +01:00
Ruben Fiszel
8f0ad7c612 team plan 2022-12-14 01:17:17 +01:00
Ruben Fiszel
5f30970703 team plan 2022-12-13 23:09:33 +01:00
Ruben Fiszel
974dc2394f UX improvements 2022-12-13 21:24:35 +01:00
Ruben Fiszel
3485b07b25 feat: add operator mode 2022-12-13 20:16:57 +01:00
Ruben Fiszel
d813c007c0 add more metrics 2022-12-13 00:25:27 +01:00
Ruben Fiszel
48ca1e939c add more metrics 2022-12-12 23:10:53 +01:00
Ruben Fiszel
d3d2a8bc7d fix fixtures 2022-12-12 22:33:24 +01:00
Ruben Fiszel
2bae50f391 feat: auto-invite from same domain 2022-12-12 20:20:17 +01:00
dependabot[bot]
c8bd68b56b chore(deps-dev): bump @typescript-eslint/parser in /frontend (#1019)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.43.0 to 5.46.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.46.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-12 18:27:39 +00:00
dependabot[bot]
5d7cf4ca09 chore(deps): bump highlight.js from 11.6.0 to 11.7.0 in /frontend (#1020)
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 11.6.0 to 11.7.0.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/11.6.0...11.7.0)

---
updated-dependencies:
- dependency-name: highlight.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-12 18:24:24 +00:00
dependabot[bot]
ab83f899b5 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#1016)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.45.0 to 5.46.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.46.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-12 18:15:04 +00:00
dependabot[bot]
14e85cd5b0 chore(deps-dev): bump prettier-plugin-svelte in /frontend (#1017)
Bumps [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte) from 2.8.1 to 2.9.0.
- [Release notes](https://github.com/sveltejs/prettier-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/prettier-plugin-svelte/commits)

---
updated-dependencies:
- dependency-name: prettier-plugin-svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-12 18:14:37 +00:00
dependabot[bot]
b36a9c2cc8 chore(deps): bump python from 3.11.0-slim-buster to 3.11.1-slim-buster (#1014)
Bumps python from 3.11.0-slim-buster to 3.11.1-slim-buster.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-12 18:10:40 +00:00
Faton Ramadani
f7627b5f17 fix(frontend): Fix AppTable frontend search (#1013)
* fix(frontend): Fix AppTable frontend search

* fix(frontend): Fix AppTable frontend search
2022-12-12 18:42:15 +01:00
Faton Ramadani
424c31c54a feat(frontend): Add form component + fix connection bug (#1012) 2022-12-12 17:05:54 +01:00
Ádám Kovács
2fe927f7fd feat(frontend): Add app number input (#1010)
Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
2022-12-12 14:40:32 +01:00
Faton Ramadani
0ceb4ab1a8 feat(frontend): Fix UI (#1009)
* feat(frontend): Fix UI

* feat(frontend): Set correct default value when adding a new element to a typed array

* feat(frontend): add refresh all

* feat(frontend): add inline delete button

* feat(frontend): fix alignment

* feat(frontend): clean up

* feat(frontend): rework editor

* feat(frontend): Fix component dimensions

* feat(frontend): Fix default min dimensions

* feat(frontend): add missing alert

* feat(frontend): Fix default data

* feat(frontend): Support frontend/backend search

* feat(frontend): finish picker
2022-12-12 14:35:17 +01:00
Ruben Fiszel
94cecd56d2 add the all group to admin 2022-12-12 12:47:07 +01:00
Ruben Fiszel
b920345de2 improve perceived performances 2022-12-12 02:26:31 +01:00
Ruben Fiszel
bb531845b4 improve perceived performances 2022-12-12 02:05:32 +01:00
Ruben Fiszel
4daf5c18fa usage tracker v3 2022-12-12 01:11:44 +01:00
Ruben Fiszel
ac6f9e90f0 usage tracker v2 2022-12-11 22:48:09 +01:00
Ruben Fiszel
46f3388632 UX nits 2022-12-11 21:32:07 +01:00
Ruben Fiszel
9a5fb6b9e5 UX nits 2022-12-11 21:24:48 +01:00
Ruben Fiszel
c77e4a06c0 grant all on usage 2022-12-11 20:27:04 +01:00
Ruben Fiszel
fd871093f0 feat: implement usage tracker + quotas 2022-12-11 18:47:39 +01:00
Ruben Fiszel
e4d61eeb6e remove ButtonAndDropdown 2022-12-10 20:43:32 +01:00
Ruben Fiszel
6fe10b210f split states from resources on resources page 2022-12-10 18:47:43 +01:00
Ruben Fiszel
5a325c9e51 remove virtual list 2022-12-10 16:35:03 +01:00
Ruben Fiszel
2e36f65986 increase variable length to 10000 2022-12-10 13:57:41 +01:00
Ruben Fiszel
f4f359e846 add more default linkedin scopes 2022-12-10 13:40:15 +01:00
Ruben Fiszel
cabadc3849 add more icons 2022-12-10 13:39:25 +01:00
Ruben Fiszel
df6049bdc5 add all current resource types icons 2022-12-10 13:05:48 +01:00
Ruben Fiszel
46975aceab add microsoft login 2022-12-10 12:18:40 +01:00
Kai Jellinghaus
4004de0618 feat: Superadmins workspace (#1003)
* Add auto-invite superadmins workspace

* Revert "Add auto-invite superadmins workspace"

This reverts commit 768ae31857.

* Add Admin Workspace

* Show unable to delete info in UI

* Add Hub sync

* Update Migration

* Add Starter workspace

* Add workspace_key for admins workspace

* Remove schedule

* Update CI
2022-12-10 01:46:26 +01:00
Ruben Fiszel
dc23af4209 chore(main): release 1.55.0 (#1007)
* chore(main): release 1.55.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-12-09 20:48:58 +01:00
Ruben Fiszel
0d421f1506 display account without refresh tokens as non refreshed 2022-12-09 20:17:39 +01:00
Ruben Fiszel
ffc4c3a9a0 add linkedin as oauth integration 2022-12-09 19:38:50 +01:00
Ruben Fiszel
d2dfe29f03 add linkedin as oauth integration 2022-12-09 19:28:00 +01:00
Ruben Fiszel
18c7a33b6d add linkedin as oauth integration 2022-12-09 19:25:12 +01:00
Ruben Fiszel
dbfafda44d add linkedin as oauth integration 2022-12-09 18:21:59 +01:00
Ruben Fiszel
64cda02a17 add linkedin as oauth integration 2022-12-09 17:47:26 +01:00
Ádám Kovács
6198383138 feat(frontend): Add text input to app builder (#1008)
* fix(frontend): Use official Lucide package
* feat(frontend): Add text input to app builder
2022-12-09 16:41:55 +01:00
Ruben Fiszel
8616570bce get schedule from the database directly instead of the client 2022-12-09 16:36:36 +01:00
Ruben Fiszel
87c94d4015 fix list jobs 2022-12-09 14:52:49 +01:00
Ruben Fiszel
f92e581bd1 editor styling 2022-12-09 14:32:50 +01:00
Ruben Fiszel
0bfc7391b4 pin monaco to 0.33 + remove cursor style 2022-12-09 11:01:43 +01:00
Ruben Fiszel
7270baf17f chore(main): release 1.54.0 (#1000)
* chore(main): release 1.54.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-12-08 23:57:28 +01:00
Kai Jellinghaus
abc0ca3a5b feat(backend): Input transform errors (#1006)
* Add pre run error & propagate input transforms there

* Handle pre-run errors

* Update SQLX data

* Update SQLX data
2022-12-08 23:56:49 +01:00
Ruben Fiszel
e1f5fcb162 add public-helm to the README 2022-12-08 18:47:44 +01:00
Ruben Fiszel
2e83afbcd8 flow UX improvements 2022-12-08 17:28:24 +01:00
Ruben Fiszel
08bfc1020d UX flow improvements 2022-12-08 17:18:24 +01:00
Ruben Fiszel
1f05a2070d display number of retry attempts 2022-12-08 15:46:24 +01:00
Faton Ramadani
a562dee3ce feat(frontend): Add support for object editor + fix wording (#1004) 2022-12-08 13:11:25 +00:00
Ruben Fiszel
c6e04414e5 sqlx update 2022-12-08 13:32:33 +01:00
Ruben Fiszel
18e1e92c23 add iteration info 2022-12-08 13:30:48 +01:00
Faton Ramadani
3942741c80 App editor v2 (#1001)
* fix(frontend): Fix app InputValue sync

* feat(frontend): WIP

* feat(frontend): WIP

* feat(frontend): Type aligned

* feat(frontend): working

* feat(frontend): working

* feat(frontend): Fix text binding

* feat(frontend): Connect + script working

* feat(frontend): Fix reactity issues
2022-12-08 13:26:01 +01:00
Ruben Fiszel
afe680b6fb display flow errors step much better in the flow status viewer 2022-12-08 12:59:18 +01:00
Ruben Fiszel
8bcf4952a2 display errors much better in the error handler 2022-12-08 11:07:44 +01:00
Kai Jellinghaus
9715baa6b5 Correctly parse schema (#1002) 2022-12-07 14:22:07 +01:00
Ruben Fiszel
37a775d65a handle undefined modules 2022-12-07 13:54:39 +01:00
Ruben Fiszel
4225f2a414 nit fix 2022-12-07 13:40:46 +01:00
Ruben Fiszel
a76ec2f3ab improve branches module editor 2022-12-07 13:20:41 +01:00
Ruben Fiszel
82731e7248 improve branches module editor 2022-12-07 13:10:21 +01:00
Ruben Fiszel
1dc3f915a6 fix flow input picker 2022-12-07 11:04:31 +01:00
Ruben Fiszel
8c1c508358 feat: implement flow as a flow step 2022-12-06 23:38:06 +01:00
Ruben Fiszel
9a029f46af fix flowmodule_serde test 2022-12-06 17:48:56 +01:00
Ruben Fiszel
3b46eb643c early stop now bubble up to the top 2022-12-06 17:39:07 +01:00
Ruben Fiszel
799fa925b3 feat: add lockable version to scripts inside flows (#972)
* add it to openflow

* push

* push

* final
2022-12-06 13:11:11 +01:00
Ruben Fiszel
d5c79d12d8 document include_header in the openapi 2022-12-06 03:22:45 +01:00
Ruben Fiszel
5dbb249dc7 document include_header in the openapi 2022-12-06 03:22:35 +01:00
Ruben Fiszel
3561275be0 chore(main): release 1.53.0 (#976)
* chore(main): release 1.53.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-12-06 00:29:41 +01:00
dependabot[bot]
c5cd273728 chore(deps): bump chartjs-plugin-zoom from 1.2.1 to 2.0.0 in /frontend (#997)
Bumps [chartjs-plugin-zoom](https://github.com/chartjs/chartjs-plugin-zoom) from 1.2.1 to 2.0.0.
- [Release notes](https://github.com/chartjs/chartjs-plugin-zoom/releases)
- [Commits](https://github.com/chartjs/chartjs-plugin-zoom/compare/v1.2.1...v2.0.0)

---
updated-dependencies:
- dependency-name: chartjs-plugin-zoom
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-06 00:21:57 +01:00
Ruben Fiszel
c318cb255a handle more waiting case as base case for special primitives in flows 2022-12-06 00:05:02 +01:00
Ruben Fiszel
31c317b358 feat: add include_header to pass request headers to script 2022-12-05 23:36:31 +01:00
Ruben Fiszel
cfe80115a4 improve flow status viewer 2022-12-05 22:32:24 +01:00
Ruben Fiszel
c7c58ad8bc improve flow viewer 2022-12-05 21:57:04 +01:00
Ruben Fiszel
73587a8400 display jobs scheduled for later in flow status viewer 2022-12-05 20:33:28 +01:00
dependabot[bot]
764ca1d7bd chore(deps): bump vscode-ws-jsonrpc from 2.0.0 to 2.0.1 in /frontend (#998)
Bumps [vscode-ws-jsonrpc](https://github.com/TypeFox/monaco-languageclient/tree/HEAD/packages/vscode-ws-jsonrpc) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/TypeFox/monaco-languageclient/releases)
- [Changelog](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/vscode-ws-jsonrpc/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-languageclient/commits/v2.0.1/packages/vscode-ws-jsonrpc)

---
updated-dependencies:
- dependency-name: vscode-ws-jsonrpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-05 18:19:57 +00:00
dependabot[bot]
b32f282b17 chore(deps-dev): bump svelte2tsx from 0.5.20 to 0.5.22 in /frontend (#996)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.20 to 0.5.22.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.20...svelte2tsx-0.5.22)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-05 18:18:37 +00:00
Ruben Fiszel
ae77a71ed6 fix svelte-markdown in description 2022-12-05 17:35:22 +01:00
Faton Ramadani
e217fbf071 fix(frontend): Fix app InputValue sync (#994)
* fix(frontend): Fix app InputValue sync

* fix(frontend): Fix drawer
2022-12-05 15:19:12 +01:00
Faton Ramadani
c9ad638958 feat(frontend): Add app preview (#993) 2022-12-05 14:48:07 +01:00
Faton Ramadani
9f59a160c3 fix(frontend): Align hub flow list + fix drawer content everywhere (#991) 2022-12-05 13:28:06 +01:00
Ruben Fiszel
35b57e20ed fix frontend errors 2022-12-05 13:26:26 +01:00
Faton Ramadani
62d2a3343d fix(frontend): Fix home margins (#992) 2022-12-05 13:23:52 +01:00
Ruben Fiszel
d64030961b improve flow viewer 2022-12-05 13:21:42 +01:00
Ruben Fiszel
ede6cbea99 improve flow viewer 2022-12-05 13:09:50 +01:00
Ruben Fiszel
177fc2b421 improve flow status viewer 2022-12-05 11:19:26 +01:00
Ruben Fiszel
d73eb26019 allow passing payload to approval method 2022-12-05 01:35:43 +01:00
Ruben Fiszel
8d27175235 fix mysql template 2022-12-05 00:09:35 +01:00
Ruben Fiszel
332bd87e9f searchable resource and variables 2022-12-04 23:57:00 +01:00
Jakub Kołodziejczak
f880b88869 chore(frontend): update types (#990) 2022-12-04 22:22:35 +01:00
Jakub Kołodziejczak
e089109b50 feat(frontend): introduce mysql as a script language (#982)
* fix(deno-client): export mysql from mod.ts + improve robustness

* feat(frontend): introduce mysql as a script language
2022-12-04 19:56:51 +01:00
Faton Ramadani
11ef60fe9c Hub lists (#989)
* fix(frontend): Adapt hub list design

* fix(frontend): revert changes
2022-12-04 18:06:57 +01:00
Kai Jellinghaus
b64d5a621b Add CLI arg (#987) 2022-12-04 13:24:46 +01:00
Kai Jellinghaus
1bac23785c fix(cli): Fix cli pull push (#985)
* Fix workspace tar

* Ignore dotfolders
2022-12-04 13:24:31 +01:00
Faton Ramadani
9264f4b233 fix(frontend): Make context clickable (#984)
* fix(frontend): Make context clickable

* fix(frontend): Fix buttons
2022-12-04 13:24:16 +01:00
Ruben Fiszel
c55fae54dd feat: refactor favorite menu 2022-12-04 13:23:29 +01:00
Ruben Fiszel
60984a3ed8 improve search windows and remove fuse.js 2022-12-04 11:55:26 +01:00
Ruben Fiszel
372f2da5b9 remove flow_input from sleep expression 2022-12-04 01:31:59 +01:00
Ruben Fiszel
db05df6d7e superadmin can see all 2022-12-04 01:19:38 +01:00
Ruben Fiszel
e7e79bbaf7 UX improvements 2022-12-04 01:03:38 +01:00
Ruben Fiszel
e4839e21ff feat(frontend): clarified UX for connect step 2022-12-03 23:54:07 +01:00
Kai Jellinghaus
86eae2c824 feat(frontend); Improve Pie schema (#983)
* Make the pie schema good

* Remove private info

* Fix build error
2022-12-03 20:48:04 +01:00
Ruben Fiszel
5163c2fe8b simplify resource picker 2022-12-03 20:25:02 +01:00
Ruben Fiszel
e51a2161e7 automatically go to resource page add + hub tab size on index 2022-12-03 18:44:39 +01:00
Faton Ramadani
fa64e83f7e fix(frontend): fix home (#981) 2022-12-03 14:24:20 +01:00
Ruben Fiszel
90ce431418 fix(frontend): variables and resources uses tab navigation 2022-12-03 14:23:55 +01:00
Kai Jellinghaus
eb855942f9 Fix clear button for flows (#980) 2022-12-03 13:26:05 +01:00
Faton Ramadani
129a0ad56b fix(frontend): fix app preview (#979) 2022-12-03 12:49:38 +01:00
Ruben Fiszel
7c1b1c068b further resource types clarifications 2022-12-03 12:19:06 +01:00
Ruben Fiszel
d6c039935a resources improvements 2022-12-03 12:14:24 +01:00
Ruben Fiszel
ee83b0620d disable inputs non readable resource 2022-12-03 12:14:24 +01:00
Kai Jellinghaus
84dcde8e64 Expose root command (#978) 2022-12-03 11:41:54 +01:00
Ruben Fiszel
74bda463e1 improve appConnect skeletons 2022-12-03 11:26:49 +01:00
Ruben Fiszel
0ec465ca7e skeletons for home search 2022-12-03 11:03:47 +01:00
Ruben Fiszel
2071a06668 search improvement v1 2022-12-03 10:29:41 +01:00
Faton Ramadani
e9fa0ad0b7 fix(frontend): fix home header (#977)
* fix(frontend): fix home header

* fix(frontend): fix virtual list height
2022-12-03 10:11:05 +01:00
Ruben Fiszel
cafa6d4a0c add unique path and rls to apps 2022-12-03 09:21:26 +01:00
Ruben Fiszel
788688e92f improvements on app connect 2022-12-03 02:18:15 +01:00
Ruben Fiszel
026d755979 add search to appconnect 2022-12-03 02:09:59 +01:00
Ruben Fiszel
16f00ce6db fix app inline scripts 2022-12-03 01:48:39 +01:00
Ruben Fiszel
4e0816337c add resource select it directly 2022-12-03 01:28:20 +01:00
Ruben Fiszel
b20c67d91a fix select picker initialization 2022-12-03 01:13:51 +01:00
Ruben Fiszel
022459dcbd adding a resource is done in inlined-drawer 2022-12-03 00:28:51 +01:00
Ruben Fiszel
4245255fda fix workspace settings script picker 2022-12-03 00:18:06 +01:00
Ruben Fiszel
a4e4e7188f fix creating resources manually 2022-12-03 00:08:52 +01:00
Ruben Fiszel
04d2e3f316 add path env to python req 2022-12-02 23:48:42 +01:00
Ruben Fiszel
519247740a fix PIP_INDEX_URL when nsjail is disabled 2022-12-02 23:45:51 +01:00
Ruben Fiszel
dee9a3bb4a ci: remove community/ and pull-hub ci 2022-12-02 22:55:07 +01:00
Kai Jellinghaus
22653727a4 feat(cli): hub sync (#975)
* Begin add hub sync

* Add Hub sync
2022-12-02 22:51:44 +01:00
Ruben Fiszel
f51293e4f7 chore(main): release 1.52.0 (#950)
* chore(main): release 1.52.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-12-02 22:23:35 +01:00
Ádám Kovács
b76d2f9d37 feat: Add sendgrid resource (#970)
Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-12-02 22:22:35 +01:00
Ruben Fiszel
cc037458ca add resume urls at the api level 2022-12-02 22:19:15 +01:00
Faton Ramadani
5ae0e5da19 UI refactor (#973)
* fix(frontend): ui refactor

* fix(frontend): WIP

* fix(frontend): WIP

* fix(frontend): WIP

* fix(frontend): remove virtual table

* fix(frontend): Add virtual list

* fix(frontend): fix number of items

* fix(frontend): revert changes

* fix(frontend): fix build
2022-12-02 19:39:23 +01:00
Ruben Fiszel
433512dcb3 fix flow input transform error 2022-12-02 15:36:41 +01:00
Ruben Fiszel
b629552a25 fix hub script picker 2022-12-02 14:01:42 +01:00
Ruben Fiszel
8750d10eba add variable picker on all schema forms 2022-12-02 13:56:40 +01:00
Ruben Fiszel
bb43951447 add description field when adding resource 2022-12-02 12:35:06 +01:00
Ruben Fiszel
af2b9afa01 fix schemaeditor 2022-12-02 12:16:44 +01:00
Jakub Kołodziejczak
0e402f6a9d feat(deno-client): support mysql (#971) 2022-12-01 23:44:52 +01:00
Ruben Fiszel
08d489b674 add expanded logs drawer 2022-12-01 23:40:38 +01:00
Ruben Fiszel
4ef84f544f handle incorrect resource types 2022-12-01 23:29:48 +01:00
Ruben Fiszel
39c0a0aaf5 move cli gif 2022-12-01 22:58:31 +01:00
Kai Jellinghaus
d3a171c283 feat(cli): improved setup & allow workspace in base url & refactor workspaces/remotes to unify (#966)
* Setup V2 & Allow Workspace in base url

* Handle login conflict information

* Rework workspace & remote logic

* Add login logic

* Add token storage logic

* 🚀 finish refactor

* :Fix Pull

* Remove setup

* Add create-token

* Remove legacy typesc

* Fix change

* Fix warns

* fix warning

* Update README

* Switch to new workspace by default

* Update demo video

* Update Images

* remove duplicate

* Change wording

* Add to main README

* Fix main readme

* Fix videos
2022-12-01 22:56:57 +01:00
Ruben Fiszel
4ce82361da simplify adding manual resources 2022-12-01 22:51:27 +01:00
Ruben Fiszel
539d6be908 feat: unify resources under a single connect API 2022-12-01 19:28:00 +01:00
Ruben Fiszel
2845cce5ae fix list apps 2022-11-30 21:43:32 +01:00
Ruben Fiszel
5dc9dfed72 readme: imgs 2022-11-30 20:03:50 +01:00
Ruben Fiszel
c31c11e451 readme: nits and toc 2022-11-30 20:01:01 +01:00
Ruben Fiszel
cdf042b8aa add proper icon for hub scripts in flow items 2022-11-30 19:29:21 +01:00
Ruben Fiszel
a283a54da8 add proper icon for hub scripts in flow items 2022-11-30 19:27:30 +01:00
Ruben Fiszel
9b9069eb4c readme: nits and toc 2022-11-30 18:59:57 +01:00
Ruben Fiszel
effd79a448 readme: nits and toc 2022-11-30 18:56:03 +01:00
Ruben Fiszel
8fb173082a readme: add environment variables 2022-11-30 18:38:01 +01:00
Faton Ramadani
96666af3d9 fix(frontend): Refactor apps to support multiple breakpoints (#957)
* fix(frontend): Refactor apps to support multiples breakpoints

* fix(frontend): WIP

* fix(frontend): redo apps page

* fix(frontend): Hide schema for buttons

* fix(frontend): Add apps menu

* fix(frontend): Properly handle runnable delete

* fix(frontend): simplify ui

* fix(frontend): unify flow

* fix(frontend): table action design

* fix(frontend): reework runnable pick

* fix(frontend): fix apps action

* fix(frontend): Highlight output

* fix(frontend): Fix dimensions

* fix(frontend): Hide alert on button component

* fix(frontend): add number of actions when a table is selected
2022-11-30 15:59:26 +01:00
Ruben Fiszel
ee436712cb add favorites for app 2022-11-30 13:04:05 +01:00
Ruben Fiszel
ca6abb0ffc use workspace_id of the script itself 2022-11-30 12:28:28 +01:00
Ruben Fiszel
4f1e97959d overflow-auto index page 2022-11-30 11:07:44 +01:00
Ruben Fiszel
bff9130ab9 favorites on the sidebar 2022-11-30 01:47:29 +01:00
Ruben Fiszel
f3f694e925 feat: add favorite/star + remove flows/scripts page in favor of unified home page (#968)
* favorites

* favorites

* favorites

* feat(frontend): add favorite + refactor homepage
2022-11-30 00:15:43 +01:00
Ádám Kovács
ec1cebc792 feat(frontend): Update app component list (#947)
* feat(frontend): Restructure app components folder

* fix(frontend): App component settings panel

* feat(frontend): Update grouping of app components

* fix: App table action button

* fix: Playwright test
2022-11-29 20:01:21 +01:00
Ádám Kovács
ba90e8c1b8 feat(frontend): Add Mailchimp resource instructions (#967)
* feat: Add mailchimp integration

* feat: Update app icons

* feat: Update non-oauth api insctructions
2022-11-29 20:00:19 +01:00
Ruben Fiszel
6dea514d87 fix cli.svelte 2022-11-29 19:24:41 +01:00
Kai Jellinghaus
2c31a9cbdf feat(cli): Login via Frontend (#956)
* CLI login page

* Add Success Page

* Change redirect on decline

* Center & Size Loading Windmill Icon

* Fix goto debug

* fix spinner

* Workspace from URL

* Handle login --token & --workspace

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-29 16:01:53 +01:00
Marty S
b2324fa51d Remove postgres wording from mysql resource (#964) 2022-11-29 16:00:38 +01:00
Ruben Fiszel
304508fd5c quicker log feedback on resolving dependencies 2022-11-28 23:57:02 +01:00
Ruben Fiszel
12f967726b fix(backend): support PIP_INDEX_URL 2022-11-28 23:48:42 +01:00
Ruben Fiszel
afcb44a127 fix(backend): support PIP_INDEX_URL 2022-11-28 23:12:05 +01:00
Ruben Fiszel
63d95cfbb3 feat(python): add support for parsing resource type in python 2022-11-28 21:47:25 +01:00
Ruben Fiszel
9d0625e92e fix editor popover for apps 2022-11-28 20:58:30 +01:00
Jakub Kołodziejczak
692ecf0239 chore(frontend): (opinionated) description improvement (#965) 2022-11-28 20:42:40 +01:00
Jakub Kołodziejczak
4d8a5c4fd9 fix(frontend): psql demo expects integers as a key (#958) 2022-11-28 19:33:49 +01:00
dependabot[bot]
11e9109107 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#961)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.40.1 to 5.45.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.45.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-28 18:24:09 +00:00
dependabot[bot]
8106a9ddff chore(deps-dev): bump eslint from 8.26.0 to 8.28.0 in /frontend (#962)
Bumps [eslint](https://github.com/eslint/eslint) from 8.26.0 to 8.28.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.26.0...v8.28.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-28 18:15:08 +00:00
dependabot[bot]
fbaefc88f6 chore(deps-dev): bump typescript from 4.8.4 to 4.9.3 in /frontend (#960)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.4 to 4.9.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.4...v4.9.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-28 18:13:57 +00:00
dependabot[bot]
e4b161dde3 chore(deps-dev): bump @types/vscode from 1.73.0 to 1.73.1 in /frontend (#959)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.73.0 to 1.73.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-28 18:13:30 +00:00
Ruben Fiszel
9761cb3a8c increase failure loglines capture 2022-11-28 17:52:32 +01:00
Ruben Fiszel
c51f63da55 remove mailchimp from oauth native support 2022-11-28 17:32:47 +01:00
Ruben Fiszel
d5149eca03 add mailchimp to oauth 2022-11-28 15:25:08 +01:00
Kai Jellinghaus
38c0085c5d Resource Type Push (#955) 2022-11-28 14:15:17 +01:00
Faton Ramadani
acdd0fea7d App editor preview (#954)
* fix(frontend): Fix refresh button

* fix(frontend): remove preview border
2022-11-28 11:49:47 +01:00
Faton Ramadani
ed7838d6bc fix(frontend): Fix pie animation + actions wrap (#953)
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-28 11:31:17 +01:00
Ruben Fiszel
d9f544ea20 fix script detail page 2022-11-28 11:29:16 +01:00
Ruben Fiszel
494609364c feat: overhaul scripts and flows page 2022-11-28 11:18:32 +01:00
Ruben Fiszel
c26be86cef feat: overhaul scripts and flows page 2022-11-28 11:16:10 +01:00
Faton Ramadani
6c45fe7344 feat(frontend): rework script detail (#952)
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-28 10:19:49 +01:00
Ruben Fiszel
a45eff0cee fix frontend errors 2022-11-27 21:29:13 +01:00
Ruben Fiszel
48c7ed129d iteration 1 on the hub script picker 2022-11-27 19:58:48 +01:00
Ruben Fiszel
c86c39ddea ensure we always load the secret value in the variable editor 2022-11-27 19:05:35 +01:00
Faton Ramadani
1069105451 feat(frontend): Add actions to tables (#951)
* fix(frontend): WIP

* fix(frontend): WIP

* fix(frontend): Sub runnable

* fix(frontend): revert changes

* fix(frontend): fix build
2022-11-27 17:47:19 +01:00
Ruben Fiszel
56204a511c ensure we always load the secret value in the variable editor 2022-11-27 17:45:11 +01:00
dependabot[bot]
8a4f034d88 chore(deps-dev): bump prettier-plugin-svelte in /frontend (#926)
Bumps [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/sveltejs/prettier-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/prettier-plugin-svelte/commits)

---
updated-dependencies:
- dependency-name: prettier-plugin-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-27 16:36:09 +00:00
Ruben Fiszel
37967a7950 feat: refactor variable + resource linkage + OAuth visibility 2022-11-27 17:26:37 +01:00
Ruben Fiszel
55020e6df9 fix cloudflare pages hostname redirection 2022-11-27 14:17:09 +01:00
Ruben Fiszel
346a7f3f47 more visibility on OAuth errors Vol 1 2022-11-27 14:00:55 +01:00
Ruben Fiszel
02a9c5c4ea feat(frontend): flow status viewer include a graph 2022-11-27 09:49:16 +01:00
Ruben Fiszel
10e4cf0205 fix flowmodule splitpane size 2022-11-27 02:04:07 +01:00
Ruben Fiszel
3301970b75 allow admins to override the c_ prefix 2022-11-27 01:17:07 +01:00
Ruben Fiszel
e3edec0951 fix deno_flow_same_worker test 2022-11-27 00:50:09 +01:00
Ruben Fiszel
f4ec1a7fc3 chore(main): release 1.51.0 (#930)
* chore(main): release 1.51.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-27 00:41:29 +01:00
github-actions[bot]
8414766247 sync hub items with community (#949)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-27 00:40:54 +01:00
Ruben Fiszel
ab03a4f190 UX improvements 2022-11-27 00:07:44 +01:00
Ruben Fiszel
afbb902d3d increase description length for resource types 2022-11-26 23:10:46 +01:00
Ruben Fiszel
6c03aad73e UX improvements 2022-11-26 23:09:21 +01:00
Ruben Fiszel
ac6454b383 fix(deno-client): pg 0.16.1 -> 0.17.0 2022-11-26 20:51:59 +01:00
Ruben Fiszel
6d134ceea3 pg migration 2022-11-26 19:39:37 +01:00
Ruben Fiszel
890ec2cb4e fix no color without nsjail 2022-11-26 19:06:36 +01:00
Ruben Fiszel
53fb0ce2ee fix same_worker/shared to work with and without nsjail 2022-11-26 19:02:49 +01:00
Ruben Fiszel
294824769f use caching for dockerfile 2022-11-26 17:17:10 +01:00
Ruben Fiszel
b9cb9e9987 fix adding nsjail based on arg 2022-11-26 17:13:14 +01:00
Ruben Fiszel
df8d84dcab fix adding nsjail based on arg 2022-11-26 16:52:25 +01:00
Ruben Fiszel
9fe8e045fb fix overflow for dropdown on resources 2022-11-26 16:47:01 +01:00
Ruben Fiszel
adc9689950 fix getting email from github 2022-11-26 15:57:55 +01:00
Ruben Fiszel
8bf4699bd6 fix getting email from github 2022-11-26 15:33:15 +01:00
Ruben Fiszel
c2f064d167 update default login scopes for github 2022-11-26 14:52:30 +01:00
Ruben Fiszel
897de60189 update sqlx-info 2022-11-26 14:46:13 +01:00
Ruben Fiszel
d503bdfe16 modify github default oauth scopes 2022-11-26 14:43:14 +01:00
Ruben Fiszel
50f193aa63 more explicit error for login 2022-11-26 14:38:45 +01:00
Ruben Fiszel
c8d5f853c5 fix removing users 2022-11-26 14:21:42 +01:00
Kai Jellinghaus
fd31e24816 Update renders (#948) 2022-11-26 04:59:51 +01:00
Ruben Fiszel
ce528a7748 UX nits 2022-11-25 20:28:55 +01:00
Ruben Fiszel
9f51532d01 add support for fetching variable and resource from bash 2022-11-25 19:40:38 +01:00
Ruben Fiszel
d3b3cf6b11 add urandom and all /etc to nsjail 2022-11-25 19:05:41 +01:00
Kai Jellinghaus
cdd3e2cfc1 feat(cli): Run flows & scripts (#940)
* Enable Script Running from CLI

* Improve Script Logic & Enable Flow run

* Update README

* Fix empty input 415 unsupported media type

* Add flow execution asciicast

* Allow reading inputs

* Add --silent & print result

* Updated syntax

* Update readme

* Fix superadmin users

* Handle values correctly

* Rework input parsing to try-catch JSON

* Accept all input types

* VHS scripts

* Test add Video to Markdown

* Use GIF only

* Final revisions

* I'm not sure why this works but stackoverflow told me
https://stackoverflow.com/questions/4279611/how-to-embed-a-video-into-github-readme-md/4279746#4279746

* Also rename file?

* Use MP4

* Use GIF

* Use MP4 again

* Revert "Use MP4 again"

This reverts commit d3ed4dc28a.
2022-11-25 18:05:23 +01:00
Ruben Fiszel
2fc8c471e4 remove armv7 support for now 2022-11-25 18:05:05 +01:00
Ruben Fiszel
ad87dd4379 add support for rpi 2022-11-25 17:24:50 +01:00
Ruben Fiszel
634798b407 remove nsjail from the non enterprise image 2022-11-25 17:10:50 +01:00
Ruben Fiszel
7b26d2230e remove nsjail from the non enterprise image 2022-11-25 17:04:52 +01:00
Ruben Fiszel
b8dd2078a1 remove nsjail from the non enterprise image 2022-11-25 16:57:02 +01:00
Ruben Fiszel
8a4282ef6a disable nsjail by default 2022-11-25 16:31:15 +01:00
Ádám Kovács
ddab2dffd5 feat(frontend): Add inline script picker to apps (#945)
* feat(frontend): Add inline script picker
2022-11-25 08:27:43 +01:00
Ruben Fiszel
776a5e54a8 support for generic userinfo_url 2022-11-25 04:54:14 +01:00
Ruben Fiszel
7bf0caa38d remove duplicate logins 2022-11-24 18:30:35 +01:00
Ádám Kovács
dd75b370af feat(frontend): Add guard against script overwrite (#944)
* feat(frontend): Add guard against script overwrite

* fix: Error message flash up
2022-11-24 13:34:26 +01:00
Ádám Kovács
79cec368ba feat: Add notification on app save (#943) 2022-11-24 12:51:57 +01:00
Ruben Fiszel
9008cd7978 flex-wrap on script builder languages 2022-11-24 12:10:37 +01:00
Ruben Fiszel
ae635a4d1f add custom login to the login page 2022-11-24 11:46:46 +01:00
Ruben Fiszel
975a1db10e feat(backend): add configurable custom client 2022-11-24 11:40:02 +01:00
Ruben Fiszel
99bb6ce775 no error message on canceling a completed job 2022-11-24 10:18:29 +01:00
Ruben Fiszel
267d30f9ac fix flow UX 2022-11-24 09:16:05 +01:00
Ruben Fiszel
afbba6bbd1 fix flow UX 2022-11-24 02:30:41 +01:00
Ruben Fiszel
7191c294d4 fix UX flow 2022-11-24 02:04:53 +01:00
Ruben Fiszel
b3ac7e1337 fix flow UX 2022-11-24 02:04:53 +01:00
Faton Ramadani
43a1d7ef2a fix(frontend): add checkbox component + fix alignment (#941) 2022-11-24 00:08:56 +01:00
Kai Jellinghaus
94e15f8493 Enable user deletion (#939)
* Update windmill version

* Enable User Deletion
2022-11-23 20:38:27 +01:00
Faton Ramadani
e64195e42b fix(frontend): prevent runnable to run if the script is not defined (#938) 2022-11-23 20:37:38 +01:00
Ádám Kovács
4b2b3467d2 feat: Update apps button component with colors (#936)
* feat: Update app component types

* fix: Typos

* feat: Add select input type to components

* fix: Remove width property from component types

* fix: Make button full width in editor

* fix: Types

Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
2022-11-23 19:45:19 +01:00
Faton Ramadani
ab481b3096 fix(frontend): Fix context panel + delete component (#937)
* fix(frontend): Fix context panel + delete component

* fix(frontend): Handle nested paths
2022-11-23 19:31:36 +01:00
Kai Jellinghaus
4ddb3ec276 fix(backend): bash flow lock & add flow lock tests (#933)
* Fix Bash flow lock

* Tests w/ fixes

* Add Sequence privileges
2022-11-23 19:17:19 +01:00
Ruben Fiszel
e8d4cf2ba7 add ld.so.cache to bash path 2022-11-23 15:20:50 +01:00
Faton Ramadani
fa4840ad65 fix(frontend): Cleanup dead code (#935) 2022-11-23 14:45:56 +01:00
Faton Ramadani
b59a1de93b fix(frontend): properly refresh context panel + Adjust style in the flow editor (#934) 2022-11-23 14:24:04 +01:00
Ruben Fiszel
0968caa6e9 nits on nsjail config 2022-11-23 14:00:49 +01:00
Ruben Fiszel
1ad3d263d9 UX nits and theme 2022-11-23 12:30:05 +01:00
Ruben Fiszel
90d4d99bea UX nits and theme 2022-11-23 12:19:00 +01:00
Ruben Fiszel
2a1898216b UX nits 2022-11-23 11:29:06 +01:00
Faton Ramadani
682c44a39e Runnable refactor (#932)
* fix(frontend): Support runnable everywhere

* fix(frontend): Runnable component working

* fix(frontend): Simplify implementation

* fix(frontend): User inputs working

* fix(frontend): Fix connections

* fix(frontend): auto refresh

* fix(frontend): revert changes
2022-11-23 10:30:58 +01:00
Ruben Fiszel
df97121527 UX nits 2022-11-23 10:30:08 +01:00
Ruben Fiszel
c53424dda6 ci: login to registry no matter what 2022-11-23 01:51:57 +01:00
Ruben Fiszel
d26539a1ac UX nits 2022-11-23 01:03:03 +01:00
Ruben Fiszel
841382e566 UX nits 2022-11-23 00:58:50 +01:00
Ruben Fiszel
5028d8603d feat(frontend): login page makeup 2022-11-23 00:53:37 +01:00
Ruben Fiszel
ced2678a21 feat(frontend): login page makeup 2022-11-23 00:53:37 +01:00
Kai Jellinghaus
af3a62a443 Fix Python flow lock (#931) 2022-11-22 22:56:06 +01:00
Ruben Fiszel
7cab28db95 fix icon for bash on flows 2022-11-22 17:05:35 +01:00
Ruben Fiszel
802abe7f90 feat(frontend): flow UX overhaul II + go + python support for trigger scripts (#928)
* all

* improve all

* improve all

* fix frontend

* fix input picker nits

* fix(frontend): Fix Menu display

* all

* fix all

* fix all

Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
2022-11-22 16:18:14 +01:00
Faton Ramadani
b935d69aad Runnable refactor (#929)
* fix(frontend): Support runnable everywhere

* fix(frontend): Runnable component working
2022-11-22 15:45:10 +01:00
dependabot[bot]
aa08263661 chore(deps): bump svelte-chartjs from 3.0.1 to 3.1.0 in /frontend (#925)
Bumps [svelte-chartjs](https://github.com/SauravKanchan/svelte-chartjs) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/SauravKanchan/svelte-chartjs/releases)
- [Changelog](https://github.com/SauravKanchan/svelte-chartjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/SauravKanchan/svelte-chartjs/compare/v3.0.1...v3.1.0)

---
updated-dependencies:
- dependency-name: svelte-chartjs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-21 18:45:38 +00:00
dependabot[bot]
67da9b9514 chore(deps-dev): bump @playwright/test in /frontend (#924)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.27.1 to 1.28.0.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.27.1...v1.28.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-21 18:45:07 +00:00
Ruben Fiszel
16166df490 fix enterprise code 2022-11-21 19:19:42 +01:00
Ruben Fiszel
a3ab4f1b87 chore(main): release 1.50.0 (#921)
* chore(main): release 1.50.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-21 19:06:13 +01:00
Ruben Fiszel
c8266fb8b3 feat(deno,python): get/set_shared_state 2022-11-21 19:04:14 +01:00
Ruben Fiszel
c6a7313c26 distribute the sync from workers more evenly 2022-11-21 18:30:58 +01:00
Faton Ramadani
7bf21f572d App editor inline editor (#917)
* fix(frontend): add table

* fix(frontend): Rework the context panel

* fix(frontend): WIP

* fix(frontend): hide script selector when selected

* fix(frontend): Fix preview mode + remove errors

* fix(frontend): Fix table search

* fix(frontend): temporary fix
2022-11-21 18:24:46 +01:00
Ruben Fiszel
aa7275d148 flow UX nit 2022-11-21 17:39:24 +01:00
Ruben Fiszel
d23e218e1f feat(frontend): overhaul the whole flow UX 2022-11-21 17:28:55 +01:00
Ruben Fiszel
c6dc07007c fix tarring the entire cache back to s3 + UX nits 2022-11-21 09:25:22 +01:00
Ruben Fiszel
2b05ea9e8b ci: build_ee in parralel of build 2022-11-20 21:59:39 +01:00
Ruben Fiszel
74dac445ee ci: build_ee in parralel of build 2022-11-20 21:47:39 +01:00
Ruben Fiszel
a3529759ad fix(caching): preserve permissions 2022-11-20 21:39:57 +01:00
Ruben Fiszel
52b744f8f3 chore(main): release 1.49.1 (#920)
* chore(main): release 1.49.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-20 20:10:02 +01:00
Ruben Fiszel
7af345e5e5 fix(caching): add a second caching mechanism by tarring the entire cache for fast startup 2022-11-20 19:46:01 +01:00
Ruben Fiszel
b62f1a4502 better logging for worker 2022-11-20 18:06:53 +01:00
Ruben Fiszel
79482f19f9 improve distributed caching 2022-11-20 17:48:49 +01:00
Ruben Fiszel
b571da5356 improve distributed caching 2022-11-20 17:48:46 +01:00
Ruben Fiszel
801ceec416 chore(main): release 1.49.0 (#918)
* chore(main): release 1.49.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-20 15:01:49 +01:00
Ruben Fiszel
46fe9ad525 feat(python-client): remove unecessary imports in wmill to speed-up imports 2022-11-20 14:59:50 +01:00
Ruben Fiszel
838a92a0db feat(go): improve cold start of 200ms by building outside of nsjail 2022-11-20 14:40:29 +01:00
Ruben Fiszel
8a71625c52 fix enterprise sync 2022-11-20 11:12:53 +01:00
Ruben Fiszel
61dd5e7e26 resync even for later steps 2022-11-20 04:34:38 +01:00
Ruben Fiszel
591f4540cf remove ? from Issues/Feedback 2022-11-19 19:39:29 +01:00
Ruben Fiszel
1043666ae9 chore(main): release 1.48.2 (#916)
* chore(main): release 1.48.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-19 18:54:47 +01:00
Ruben Fiszel
17c3181264 nit for app resource types 2022-11-19 18:13:26 +01:00
Ruben Fiszel
ca1d7e1278 add editable resources 2022-11-19 18:10:04 +01:00
Ruben Fiszel
e33bd1e6b2 fix(go-client): support setVariable, setResource, setState, getState 2022-11-19 16:54:12 +01:00
Ruben Fiszel
29521dd6cb chore(main): release 1.48.1 (#915)
* chore(main): release 1.48.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-19 15:17:11 +01:00
Ruben Fiszel
52f05355cf redirect to cli for sync from github 2022-11-19 15:16:15 +01:00
Ruben Fiszel
76720e2b4d fix lsp 2022-11-19 11:54:27 +01:00
Ruben Fiszel
b08fe63998 add resolver backtracking to silence error 2022-11-19 10:17:36 +01:00
Ruben Fiszel
968675d8d0 fix(python-client): get_state on empty state return None 2022-11-19 10:10:38 +01:00
Ruben Fiszel
5a133c61a1 improve run page UX 2022-11-19 09:15:03 +01:00
Ruben Fiszel
0dfba7607f logout take into account COOKIE_DOMAIN 2022-11-19 08:32:57 +01:00
Ruben Fiszel
75b1ae83c4 force creating initial cache dirs after resync 2022-11-18 21:17:38 +01:00
Ruben Fiszel
2923226cfb cleanup logs 2022-11-18 21:08:29 +01:00
Ruben Fiszel
d1df88b2bb chore(main): release 1.48.0 (#910)
* chore(main): release 1.48.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-18 20:40:49 +01:00
Ruben Fiszel
8645d6eb7a ci: heavy needs build step 2022-11-18 20:21:31 +01:00
Ruben Fiszel
8846ca5856 feat: supercache extended to all version 2022-11-18 20:17:23 +01:00
Ruben Fiszel
9e9e66c80a build ee internally 2022-11-18 18:25:09 +01:00
Kai Jellinghaus
bd09884955 feat(backend): sync cache features on all workers [enterprise] (#907)
* Periodic Job

* Add write lock & bash execution

* Use env for bash script

* Enterprise Feature

* Only time based

* Cleanup

* Move code

* Use rclone sync

* WIP

* Use buildarg

* Remove unecessary deps

* 10 Minute Intervals

* Revert testing change

* Manually pull rclone

* fix rclone

* Initial sync

* Update worker.rs

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-18 17:20:39 +01:00
Faton Ramadani
3f8295bb0c fix(frontend): Reduce the size of the separator + fix Auto scroll (#895)
* fix(frontend): Reduce the size of the separator + fix Auto scroll padding

* fix(frontend): revert changes
2022-11-18 14:46:48 +01:00
Ruben Fiszel
1d90d0a7b2 logout also accepts get 2022-11-18 11:20:35 +01:00
Ruben Fiszel
b65594c41a adjust cookie set-header for CaddyfileRemote 2022-11-18 11:13:58 +01:00
Ruben Fiszel
1ad8d8c535 rd optionally on logout 2022-11-18 11:03:38 +01:00
Ruben Fiszel
d054686471 allow rd to external sites after login 2022-11-18 09:33:37 +01:00
Ruben Fiszel
5cbc87e025 add COOKIE_DOMAIN to set domain of cookies 2022-11-18 09:06:10 +01:00
Faton Ramadani
53a8c5e04c fix(frontend): app editor v1 (#908)
* fix(frontend): app editor v1

* fix(frontend): fix new section

* fix(frontend): Component creation

* fix(frontend): Add preview

* fix(frontend): Add helper text

* fix(frontend): Add plain text component

* fix(frontend): Add text component

* fix(frontend): Fix DND

* fix(frontend): Fix

* fix(frontend): remove debugger

* fix(frontend): fix build errors
2022-11-18 00:28:25 +01:00
Ruben Fiszel
0b50e2b9ce improve same_worker UX clarity 2022-11-17 18:03:07 +01:00
Ruben Fiszel
4e6cb10776 clearer connect button in flows 2022-11-17 14:42:26 +01:00
Ruben Fiszel
140c83abc9 make parameters of flow inputs reorderable 2022-11-17 13:44:35 +01:00
Ruben Fiszel
448b08dd05 fix removing element from schemaeditor without resetting all required 2022-11-17 13:18:01 +01:00
Ruben Fiszel
6152bd3692 m-1 on drawercontent buttons 2022-11-17 13:09:56 +01:00
Ruben Fiszel
d28e671b97 fix load flow input correctly 2022-11-17 12:17:06 +01:00
Ruben Fiszel
80df3c92bd fix initial python script 2022-11-17 12:07:13 +01:00
Ruben Fiszel
18e298f2ad overflow-auto table custom 2022-11-17 10:13:06 +01:00
Ruben Fiszel
199a11a8cf fix: support flows to be triggered by slack commands 2022-11-16 21:50:51 +01:00
Jakub Kołodziejczak
ae6ca89957 chore(frontend): improve ux for "skip if stopped" (#912) 2022-11-16 21:12:22 +01:00
Ruben Fiszel
5f83655daa add build-essential to base image + pip install has path as env variable 2022-11-16 18:47:11 +01:00
Marty S
57ee37e163 Deployement -> Deployment (#911) 2022-11-16 15:35:58 +01:00
Ruben Fiszel
fca5940e80 visual hints when buttons are loading goto 2022-11-16 15:35:22 +01:00
Ruben Fiszel
18f565ba28 script builder: metadata -> advanced 2022-11-16 14:10:51 +01:00
Ruben Fiszel
9d17abbb12 feat(python): add Resource[resource_type] as a parsed parameter 2022-11-16 14:08:55 +01:00
Ruben Fiszel
b3178d1b8a feat: add slack_bot token on connecting workspace to slack 2022-11-16 00:27:21 +01:00
Ruben Fiszel
381b0368d7 fix(backend): saving bash script does not require dep job 2022-11-15 17:20:15 +01:00
Ruben Fiszel
d76885724e fix empty path for get_resource and set_resource 2022-11-15 14:28:22 +01:00
Ruben Fiszel
edd0132298 use async internval for loading logs for better handling of slow connections 2022-11-15 14:18:10 +01:00
Ruben Fiszel
e7ac157bab chore(main): release 1.47.3 (#905)
* chore(main): release 1.47.3

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-15 14:05:26 +01:00
Ruben Fiszel
a649f772a5 fix(python-client): fix transform_leaves 2022-11-15 14:03:54 +01:00
Ruben Fiszel
bd836b6835 chore(main): release 1.47.2 (#904)
* chore(main): release 1.47.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-15 14:02:02 +01:00
Ruben Fiszel
b4fd470025 fix(python-client): fix get_state 2022-11-15 13:59:58 +01:00
Ruben Fiszel
b47c28471c chore(main): release 1.47.1 (#903)
* chore(main): release 1.47.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-15 13:45:09 +01:00
Ruben Fiszel
a6a5adadf4 fix(python-client): fix set_resource 2022-11-15 13:38:46 +01:00
Ruben Fiszel
1cd54576b4 chore(main): release 1.47.0 (#892)
* chore(main): release 1.47.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-15 13:28:27 +01:00
Ruben Fiszel
87a4db710e InternalState -> State 2022-11-15 13:27:24 +01:00
Ruben Fiszel
32bca1fd4c feat(clients): rename internal state as state + setters for resources/variables in python 2022-11-15 13:16:53 +01:00
Ruben Fiszel
2484f15a79 menu redesign 2022-11-15 11:57:05 +01:00
Ruben Fiszel
1287b2ae3a improve trash button for flow map 2022-11-15 10:40:15 +01:00
Ruben Fiszel
aa92249607 improve flow UX 2022-11-15 02:25:00 +01:00
Ruben Fiszel
e71fca35ca improve flow UX 2022-11-15 01:17:30 +01:00
Ruben Fiszel
be1a280e2c improve README 2022-11-15 00:14:22 +01:00
Ruben Fiszel
7b432246ea improve flow UX 2022-11-14 23:59:49 +01:00
Ruben Fiszel
302fe292c0 improve flow UX 2022-11-14 23:49:07 +01:00
Ruben Fiszel
fc16960df2 improve flow UX 2022-11-14 23:36:28 +01:00
Ruben Fiszel
a15b3117c2 improve flow UX 2022-11-14 23:30:19 +01:00
dependabot[bot]
21c8440ef5 chore(deps-dev): bump svelte from 3.52.0 to 3.53.1 in /frontend (#900)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.52.0 to 3.53.1.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.52.0...v3.53.1)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-14 18:51:57 +00:00
dependabot[bot]
61242867f2 chore(deps-dev): bump @tailwindcss/typography in /frontend (#901)
Bumps [@tailwindcss/typography](https://github.com/tailwindcss/typography) from 0.5.7 to 0.5.8.
- [Release notes](https://github.com/tailwindcss/typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindcss/typography/compare/v0.5.7...v0.5.8)

---
updated-dependencies:
- dependency-name: "@tailwindcss/typography"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-14 18:40:25 +00:00
dependabot[bot]
5df146e6ac chore(deps-dev): bump @typescript-eslint/parser in /frontend (#899)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.40.1 to 5.43.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.43.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-14 18:18:57 +00:00
dependabot[bot]
6e46f34107 chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#898)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.47 to 1.0.0-next.48.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.48/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-14 18:17:44 +00:00
Faton Ramadani
e8d3a0efb1 fix(frontend): add size prop to tabs (#894) 2022-11-14 18:04:47 +01:00
Ruben Fiszel
1eedbfaedb fix digest for createapp 2022-11-14 18:00:51 +01:00
Faton Ramadani
cc5f629a7b fix(frontend): App Editor v0 (#886) 2022-11-14 17:30:49 +01:00
Faton Ramadani
4dc05b913e fix(frontend): Set settings as header and error handler as footer (#893) 2022-11-14 11:45:35 +01:00
Ruben Fiszel
c8b35a26a3 add cache dir for deno even when nsjail disabled 2022-11-14 11:43:56 +01:00
Ruben Fiszel
8fdc2ba63a fix listApps 2022-11-14 10:26:39 +01:00
Ruben Fiszel
a9abd28882 fix(backend): go use windmill cache dir even if nsjail disabled 2022-11-14 09:20:09 +01:00
Kai Jellinghaus
47c9ff1edc feat(backend): Flow lock (#868)
* Add lockfile information

* Allow Lockfiles to be pushed to queue

* Handle raw_lock on worker

* Flow Lock Job

* Allow RawScript path

* Simplify handle_code_execution_job

* Regenerate SQLX

* Fix tests

* fix test

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-13 18:31:08 +01:00
Ruben Fiszel
3357cffb04 feat(backend): remove go.sum from go lockfile (#891) 2022-11-13 17:36:35 +01:00
Ruben Fiszel
a79a48d506 Update docker-image.yml 2022-11-13 12:03:30 +01:00
Ruben Fiszel
972a8d5c9f display app as summary in flowgraph 2022-11-13 01:16:32 +01:00
Ruben Fiszel
16ace70242 center flowgraph 2022-11-13 01:07:23 +01:00
Ruben Fiszel
3189e02477 chore(main): release 1.46.2 (#890)
* chore(main): release 1.46.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-12 20:59:31 +01:00
Ruben Fiszel
ab8b2296c3 fix truncate summary and adapt graph size 2022-11-12 20:54:37 +01:00
Ruben Fiszel
76a6768ed9 fix(ci): sqlx offline data 2022-11-12 20:41:23 +01:00
Ruben Fiszel
e13f14988a chore(main): release 1.46.1 (#889)
* chore(main): release 1.46.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-12 20:18:28 +01:00
Ruben Fiszel
2d9e9909da fix(backend): apps backend v0 (#888)
* progress

* post merge

* progress

* fix

* fix

* fix

* fix

* v1

* fix openapi
2022-11-12 20:17:08 +01:00
Ruben Fiszel
df11f506e6 chore(main): release 1.46.0 (#871) 2022-11-12 20:15:41 +01:00
Ádám Kovács
9bf0f6e70d feat(frontend): Flow graph (#827)
* chore(frontend): Install d3@7.6.1

* feat(frontend): Add basic graph components

* feat: Add graph node component

* feat: Add graph edges

* fix: Rename graph flow module

* feat: Add flow graph to editor

* feat: Add loops

* feat: Add hub scripts to graph

* fix: Display hub scripts

* fix: Nested loops

* feat: Graph displaying packages

* fix: Remove unused parts

* feat: Update graph layout

* fix: Clean up imports

* feat: Add icons to graph nodes

* feat: Add graph viewer to flow details page

* fix: Action row component on scroll behaviour

* fix: Update supported languages type

* fix: Add bash language icons

* fix: Support empty scripts and branches

* fix: Ellipsizing virtual node text

* feat: Display script id in node

* fix: Remove graph from flow editor

* fix: Update node id display

* chore: Remove unused packages

* flow viewer

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-12 20:14:29 +01:00
Ruben Fiszel
88a983b3fa Update docker-image.yml 2022-11-12 18:35:25 +01:00
Ruben Fiszel
9d1320bae3 fix publish internal 2022-11-12 13:45:39 +01:00
Marty S
0cf4ad1ef6 Add helm and AWS cli to main image (#887)
* Add helm and AWS cli to main image

* Add internal build

* Move dockerfile location

* Capitalize helm

Co-authored-by: martys <44445285+martysmojo@users.noreply.github.com>
2022-11-11 20:13:24 +01:00
Ruben Fiszel
68adf2172e ci: overwrite with multibuild 2022-11-11 14:57:17 +01:00
Ruben Fiszel
7e85e411d4 increase ci timeout 2022-11-10 17:18:58 +01:00
Ruben Fiszel
dddba54bdc fix edit schedule 2022-11-10 16:49:16 +01:00
Ruben Fiszel
c3b2bab5d1 feat: publish arm64 image (#885) 2022-11-10 14:36:30 +01:00
Ruben Fiszel
79b5a31c78 improve flow's UX 2022-11-10 10:10:32 +01:00
Ruben Fiszel
6fe5c99af4 tweak identity to extract previous_result 2022-11-10 08:48:06 +01:00
Ruben Fiszel
40183ce4e4 feat: deprecate previous_result in favor of results per id 2022-11-10 01:58:52 +01:00
Kai Jellinghaus
a218fbf194 Add Install & Upgrade info to README (#884) 2022-11-09 07:47:42 +01:00
Ruben Fiszel
0bf060ae4c improve flow UX 2022-11-09 01:22:39 +01:00
Ruben Fiszel
06bfe17335 improve banching UX in minimap of flows 2022-11-09 01:00:01 +01:00
Ruben Fiszel
493f707e7c fix navigation on flows and script editor 2022-11-09 00:20:43 +01:00
DMoosh
c627f85fc3 Update README.md (#883)
Grammar/spelling
2022-11-08 23:51:38 +01:00
Ruben Fiszel
f857edeaa9 small dropdown UX fix for schedules 2022-11-08 23:41:53 +01:00
Ruben Fiszel
a146aa323f small UX and client fixes 2022-11-08 23:38:17 +01:00
Kai Jellinghaus
a658308b59 feat(cli): Relax push folder layout to accept one layer of organizational structure (#882)
* Relax folder layout to accept one layer of organizational structure

* Fix incorrect import
2022-11-08 18:18:15 +01:00
Kai Jellinghaus
8db4d542e7 Disable Deno Lock Files unless feature flag require it(#881) 2022-11-08 16:52:45 +01:00
Ruben Fiszel
c74cde953c frontend nits 2022-11-08 11:48:05 +01:00
Ruben Fiszel
0cc1a84862 more spacing in runs page + fix drawer click away 2022-11-08 11:22:40 +01:00
Ruben Fiszel
5ba76986f3 runs chart tooltip improvement 2022-11-08 11:06:35 +01:00
Ruben Fiszel
79e2865ab9 pass workspace as query arg of every runs link 2022-11-08 10:28:06 +01:00
Ruben Fiszel
bd9c80d028 fix python on nsjail 2022-11-08 00:42:14 +01:00
Ruben Fiszel
2c81c4dc39 fix copy first step schema + import buttons 2022-11-07 21:54:49 +01:00
Ruben Fiszel
8e537a80bd fix unknown type not handled and add go interface as recognizable type 2022-11-07 20:52:04 +01:00
dependabot[bot]
3c6615f055 chore(deps-dev): bump tailwindcss from 3.2.1 to 3.2.2 in /frontend (#878)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.2.1...v3.2.2)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 19:17:24 +00:00
dependabot[bot]
c5b4ed2fb1 chore(deps-dev): bump @zerodevx/svelte-toast in /frontend (#879)
Bumps [@zerodevx/svelte-toast](https://github.com/zerodevx/svelte-toast) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/zerodevx/svelte-toast/releases)
- [Commits](https://github.com/zerodevx/svelte-toast/compare/v0.8.0...v0.8.1)

---
updated-dependencies:
- dependency-name: "@zerodevx/svelte-toast"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 19:06:56 +00:00
dependabot[bot]
63c95a91c5 chore(deps-dev): bump @types/vscode from 1.72.0 to 1.73.0 in /frontend (#876)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.72.0 to 1.73.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 18:41:53 +00:00
dependabot[bot]
f7f7f94f5f chore(deps-dev): bump cssnano from 5.1.13 to 5.1.14 in /frontend (#875)
Bumps [cssnano](https://github.com/cssnano/cssnano) from 5.1.13 to 5.1.14.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@5.1.13...cssnano@5.1.14)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 18:31:19 +00:00
dependabot[bot]
cd32841cb3 chore(deps): bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 (#874)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.4...v1.3.5)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 18:20:59 +00:00
dependabot[bot]
59b981cc43 chore(deps): bump python from 3.10-slim-buster to 3.11.0-slim-buster (#873)
Bumps python from 3.10-slim-buster to 3.11.0-slim-buster.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 18:12:42 +00:00
Ruben Fiszel
3e50d2a93f fix prop picker on focus 2022-11-07 16:46:02 +01:00
Kai Jellinghaus
d375836989 feat(cli): Tarball pull (#867)
* Add tarball pull

* Move command & prompt on conflict

* Remove old file

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-07 16:02:49 +01:00
Kai Jellinghaus
b6fd957271 Allow complex action setups in benches (#869)
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-07 15:38:28 +01:00
Ruben Fiszel
76bb67b9ff ci: rework deploy 2022-11-07 14:53:21 +01:00
Ruben Fiszel
d9c3a1ff42 ci: trim down docker main docker image 2022-11-07 13:37:37 +01:00
Jakub Kołodziejczak
e08ca0423c refactor(backend): improve memory footprint related to csp (#866) 2022-11-07 01:29:37 +01:00
Ruben Fiszel
b490f83575 include bash in flow inlines 2022-11-07 00:17:32 +01:00
Ruben Fiszel
fe7bfecc0a nit: fix go-client 2022-11-06 23:57:16 +01:00
Ruben Fiszel
4899972f67 chore(main): release 1.45.0 (#855)
* chore(main): release 1.45.0

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-06 23:50:19 +01:00
Ruben Fiszel
3c09275960 feat: support bash as 4th language (#865)
* bash support

* bash backend working

* frontend part

* bash backend working
2022-11-06 23:48:18 +01:00
Jakub Kołodziejczak
3333713644 chore(backend): set csp based on env var (#864)
* chore(backend): set csp based on env var

* use extension instead of reading directly from env var
2022-11-06 22:35:37 +01:00
Ruben Fiszel
7def5e17ca nit UX on FlowPreviewContent 2022-11-06 19:51:50 +01:00
Jakub Kołodziejczak
209dee7bd8 chore(csp): fix trailing semicolon (#863) 2022-11-06 19:50:45 +01:00
Ruben Fiszel
975e63a8e9 nit UX on FlowPreviewContent 2022-11-06 19:48:47 +01:00
Ruben Fiszel
753a66488c nit UX on FlowPreviewContent 2022-11-06 18:16:55 +01:00
Jakub Kołodziejczak
3ba18700de fix(backend): improve csp (#861)
rationale for setting `'unsafe-inline'` is that it cannot be more void
than the lack of `script-src` but it still might add some benefits
2022-11-06 18:00:16 +01:00
Ruben Fiszel
adfc0ff734 capture event on dropdown click 2022-11-06 17:56:57 +01:00
Ruben Fiszel
6a597b8d3b add groups delete + re-enable ellipsis 2022-11-06 17:55:01 +01:00
Jakub Kołodziejczak
7040bbe4c9 fix(backend): tighten http security headers (#860)
* fix(backend): set http security headers (vol.1)

* (vol.2) minimal *working* content security policy

* (vol.3) set csp only if https and if hosted on cloud

* improve generics

* get CLOUD_HOSTED from extension

* remove X-XSS-Protection

rationale as per: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection

* conditionally set all security related http headers
2022-11-06 17:07:25 +01:00
Ruben Fiszel
252cf375b7 add autofocus for run page 2022-11-06 16:31:50 +01:00
Ruben Fiszel
8fd0e23c80 UX improvements for run script 2022-11-06 16:08:10 +01:00
Ruben Fiszel
bff8331eb0 drawer nits + logo in top menu 2022-11-06 11:52:16 +01:00
Ruben Fiszel
5b4c9d9eb0 fix(frontend): reload websocket on lsp go import install 2022-11-06 08:59:35 +01:00
Ruben Fiszel
83c79a47ee fix(frontend): dispose monaco models onDestroy 2022-11-06 06:07:43 +01:00
Ruben Fiszel
6172499a1c ux nit 2022-11-05 23:42:29 +01:00
Ruben Fiszel
badc60193c feat(backend): flow duration is now computed as the sum of every child 2022-11-05 22:31:54 +01:00
Ruben Fiszel
cddec6469e fix(backend): tighten security around cookies to avoid csrf (#859)
* fix(backend): tighten security around cookies to avoid csrf

* everything httponly

* sqlx

* also handle 404

* shoter Windmill v message

* fix chart
2022-11-05 21:21:13 +01:00
Ruben Fiszel
d44d5f23f4 remove unsynced chartjs title 2022-11-05 17:36:05 +01:00
Ruben Fiszel
4656f2344a chart styling nits 2022-11-05 16:55:47 +01:00
Ruben Fiszel
d318725adb feat(frontend): show runs using a time chart 2022-11-05 16:46:23 +01:00
Ruben Fiszel
b31c5c435e feat(frontend): show runs using a time chart 2022-11-05 15:31:09 +01:00
Ruben Fiszel
464642dac7 improve superadmin settings 2022-11-05 12:30:11 +01:00
Ruben Fiszel
6439ffc2b5 remove initial invite to demo for ruben@windmill.dev 2022-11-05 10:45:17 +01:00
Ruben Fiszel
e19131eddc edit script preload same args 2022-11-05 10:02:00 +01:00
Ruben Fiszel
9e0df5b47f fix arginfo 2022-11-05 09:31:31 +01:00
Ruben Fiszel
cc65bf5f48 feat(frontend): fill schema and test args from payload 2022-11-05 02:29:32 +01:00
Ruben Fiszel
4a2dff5cf2 do not list preview in the latest runs 2022-11-04 22:30:19 +01:00
Ruben Fiszel
34f9ea3b3c script and flow details UX improvements 2022-11-04 22:00:01 +01:00
Ruben Fiszel
17ff748d1a script and flow details UX improvements 2022-11-04 21:54:37 +01:00
Ruben Fiszel
42e9af52d8 script and flow details UX improvements 2022-11-04 21:48:38 +01:00
Ruben Fiszel
ca53412bfd improve UX for webhooks 2022-11-04 21:23:26 +01:00
Ruben Fiszel
e96cef0b6a improve webhooks for UX 2022-11-04 21:19:29 +01:00
Ruben Fiszel
da2e8db8ea publish lsp to ecr too 2022-11-04 17:58:21 +01:00
Ruben Fiszel
8e21f6dbd0 fix windmill registry on ecr 2022-11-04 17:38:01 +01:00
Ruben Fiszel
a58c25a9ec push to AWS ECR registry 2022-11-04 17:15:32 +01:00
Ruben Fiszel
6ae37817a7 reload on broken monaco editor 2022-11-04 16:40:16 +01:00
Ruben Fiszel
e58296ad64 fix spurrious notifications on monaco 2022-11-04 16:34:32 +01:00
Ruben Fiszel
2750c586ed fix inner branches in the flow UX 2022-11-04 16:31:30 +01:00
Ruben Fiszel
fc3aaf6d5f UX same worker tab 2022-11-04 16:15:28 +01:00
Ruben Fiszel
3facc7da58 UX improvements for flows 2022-11-04 13:28:47 +01:00
Ruben Fiszel
01701882dc feat(backend): use result_by_id in branchone (#857)
* progress

* fix result by id
2022-11-04 12:06:08 +01:00
Ruben Fiszel
41b77833c5 UX improvements on schedule item 2022-11-04 01:21:26 +01:00
Ruben Fiszel
8a3a7e1dab display little parsing status instead of error toast 2022-11-04 01:17:59 +01:00
Ruben Fiszel
b52f263bf6 display little parsing status instead of error toast 2022-11-04 01:16:12 +01:00
Ruben Fiszel
25c5e74d73 fix approving twice same flow 2022-11-04 00:32:55 +01:00
Ruben Fiszel
edeccc8429 publish to hub from deno do not add lockfile 2022-11-04 00:02:45 +01:00
Ruben Fiszel
f0b82a942c UX improvements 2022-11-03 23:26:07 +01:00
Ruben Fiszel
49bebe20cc fix(frontend): fix remaining openModal bugs 2022-11-03 19:10:55 +01:00
Ruben Fiszel
175a188f61 fix(frontend): reset rows default to 1 2022-11-03 18:58:08 +01:00
Ruben Fiszel
971988dfe2 fix(frontend): go editor nits 2022-11-03 18:48:53 +01:00
Ruben Fiszel
4c3009848f sqlx prepare 2022-11-03 14:41:46 +01:00
Ruben Fiszel
d5cf1a3286 fix initialization of flowstore 2022-11-03 14:34:41 +01:00
Ruben Fiszel
23a0c10b77 feat(backend): add global delete user endpoint 2022-11-03 14:06:19 +01:00
Ruben Fiszel
76e53a0139 feat(backend): add global delete user endpoint 2022-11-03 14:06:09 +01:00
Ruben Fiszel
68853f6869 chore(main): release 1.44.0 (#853)
* chore(main): release 1.44.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-03 13:50:34 +01:00
Ruben Fiszel
c6ce9bb3f6 frontend(fix): rework all text inputs 2022-11-03 13:47:40 +01:00
Ruben Fiszel
6ec382f89a modal -> drawer 2022-11-03 12:39:23 +01:00
Ruben Fiszel
bec2ddfbce fix variable editor 2022-11-03 10:03:00 +01:00
Ruben Fiszel
20bc904e5f fix(python-client): fix get_resource 2022-11-03 08:56:00 +01:00
Ruben Fiszel
9ac671bee0 update python-client-builder 2022-11-03 08:32:43 +01:00
Ruben Fiszel
34f5062cfa update deno example with npm qualifier 2022-11-03 01:04:08 +01:00
Kai Jellinghaus
f1d658d7f3 Ignore deno lockfile if invalid (#854)
* Ignore deno lockfile if invalid

* Always write file
2022-11-03 00:47:09 +01:00
Kai Jellinghaus
5bbfb40ee1 feat(backend): Deno lock files (#851)
* Enable generating locks for deno

* Handle deno lockfile

* Fix bug with empty lockfiles

* Handle deno lockfiles

* Allow unstable features when resolving deno deps

* Ignore bad lockfiles

* Handle Deno Path

* No Color output

* Fix OsStr
2022-11-02 23:52:45 +01:00
Ruben Fiszel
f99e704111 UX improvements 2022-11-02 22:01:49 +01:00
Ruben Fiszel
59da17bff8 UX improvements 2022-11-02 21:26:52 +01:00
Ruben Fiszel
513924b043 feat: implement allowed domains for self-hosted 2022-11-02 14:52:35 +01:00
Ruben Fiszel
35868ef9bf fix(backend): capture up all lockfile issues 2022-11-02 14:04:44 +01:00
Ruben Fiszel
14c296dbb8 fix: implement require admin differently than unauthorized 2022-11-02 12:18:44 +01:00
Ruben Fiszel
b830dffc20 remove tokio-console 2022-11-02 12:04:35 +01:00
Ruben Fiszel
9476e53701 chore(main): release 1.43.2 (#852)
* chore(main): release 1.43.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-02 11:42:45 +01:00
Ruben Fiszel
cf4905b734 verify go-client by building it 2022-11-02 11:41:57 +01:00
Ruben Fiszel
4707d1ecaa fix(go-client): use stable oapi codegen version 2022-11-02 11:37:57 +01:00
Ruben Fiszel
6f9d2f3fd8 better go example 2022-11-02 11:16:09 +01:00
Ruben Fiszel
c55442c5f0 fix(frontend) undefined error in flowmodulecomponent 2022-11-02 11:09:10 +01:00
Ruben Fiszel
73047b2089 chore(main): release 1.43.1 (#849)
* chore(main): release 1.43.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-02 11:01:37 +01:00
Ruben Fiszel
6170256a47 change default templates for go 2022-11-02 10:59:08 +01:00
Ruben Fiszel
1329493873 fix(go-client): fix openapi generation 2022-11-02 10:55:35 +01:00
Ruben Fiszel
c049838fd2 approvers are available to the step right after approval 2022-11-02 10:43:19 +01:00
Ruben Fiszel
9eb12e09b6 make get suspended flow job unauthed 2022-11-02 08:50:17 +01:00
Ruben Fiszel
1cab1e7bbf UI improvements 2022-11-02 08:41:08 +01:00
Ruben Fiszel
adde9dc10f ui fix for icons margin on runs 2022-11-02 06:59:36 +01:00
Ruben Fiszel
c0e85e8476 UI improvements 2022-11-01 23:48:04 +01:00
Kai Jellinghaus
7dafa6e955 Cli improvements (#850)
* Fix infinite user list

* Remove Description from table
2022-11-01 22:14:46 +01:00
Ruben Fiszel
e5d8111ae1 sqlx offline fixes 2022-11-01 22:13:35 +01:00
Jakub Kołodziejczak
ffaf7cad4a fix(backend): extend default scope set for slack resource (#848)
usecase:
> as a windmill user I want to provide email of user to which slack direct message should be send

rationale:
https://api.slack.com/methods/users.lookupByEmail needs to be used. it
requires `users:read.email` (which needs to be acquired together with
`users:read` - more info: https://api.slack.com/scopes/users:read.email)
2022-11-01 22:06:02 +01:00
Ruben Fiszel
918fb1f9a4 restore connect workspace to slack 2022-11-01 22:03:36 +01:00
Ruben Fiszel
b8e006cba4 chore(main): release 1.43.0 (#842)
* chore(main): release 1.43.0

* Apply automatic changes

* Apply automatic changes

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-11-01 16:23:04 +01:00
Ruben Fiszel
c7b95c1614 quickfix change-versions for cli 2022-11-01 16:19:59 +01:00
Kai Jellinghaus
adc50f0afe Sed fix (#844) 2022-11-01 16:11:01 +01:00
Kai Jellinghaus
f5ea13ab2b feat: new wmill CLI #831 2022-11-01 15:53:28 +01:00
Ruben Fiszel
4ac19c6ce5 add a bit of docs 2022-11-01 07:50:59 +01:00
Ruben Fiszel
d85594faa4 fix non selected tab in flows 2022-11-01 06:18:46 +01:00
Ruben Fiszel
2cd9a890c0 fix initialPath setting 2022-11-01 06:15:50 +01:00
Ruben Fiszel
39937e6a83 feat(backend): add parallel option for forloop and branchall (#840)
* parallel

* parallel

* fix 1

* fix 2

* fix 3

* fix 3

* fix 4

* sqlx

* add parallel toggle on frontend

* parallel in frontend

* serde

* fix everything

* fix everything
2022-11-01 06:09:00 +01:00
Jakub Kołodziejczak
2304a5fe26 chore(frontend): typo fix (#839) 2022-11-01 03:10:21 +01:00
dependabot[bot]
c128e35313 chore(deps-dev): bump tailwindcss from 3.1.8 to 3.2.1 in /frontend (#835)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.1.8 to 3.2.1.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.1.8...v3.2.1)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 19:06:43 +00:00
dependabot[bot]
e95af2b929 chore(deps): bump hyper from 0.14.20 to 0.14.22 in /backend (#838)
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.20 to 0.14.22.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.22/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.20...v0.14.22)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 18:57:24 +00:00
dependabot[bot]
0143c58b8a chore(deps-dev): bump tslib from 2.4.0 to 2.4.1 in /frontend (#837)
Bumps [tslib](https://github.com/Microsoft/tslib) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/Microsoft/tslib/releases)
- [Commits](https://github.com/Microsoft/tslib/compare/2.4.0...2.4.1)

---
updated-dependencies:
- dependency-name: tslib
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 18:48:25 +00:00
dependabot[bot]
c020da28f9 chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#834)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.44 to 1.0.0-next.47.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.47/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 18:42:12 +00:00
dependabot[bot]
f0f64e7ac2 chore(deps-dev): bump autoprefixer from 10.4.12 to 10.4.13 in /frontend (#833)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.12 to 10.4.13.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.12...10.4.13)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 18:38:38 +00:00
dependabot[bot]
8f1a26b61a chore(deps): bump python from 3.10-slim-buster to 3.11.0-slim-buster (#832)
Bumps python from 3.10-slim-buster to 3.11.0-slim-buster.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 18:36:17 +00:00
Ruben Fiszel
c1168a4903 UX nits 2022-10-31 12:46:07 +01:00
Ruben Fiszel
d0e31431be UX nits 2022-10-31 12:23:36 +01:00
Ruben Fiszel
b0b00863c0 UX nits 2022-10-31 12:12:56 +01:00
Ruben Fiszel
19da8e9774 UX improvements 2022-10-31 11:57:00 +01:00
Ruben Fiszel
b6c09edb35 Merge branch 'main' into rf/tableImprovements 2022-10-31 09:52:23 +01:00
Ruben Fiszel
97d7d934b8 fix account as integer II 2022-10-31 09:34:55 +01:00
Ruben Fiszel
bbffcab111 table 2022-10-31 09:29:48 +01:00
Ruben Fiszel
5793c02f06 UX improvements 2022-10-31 01:28:51 +01:00
Ruben Fiszel
f3e7a37188 UX improvements 2022-10-31 01:26:16 +01:00
Ruben Fiszel
6d965c7693 make-up flow status viewer 2022-10-31 01:14:34 +01:00
Ruben Fiszel
12a1cb9d8c fix get_resource for oauth 2022-10-30 22:56:12 +01:00
Ruben Fiszel
23346fd18c avoid duplicate components in openapi 2022-10-30 21:53:32 +01:00
Ruben Fiszel
ee91ca50cf clearer error message for unable to exchange refresh token 2022-10-30 21:35:22 +01:00
Ruben Fiszel
1f1492f341 chore(main): release 1.42.1 (#830)
* chore(main): release 1.42.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-30 21:29:00 +01:00
Ruben Fiszel
f4cd0575c6 fix builder for python and go 2022-10-30 21:25:57 +01:00
Ruben Fiszel
b59fac05d4 fix builder for python and go 2022-10-30 21:23:21 +01:00
Ruben Fiszel
3ccc294272 fix builder for python and go 2022-10-30 21:23:21 +01:00
Jakub Kołodziejczak
eef7c7ff94 fix(deno-client): add missing approver encoding to hmac api request (#829)
related to 10e1de8476
2022-10-30 20:39:01 +01:00
Ruben Fiszel
5c4c091e78 chore(main): release 1.42.0 (#810)
* chore(main): release 1.42.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-30 19:09:13 +01:00
Ruben Fiszel
fe61f23d6a handle errors prior to first step better 2022-10-30 19:03:22 +01:00
Ruben Fiszel
ed1829da4a add flow_input to context of branch predicates and stop early 2022-10-30 18:24:23 +01:00
Ruben Fiszel
e37e07ddb6 fix input transforms for resource and variable 2022-10-30 17:28:59 +01:00
Ruben Fiszel
03e9f10931 sqlx prepare 2022-10-30 17:08:03 +01:00
Ruben Fiszel
12026318b5 fix full hub script 2022-10-30 17:01:12 +01:00
Ruben Fiszel
4bd74ad723 fix(backend): fix error handler progress update 2022-10-30 13:47:28 +01:00
Ruben Fiszel
08320d16be early stop now bubble up to the top 2022-10-30 02:32:35 +02:00
Ruben Fiszel
2e8211d41f revert switching metrics to tiny-http 2022-10-30 01:55:44 +02:00
Ruben Fiszel
e90a8e2ca9 fix failure module 2022-10-29 16:51:45 +02:00
Ruben Fiszel
03505751f5 fix toggle 2022-10-29 16:46:15 +02:00
Ruben Fiszel
76311fa29f flow UX improvements 2022-10-29 16:13:08 +02:00
Ruben Fiszel
b45da3a64c flow UX improvements 2022-10-29 16:11:41 +02:00
Ruben Fiszel
7a3c8c4a0b flow UX improvements 2022-10-29 16:10:10 +02:00
Ruben Fiszel
13cd06f45d flow UX improvements 2022-10-29 16:04:05 +02:00
Ruben Fiszel
f75823f474 handle more error edge cases 2022-10-29 13:59:50 +02:00
Ruben Fiszel
004f4958ef fix default python script 2022-10-29 12:57:25 +02:00
Ruben Fiszel
84a3fbe46b feat(python): type is automatically inferred from default parameters 2022-10-29 12:48:50 +02:00
Ruben Fiszel
b3d8d8e611 ci: use cargo check to cache dockerfile #828 2022-10-29 12:20:16 +02:00
Kai Jellinghaus
0034129a30 restructure the entire backend layout using workspaces (#815) 2022-10-29 11:58:06 +02:00
Ruben Fiszel
c1c4bfc5ce flow ui nits 2022-10-28 16:11:03 +02:00
Ruben Fiszel
38a764841d fix flow node id creation 2022-10-28 15:56:23 +02:00
Ruben Fiszel
ebf8b6b839 schedule + alert nits 2022-10-28 11:38:25 +02:00
Ruben Fiszel
f036af5788 make going to source script/flow easier 2022-10-28 11:20:12 +02:00
Ádám Kovács
17e766aa6e feat(frontend): Update progress bar (#770)
* feat(frontend): Update progress bar component

* feat(frontend): Add progress to flow run (WIP)

* feat(frontend): Add progress to flow run (WIP 2)

* fix(frontend): Fix loop progress loading

* fix(frontend): Rethink progress bar

* fix(frontend): Remove comment

* feat(front): Add error state and instant loading

* fix(frontend): Fix disappearing progress bits

* feat(frontend): Add progress to run page

* fix(frontend): Fix parallel progress loading issue

* progress bar + up to fix

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-10-28 10:33:28 +02:00
Ruben Fiszel
8475e31740 UX flow improvements + fix collecting results for loops in frontend + fix Identity behavior in backend 2022-10-27 18:50:32 +02:00
Faton Ramadani
79e8b1ff75 fix(frontend): Add summary to the script editor (#825) 2022-10-27 11:52:48 +02:00
Faton Ramadani
d995acfee5 remove flowbite-svelte (#823)
* remove flowbite-svelte

* remove package

* Fix badge
2022-10-27 11:36:16 +02:00
Ruben Fiszel
5e34656517 fix codeViewer for non deno scripts 2022-10-27 09:26:52 +02:00
Ruben Fiszel
86efd6ad21 fix loading non deno from hub 2022-10-27 09:08:55 +02:00
Ruben Fiszel
8a486a8a92 update resource spec 2022-10-27 00:59:25 +02:00
Ruben Fiszel
188171126c fix export to tarball 2022-10-27 00:43:51 +02:00
Ruben Fiszel
0199007d46 improve python parsing of imports 2022-10-27 00:19:17 +02:00
Ruben Fiszel
c59ee075af New Script UX refactor 2022-10-26 23:09:10 +02:00
Ruben Fiszel
340add7f4f fix result by id 2022-10-26 08:54:28 +02:00
Ruben Fiszel
6fcf984ea3 feat(frontend): result by id 2022-10-26 08:31:30 +02:00
Ruben Fiszel
e492f71ed9 minimap fixes 2022-10-26 07:35:20 +02:00
Ruben Fiszel
6b353ac4e1 fix migration of old flows 2022-10-26 06:49:48 +02:00
Ruben Fiszel
8a059201c9 fix input transforms 2022-10-26 06:14:42 +02:00
Faton Ramadani
a65c4c3570 fix(frontend): Fix overlay map indicator (#816) 2022-10-25 23:24:27 +02:00
Ruben Fiszel
7c55d1302b fix early stop 2022-10-25 23:05:03 +02:00
Faton Ramadani
b078bde305 fix(frontend): Fix legacy input transforms (#814) 2022-10-25 19:29:55 +02:00
Faton Ramadani
53eede4f02 fix(frontend): Fix input transforms (#813) 2022-10-25 18:41:11 +02:00
Faton Ramadani
054c142882 feat(frontend): Flow editor branches (#727) 2022-10-25 17:26:31 +02:00
Ruben Fiszel
14c5bcf2fe fix schedule on setScheduleEnabled errors 2022-10-25 13:16:33 +02:00
Ruben Fiszel
8df48f2b11 fix schedule on setScheduleEnabled errors 2022-10-25 12:59:22 +02:00
Ruben Fiszel
9a67607b20 feat: payload capture of json to initialize flow input (#655)
* capture table and some endpoints for json pastebin

* only retain user's most recent captures

* merge conflict

* sqlx data

* fix migration

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-10-25 00:54:53 +02:00
Ruben Fiszel
7addf0c6b1 fix input transform form 2022-10-25 00:27:06 +02:00
dependabot[bot]
f0af36c479 chore(deps-dev): bump simple-svelte-autocomplete in /frontend (#799)
Bumps [simple-svelte-autocomplete](https://github.com/pstanoev/simple-svelte-autocomplete) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/pstanoev/simple-svelte-autocomplete/releases)
- [Commits](https://github.com/pstanoev/simple-svelte-autocomplete/compare/v2.4.0...v2.5.0)

---
updated-dependencies:
- dependency-name: simple-svelte-autocomplete
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 21:00:23 +00:00
dependabot[bot]
5ef6aec368 chore(deps-dev): bump eslint from 8.25.0 to 8.26.0 in /frontend (#801)
Bumps [eslint](https://github.com/eslint/eslint) from 8.25.0 to 8.26.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.25.0...v8.26.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 22:51:06 +02:00
dependabot[bot]
5591e75727 chore(deps): bump monaco-languageclient from 4.0.0 to 4.0.1 in /frontend (#798)
Bumps [monaco-languageclient](https://github.com/TypeFox/monaco-languageclient/tree/HEAD/packages/client) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/TypeFox/monaco-languageclient/releases)
- [Changelog](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-languageclient/commits/mlc-4.0.1/packages/client)

---
updated-dependencies:
- dependency-name: monaco-languageclient
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 20:18:15 +00:00
dependabot[bot]
767cc4e943 chore(deps): bump node from 18-alpine to 19-alpine (#797)
Bumps node from 18-alpine to 19-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 22:13:11 +02:00
Jakub Kołodziejczak
10e1de8476 fix(deno-client): automatically encode approver param + refactor: use URL class to format urls (#809) 2022-10-24 22:12:47 +02:00
Ruben Fiszel
b7c01ceddb chore(deps): backend update 2022-10-24 21:28:25 +02:00
Kai Jellinghaus
f548748eaf Add a dockerfile to the benchmarks directory 2022-10-24 17:51:33 +02:00
Ruben Fiszel
7e6f63511b approval flow nit 2022-10-24 17:17:57 +02:00
Ruben Fiszel
45761f8e0c approval flow with idendity of the approver 2022-10-24 16:37:09 +02:00
Ruben Fiszel
aadc2a229c add identity job_kind to openapi 2022-10-24 14:51:25 +02:00
Ruben Fiszel
40bfc486c7 add resume_id to job_resume + add identity module 2022-10-24 14:48:28 +02:00
Ruben Fiszel
0f4ffd29dd fix get_suspended_job_flow module finding 2022-10-24 10:37:21 +02:00
Ruben Fiszel
e7d000a6d7 fix get_suspended_job_flow 2022-10-24 10:18:23 +02:00
Ruben Fiszel
f69b4d6a07 only load script content if path change 2022-10-24 10:12:38 +02:00
Ruben Fiszel
ced68f35fa chore(main): release 1.41.0 (#795)
* chore(main): release 1.41.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-24 02:38:12 +02:00
Ruben Fiszel
a45ba528ad better tooltips 2022-10-24 02:32:01 +02:00
Ruben Fiszel
17d9f38d30 fix(deno-client): add approver 2022-10-24 02:24:44 +02:00
Ruben Fiszel
a0b2c9e77d feat: add approver to approval step 2022-10-24 01:50:39 +02:00
Ruben Fiszel
3c91e42b9e fix: approval pages now require no auth 2022-10-23 15:50:36 +02:00
Ruben Fiszel
6acea35f59 chore(main): release 1.40.1 (#794)
* chore(main): release 1.40.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-22 16:21:10 +02:00
Jakub Kołodziejczak
a5dfd865c3 fix(deno-client): fix build.sh to have reproducible builds (#793) 2022-10-22 16:19:31 +02:00
Jakub Kołodziejczak
0b89ec79aa ci(deno-client): fix build.sh to have reproducible builds (#792) 2022-10-22 16:01:50 +02:00
Ruben Fiszel
91015e089b chore(main): release 1.40.0 (#780)
* chore(main): release 1.40.0

* Update CHANGELOG.md

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-22 14:06:23 +02:00
Jakub Kołodziejczak
4ab547bdf4 feat(deno-client): improve docs by extending function signatures (#791)
> as a windmill script developer I want to know what type/data structure is returned from the windmill sdk
2022-10-22 14:04:38 +02:00
Ruben Fiszel
884edd7715 fix: improve approval flow with approval page 2022-10-22 13:55:12 +02:00
Ruben Fiszel
90c7b0c89d fix send tx for kill 2022-10-22 00:34:36 +02:00
Ruben Fiszel
d999b72eb8 nit wording 2022-10-21 23:54:27 +02:00
Ruben Fiszel
cb5ed9b9a1 feat(backend): propagate cancel instantly to all flow jobs if any 2022-10-21 22:01:07 +02:00
Ruben Fiszel
e0b86e958f feat(backend): propagate cancel instantly to all flow jobs if any 2022-10-21 22:00:52 +02:00
Ruben Fiszel
31e8873e93 clean up the new script page 2022-10-21 21:33:56 +02:00
Ruben Fiszel
63e1dca6b5 nit pickable buttons for flows 2022-10-21 21:20:01 +02:00
Ruben Fiszel
563db922f5 nit pickable buttons for flows 2022-10-21 20:43:09 +02:00
Ruben Fiszel
aab42eaa3a nit do not disable forloop on subsequent steps 2022-10-21 20:34:04 +02:00
Ruben Fiszel
3484f4bc4c nit escape on contentPreview 2022-10-21 20:01:20 +02:00
Ruben Fiszel
9ddfa9a59d fix import script from hub 2022-10-21 19:43:53 +02:00
Ruben Fiszel
8f40d3b117 fix import script from hub 2022-10-21 19:38:33 +02:00
Ruben Fiszel
b111961b95 simplify script picker menu for flows 2022-10-21 19:02:00 +02:00
Ruben Fiszel
6c68f264cb fix(frontend): rework te new script page 2022-10-21 14:25:21 +02:00
Ruben Fiszel
4ce3e0795c fix: only create a schedule after flow change if schedule is enabled 2022-10-21 13:33:44 +02:00
Kai Jellinghaus
ac84b76909 fix(backend): avoid mem leak on interval #786 2022-10-21 12:15:03 +02:00
Ruben Fiszel
57ab699d1d fix z-index of menu 2022-10-21 08:48:24 +02:00
Ruben Fiszel
8ec33c5e16 feat: support running and publishing go, python scripts to the hub (#779) 2022-10-20 20:16:08 +02:00
Ruben Fiszel
1c8a4b3b09 chore(main): release 1.39.0 (#747)
* chore(main): release 1.39.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-20 16:38:34 +02:00
Ruben Fiszel
5117430b16 fix(deno-client): error handling for getInternalState 2022-10-20 16:36:09 +02:00
Kai Jellinghaus
100761a15c Bench improvements (#774)
* Fix trailing / in host URL

* Allow continous run with throughput

* Fix whitespace
2022-10-20 07:41:33 +02:00
Kai Jellinghaus
3fb5ec08b0 Add more tracing (#773) 2022-10-20 07:40:58 +02:00
Kai Jellinghaus
3a7ab9cbe8 Cargo config improvements (#775)
* Move cargo config to correct location

* Add --no-rosegment to build params.
This helps with stack traces, and is necessary for some profilers.
2022-10-20 07:38:49 +02:00
Ruben Fiszel
1a93593529 feat(frontend): publish script of any lang to hub 2022-10-19 23:50:02 +02:00
Kai Jellinghaus
55d3f38b8b More Metrics (#735)
* Expose Worker Tokio Metrics

* Add metrics tracking the job queue

This can be used to (approximate) the queue length
This can be used to (approximate) the running jobs

* Remove testing code

* Rename metrics to exclude TOTAL_

* Sleep in worker metrics loop

* Add jobs_executed

* Add zombie job metrics

* Add uptime metric

* Fix metric naming

* Remove poll stats

* unify worker execution metrics

* Rename jobs_* metrics

* Rename metrics to match exposed name

* Remove leftover import

* Rename variables to match further

* Fix Merge error

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-10-19 10:15:42 +02:00
Ruben Fiszel
2350a39335 remove erronous pull created_by 2022-10-19 04:10:41 +02:00
Ruben Fiszel
c03c3afcb4 make get job more reliable 2022-10-19 03:54:41 +02:00
Ruben Fiszel
bea934489c nits 2022-10-19 03:41:56 +02:00
Ruben Fiszel
f4ff43ec49 nits 2022-10-19 03:41:56 +02:00
Ruben Fiszel
45a6976d52 feat(backend): atomic moving queue -> complete and delete (#771)
* feat(backend): atomic move to queue + delete

* fix

* fix

* fix

* fix
2022-10-19 03:16:15 +02:00
Ruben Fiszel
a34e514e4e migrating benchmark to deno client 1.38.5 2022-10-18 23:16:58 +02:00
Ruben Fiszel
f468d6d870 show options 2022-10-18 22:08:37 +02:00
Ruben Fiszel
1ae7a3c325 fix benchmarks 2022-10-18 21:19:37 +02:00
Ruben Fiszel
614866d694 little benchmark console feedback 2022-10-18 20:42:16 +02:00
Ruben Fiszel
955cc4104a fix(backend): reschedule flow at first step end (#746)
* fix(backend): reschedule flow at first step end

* fix

* fix

* fix

* fix

* sqlx prepare
2022-10-18 17:06:39 +02:00
Ruben Fiszel
57600ab873 feat: add result by id to fetch result from any node (#769)
* feat: add result by id to fetch result from any node

* sqlx prepare

* fix

* fix

* review
2022-10-18 17:04:13 +02:00
Kai Jellinghaus
846462c68b feat(benchmark): Initial Benchmarking Tool (#731)
* Deno setup

* Very basic benchmarking

* Collect metrics into CSV

* Rip out CSV functionality

* export to influxdb

* remove old files

* Move into subfolder in preparation for merge

* Move settings to correct folder

* Cleanup & Fix typing

* Remove unused code

* Add JSON export of specific metrics

* Wait for all jobs to complete & check resutls

* Delete output.json

* Apply some review comments

* Simplify some truthy expressions

* Remove InfluxDB

* Rewrite Stats calculation

* Add CSV output

* Fix stdev calculations

* Add README

* Add maximum-throughput option

* Add flow option

* Remove testing changes

* Revert auto-format

* Track zombie workers
2022-10-18 14:10:04 +02:00
Ruben Fiszel
af9e1f4479 feat: add ids to modules + input_transform lowered to flowmodulevalue (#768)
* feat: add ids to modules + inputTransforms from module to module value

* all

* delete obsolete input transforms
2022-10-17 22:34:12 +02:00
dependabot[bot]
e1e202ad8b chore(deps-dev): bump svelte from 3.51.0 to 3.52.0 in /frontend (#766)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.51.0 to 3.52.0.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.51.0...v3.52.0)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 20:06:18 +00:00
dependabot[bot]
43be8362db chore(deps-dev): bump flowbite-svelte from 0.27.6 to 0.27.8 in /frontend (#767)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.27.6 to 0.27.8.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.27.6...v0.27.8)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 19:52:00 +00:00
dependabot[bot]
475497c3c0 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#764)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.37.0 to 5.40.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.40.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 19:40:45 +00:00
dependabot[bot]
f4bbf252f0 chore(deps-dev): bump @zerodevx/svelte-toast in /frontend (#761)
Bumps [@zerodevx/svelte-toast](https://github.com/zerodevx/svelte-toast) from 0.7.2 to 0.8.0.
- [Release notes](https://github.com/zerodevx/svelte-toast/releases)
- [Commits](https://github.com/zerodevx/svelte-toast/compare/v0.7.2...v0.8.0)

---
updated-dependencies:
- dependency-name: "@zerodevx/svelte-toast"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 19:39:34 +00:00
dependabot[bot]
21df74e6af chore(deps-dev): bump postcss from 8.4.17 to 8.4.18 in /frontend (#765)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.17 to 8.4.18.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.17...8.4.18)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 19:28:47 +00:00
dependabot[bot]
a26be3f137 chore(deps): bump magic-crypt from 3.1.10 to 3.1.12 in /backend (#762)
Bumps [magic-crypt](https://github.com/magiclen/rust-magiccrypt) from 3.1.10 to 3.1.12.
- [Release notes](https://github.com/magiclen/rust-magiccrypt/releases)
- [Commits](https://github.com/magiclen/rust-magiccrypt/compare/v3.1.10...v3.1.12)

---
updated-dependencies:
- dependency-name: magic-crypt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 19:12:52 +00:00
dependabot[bot]
a413c54b0e chore(deps-dev): bump @typescript-eslint/parser in /frontend (#759)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.40.0 to 5.40.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.40.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 18:55:16 +00:00
dependabot[bot]
49d2fd2cff chore(deps): bump swc_ecma_parser from 0.122.7 to 0.122.13 in /backend (#758)
Bumps [swc_ecma_parser](https://github.com/swc-project/swc) from 0.122.7 to 0.122.13.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 18:46:00 +00:00
dependabot[bot]
f3eda5023b chore(deps): bump monaco-editor from 0.34.0 to 0.34.1 in /frontend (#757)
Bumps [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.34.0 to 0.34.1.
- [Release notes](https://github.com/microsoft/monaco-editor/releases)
- [Changelog](https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/microsoft/monaco-editor/commits)

---
updated-dependencies:
- dependency-name: monaco-editor
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 18:37:02 +00:00
dependabot[bot]
6fdc407cca chore(deps-dev): bump @playwright/test in /frontend (#756)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.27.0...v1.27.1)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 18:36:44 +00:00
Ruben Fiszel
a5aad947e6 feat(backend): add branch all (#751)
* feat(backend): add branch all

* progress

* all
2022-10-17 17:31:31 +02:00
Ádám Kovács
9edb8a8e1c fix(frontend): Style fix (#755) 2022-10-17 17:22:09 +02:00
Ádám Kovács
582fc9a2ed feat(frontend): Update workspace selector (#754) 2022-10-17 17:17:31 +02:00
Ádám Kovács
99e60b1b74 fix(frontend): Fix text styling (#753) 2022-10-17 16:25:32 +02:00
Ádám Kovács
8a774e0d04 feat(frontend): Update split panes (#741) 2022-10-17 15:43:31 +02:00
Ruben Fiszel
9e0c2d759b feat: InProgress forloop_jobs -> flow_jobs to unify with branchAll 2022-10-16 16:04:24 +02:00
Ruben Fiszel
b1805699c9 feat(backend): rework forloop flow job arg passing + reimplement branchone using flows 2022-10-16 15:56:41 +02:00
Ruben Fiszel
b1a309b81d chore(main): release 1.38.5 (#745)
* chore(main): release 1.38.5

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-15 18:37:41 +02:00
Ruben Fiszel
bb1750fd6d fix(deno-client): use proper base url 2022-10-15 18:34:07 +02:00
Ruben Fiszel
eb589db8c5 chore(main): release 1.38.4 (#744)
* chore(main): release 1.38.4

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-15 18:27:04 +02:00
Ruben Fiszel
350d31fe06 fix: refactor deno client to use another openapi generator #743 2022-10-15 18:25:26 +02:00
Ruben Fiszel
6f629fc320 add rawscript as unique enum type on openflow 2022-10-15 16:37:18 +02:00
Jakub Kołodziejczak
ed108de1b9 chore(backend): allow disabling nsjail for unit tests (#742)
UC: as a developer I want to be able to test code w/o nsjail

bug: flaky test `test_go_job`
```
running 1 test
test worker::tests::test_go_job ... FAILED

failures:

---- worker::tests::test_go_job stdout ----
received killpill for worker 0
thread 'worker::tests::test_go_job' panicked at 'assertion failed: `(left == right)`
  left: `Object {"error": String("Error during execution of the script:\n\ngo: error obtaining buildID for go tool compile: pipe2: too many open files\ngo: error obtaining buildID for go tool compile: pipe2: too many open files\ngo: error obtaining buildID for go tool compile: pipe2: too many open files")}`,
 right: `String("hello world")`', src/worker.rs:2434:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

workaround: disable nsjail
2022-10-15 16:08:05 +02:00
Ruben Fiszel
a2050d3edd chore(main): release 1.38.3 (#740)
* chore(main): release 1.38.3

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-15 11:35:49 +02:00
Ruben Fiszel
8d37e40fce fix(go-client): go-client README 2022-10-15 11:23:10 +02:00
Ruben Fiszel
b27e660365 chore(main): release 1.38.2 (#737) 2022-10-15 11:19:42 +02:00
Ruben Fiszel
fffcb5ec2a fix(go-client): improve go-client variable and resource handling 2022-10-15 11:18:17 +02:00
Ruben Fiszel
1f7ef3006f fix(go-client): return error 2022-10-15 10:29:01 +02:00
Jakub Kołodziejczak
e4cd931ab5 fix(python-client): provide backwards compatibility down to python3.7 (#738) (#739)
this reverts b46d0ff11d introducing
alternative way of avoiding bug described in
https://github.com/windmill-labs/windmill/issues/736#issuecomment-1279679730

the improvement here is that we're able to support more python versions
now
2022-10-15 10:27:07 +02:00
Jakub Kołodziejczak
b46d0ff11d chore(python-client): update minimal python version (#738) 2022-10-15 09:42:19 +02:00
Ruben Fiszel
467ff105db fix(go-client): improve go-client error handling 2022-10-15 09:08:13 +02:00
Ruben Fiszel
8783cfcddf add apache 2.0 to go client 2022-10-15 09:02:34 +02:00
Ruben Fiszel
45484b327a chore(main): release 1.38.1 (#734)
* chore(main): release 1.38.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-15 08:49:34 +02:00
Ruben Fiszel
afefe1603d fix(python-client): not publishinf windmill-api 2022-10-15 08:48:54 +02:00
Ruben Fiszel
9d38d66d2b fix(go-client): pass bearer token to requests 2022-10-14 20:35:19 +02:00
Ruben Fiszel
be0c434349 go client ci deployment 2022-10-14 20:24:22 +02:00
Ruben Fiszel
ef904aa9d0 chore(main): release 1.38.0 (#700)
* chore(main): release 1.38.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-14 20:06:04 +02:00
Ruben Fiszel
d354746e65 go client v0 2022-10-14 19:45:16 +02:00
Ruben Fiszel
c3e705318c go client v0 2022-10-14 17:06:42 +02:00
Ruben Fiszel
64014f1795 remove some frontend warnings 2022-10-14 16:32:15 +02:00
Ruben Fiszel
5707dfe4f1 add go-client mvp + stabilize openapi (#732) 2022-10-14 16:26:51 +02:00
Ruben Fiszel
af8a4216f8 fix(deno): approval endpoints generator (#728) 2022-10-14 09:17:27 +02:00
Ádám Kovács
2e21fb43d5 fix(frontend): Update skeleton animation timings (#730) 2022-10-13 16:09:40 +02:00
Ádám Kovács
2c1cd7eea8 feat(frontend): Typography update (#725)
* feat(frontend): Add new font face

* feat(frontend): Typography update

* fix(frontend): Import Inter font

* fix(frontend): Font fixes

* fix(front): Fix spacing and font inconsistencies

* fix(frontend): Visual changes and fixes

* fix(frontend): Minor visual fixes

* fix(frontend): Remove comment
2022-10-13 14:04:26 +02:00
Ruben Fiszel
444750d594 improve supercache 2022-10-13 03:04:55 +02:00
Ruben Fiszel
db6132ef15 remove spurrious missing editorService alert 2022-10-13 03:02:33 +02:00
Ruben Fiszel
938c153c03 optimize mainargsignature inference 2022-10-13 02:51:05 +02:00
Ruben Fiszel
b7ae6b139a optimize mainargsignature inference 2022-10-13 02:41:24 +02:00
Ruben Fiszel
0cf9f0c8e2 improve supercache 2022-10-13 01:23:08 +02:00
Ruben Fiszel
c1cc60045a improve supercache 2022-10-13 00:47:00 +02:00
Ruben Fiszel
d116218a0e improve supercache 2022-10-13 00:15:21 +02:00
Ruben Fiszel
889965feb3 fix supercache in presence of other deps 2022-10-12 23:28:50 +02:00
Ruben Fiszel
5425a4a7bd fix reload schema before testing 2022-10-12 23:24:20 +02:00
Jakub Kołodziejczak
7e35d9989a feat(backend): supercache for python heavy dependencies in alpha 2022-10-12 23:02:27 +02:00
Ruben Fiszel
2cc0fe7bd7 fix handle shared path not existing because job was resumed on another worker 2022-10-12 20:09:07 +02:00
Ruben Fiszel
1438898617 fix suspend + sleep with same worker 2022-10-12 15:56:15 +02:00
Faton Ramadani
ca991d0fa1 fix(frontend): remove flowbite svelte dependency from shared Badge (#722) 2022-10-12 10:03:48 +02:00
Ruben Fiszel
ff7fb0f6f3 feat: secure suspended resume event + configurable timeout (#721)
* fix suspend count for early message + delete resume_job

* all

* done everything

* done everything
2022-10-11 22:55:14 +02:00
Ádám Kovács
9acee22b1f feat(frontend): Loading placeholder (#707)
* feat(frontend): Add skeleton component

* feat(frontend): Add loading to script page

* fix(frontend): Fix skeleton positioning

* feat(frontend): Remove static content from loading

* feat(frontend): Add loading to the main pages

* fix(frontend): Use skeleton directive on leaf node

* fix(frontend): Skeleton alignment

* fix(front): Replace skeleton directive with class
2022-10-11 15:38:50 +02:00
dependabot[bot]
dc91285aca chore(deps-dev): bump @typescript-eslint/parser in /frontend (#720)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.39.0 to 5.40.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.40.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 20:41:26 +00:00
dependabot[bot]
aa30b35bb7 chore(deps-dev): bump flowbite-svelte from 0.27.5 to 0.27.6 in /frontend (#719)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.27.5 to 0.27.6.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.27.5...v0.27.6)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 20:34:21 +00:00
dependabot[bot]
3fcc05eefe chore(deps): bump swc_ecma_parser from 0.122.5 to 0.122.7 in /backend (#718)
Bumps [swc_ecma_parser](https://github.com/swc-project/swc) from 0.122.5 to 0.122.7.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 20:14:09 +00:00
dependabot[bot]
56322d4863 chore(deps-dev): bump prettier-plugin-svelte in /frontend (#711)
Bumps [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/sveltejs/prettier-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/prettier-plugin-svelte/commits)

---
updated-dependencies:
- dependency-name: prettier-plugin-svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:57:41 +00:00
dependabot[bot]
a75dd232b4 chore(deps-dev): bump svelte2tsx from 0.5.19 to 0.5.20 in /frontend (#717)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.19 to 0.5.20.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.19...svelte2tsx-0.5.20)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:52:51 +00:00
dependabot[bot]
8c3d55f663 chore(deps-dev): bump svelte-check from 2.9.1 to 2.9.2 in /frontend (#713)
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 2.9.1 to 2.9.2.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check-2.9.1...svelte-check-2.9.2)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:52:27 +00:00
dependabot[bot]
c109bb747d chore(deps): bump serde_json from 1.0.85 to 1.0.86 in /backend (#715)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.85 to 1.0.86.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.85...v1.0.86)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:41:52 +00:00
dependabot[bot]
a5303ad9f8 chore(deps): bump swc_common from 0.29.4 to 0.29.5 in /backend (#714)
Bumps [swc_common](https://github.com/swc-project/swc) from 0.29.4 to 0.29.5.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:33:10 +00:00
dependabot[bot]
4fcb11ee4a chore(deps): bump deno_core from 0.153.0 to 0.154.0 in /backend (#712)
Bumps [deno_core](https://github.com/denoland/deno) from 0.153.0 to 0.154.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:24:30 +00:00
dependabot[bot]
e4170f23ab chore(deps): bump tracing from 0.1.36 to 0.1.37 in /backend (#710)
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.36 to 0.1.37.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.36...tracing-0.1.37)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:15:46 +00:00
dependabot[bot]
6b97bf63b1 chore(deps): bump uuid from 1.1.2 to 1.2.1 in /backend (#709)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.1.2 to 1.2.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:07:04 +00:00
dependabot[bot]
1c5e6626fc chore(deps-dev): bump svelte from 3.50.1 to 3.51.0 in /frontend (#708)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.50.1 to 3.51.0.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.50.1...v3.51.0)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 18:57:41 +00:00
Ruben Fiszel
c7dfd0ebc4 fix suspend count for early message + delete resume_job 2022-10-10 20:17:49 +02:00
Ruben Fiszel
f6e794cc5f add failed_jobs to retrystatus 2022-10-10 13:41:07 +02:00
Ruben Fiszel
e6cad4df7b specify branch_chosen in openflow 2022-10-10 12:59:16 +02:00
Ádám Kovács
8be31d608b fix(frontend): Apply small text size to hljs (#706) 2022-10-10 10:13:19 +02:00
Ruben Fiszel
ea7fb20e70 remove third screenshot 2022-10-10 00:40:08 +02:00
Ruben Fiszel
c356c3f9bc change second screenshot 2022-10-10 00:15:08 +02:00
Ruben Fiszel
88be6eba39 change first screenshot 2022-10-10 00:13:04 +02:00
Ruben Fiszel
9d062d6cfb change README banner 2022-10-10 00:10:30 +02:00
Ruben Fiszel
721bcc84a3 change favicon logo 2022-10-09 23:43:05 +02:00
Ruben Fiszel
cc07a6b7e4 feat(backend): implement new OpenFlow module Branches (#692)
* branches

* iterate

* branches

* progress

* progress

* progress

* done

* adapt frontend

* adapt frontend

* sqlx
2022-10-09 23:12:05 +02:00
Ruben Fiszel
7bdbfec71a feat: support struct in Go as script parameters #705 2022-10-08 20:03:08 +02:00
Ruben Fiszel
c5b66ac26d remove spurrious log 2022-10-08 15:25:17 +02:00
Ruben Fiszel
e840522822 fix(frontend): fix viewscript for go 2022-10-08 15:23:13 +02:00
Ruben Fiszel
e5fdbff8ec fix(frontend): do not alert on non internal nav for unconfirmed saves 2022-10-08 15:19:04 +02:00
Ruben Fiszel
24a2932a7b fix(frontend): do not alert on non internal nav for unconfirmed saves 2022-10-08 15:17:41 +02:00
dependabot[bot]
5d07db8a74 chore(deps-dev): bump eslint from 8.24.0 to 8.25.0 in /frontend (#704)
Bumps [eslint](https://github.com/eslint/eslint) from 8.24.0 to 8.25.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.24.0...v8.25.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-08 12:38:30 +00:00
Ruben Fiszel
b99cb2e299 improve error messages 2022-10-08 14:36:21 +02:00
dependabot[bot]
06ee6d0fa2 chore(deps-dev): bump @types/vscode from 1.71.0 to 1.72.0 in /frontend (#702)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.71.0 to 1.72.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-08 12:31:10 +00:00
dependabot[bot]
6414b77e5c chore(deps-dev): bump @playwright/test in /frontend (#701)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.26.1...v1.27.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-08 12:30:59 +00:00
Ruben Fiszel
3f8f0eb878 improve error messages 2022-10-08 14:22:34 +02:00
Ruben Fiszel
5327816c50 fix release 2022-10-08 14:05:35 +02:00
Ruben Fiszel
154796cdb6 fix(frontend): go websockets 2022-10-08 13:41:29 +02:00
Ruben Fiszel
7db57d2f17 chore(main): release 1.37.0 (#659)
* chore(main): release 1.37.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-08 13:32:28 +02:00
Ádám Kovács
911e6c32d6 fix(frontend): Change button click propagation (#690)
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-10-08 13:31:32 +02:00
github-actions[bot]
e66522d266 sync hub items with community (#698)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-08 13:29:31 +02:00
Ruben Fiszel
6cb3fbc8b7 feat: add go LSP (#699)
* lsp

* progress

* 1.36.0
2022-10-08 13:28:46 +02:00
Ruben Fiszel
941068e551 1.36.0 2022-10-08 13:26:11 +02:00
Ruben Fiszel
d4dfb4f050 progress 2022-10-08 13:25:26 +02:00
Ruben Fiszel
ac09681d49 lsp 2022-10-08 13:25:07 +02:00
Ruben Fiszel
6ebedfc5fb feat(backend): separate properly logs from result 2022-10-07 19:54:44 +02:00
Ruben Fiszel
22c4a3b375 fix(backend): go lock dependency with no requirements 2022-10-07 16:11:45 +02:00
Faton Ramadani
e424b6b9b9 fix(frontend): Remove legacy tabs (#695) 2022-10-07 11:30:31 +02:00
Faton Ramadani
b59d1f8717 fix(frontend): Align Settings button + add missing suspend shortcut (#694)
* fix(frontend): Align Settings button + add missing suspend shortcut + Disable up to when the error handler is selected
2022-10-07 10:16:15 +02:00
Ruben Fiszel
a08436622b feat: sleep for arbitrary number of seconds statically or with a javascript expression (#691)
* progress

* progress

* fix serde

* fix frontend

* fix frontend
2022-10-07 04:09:32 +02:00
Ruben Fiszel
feb5aadcc3 only stop wait on child on ok changes values 2022-10-06 23:37:10 +02:00
Ruben Fiszel
8accb59a8c fix: get info about kill reason 2022-10-06 23:25:49 +02:00
Ruben Fiszel
b31e72a620 fix: get info about kill reason 2022-10-06 23:15:27 +02:00
Ruben Fiszel
065dcc9196 fix(frontend): clear interval on job run 2022-10-06 22:47:40 +02:00
Ruben Fiszel
2c5b32bdb7 fix(backend): same_worker uses the same folder even within loops 2022-10-06 21:39:07 +02:00
Ruben Fiszel
058658296a fix flowstatusviewer in case jobResult is not defined yet 2022-10-06 17:47:27 +02:00
Ádám Kovács
fcb1c39d96 feat(frontend): Button with popup (#639)
* feat(frontend): Add ButtonPopup component
2022-10-06 14:18:42 +02:00
Ruben Fiszel
1b2994ac8a add GOMEMLIMIT to 2Gb 2022-10-06 05:13:06 +02:00
Ruben Fiszel
f4caa4ffa6 feat: implement same_worker openflow attribute for running flow all in one go + sharing folder /shared (#689)
* init

* progress

* all

* sqlx

* remove unecessary test

* done

* frontend

* frontend
2022-10-06 04:59:09 +02:00
Ruben Fiszel
5d3c9665e0 hotfix button to save variable disappeared 2022-10-05 18:18:20 +02:00
dependabot[bot]
c8c0daffe3 chore(deps-dev): bump autoprefixer from 10.4.11 to 10.4.12 in /frontend (#683)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.11 to 10.4.12.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.11...10.4.12)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-05 02:33:33 +00:00
dependabot[bot]
36b636c7d1 chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#686)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.43 to 1.0.0-next.44.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.44/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-05 02:28:25 +00:00
dependabot[bot]
64da0f3431 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#682)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.38.0 to 5.39.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.39.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-05 02:17:53 +00:00
dependabot[bot]
3086273ab9 chore(deps-dev): bump svelte2tsx from 0.5.18 to 0.5.19 in /frontend (#679)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.18 to 0.5.19.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.18...svelte2tsx-0.5.19)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-05 02:08:32 +00:00
Ruben Fiszel
1fa6d915f4 chore(deps): backend update 2022-10-05 03:44:33 +02:00
Ádám Kovács
4e472f5a39 feat(frontend): Add action bar to run details (#684)
* feat(frontend): Add action bar to run details
2022-10-04 17:00:24 +02:00
Ruben Fiszel
91ce66e7fe spurrious printlns 2022-10-04 14:44:56 +02:00
Ruben Fiszel
ce0a410823 fix: only display error handler span if toggled on 2022-10-04 14:38:10 +02:00
Ruben Fiszel
b1b418a362 feat(frontend): add input transforms for flow loop 2022-10-04 14:34:55 +02:00
Ruben Fiszel
c207745fa7 feat: individual retry + flow UX refactor 2022-10-04 08:41:21 +02:00
Ruben Fiszel
e385eb54af progress 2022-10-04 08:40:01 +02:00
Ruben Fiszel
6b5002ec5e progress 2022-10-04 08:40:01 +02:00
Ruben Fiszel
33f17b207e progress 2022-10-04 08:40:01 +02:00
Ruben Fiszel
79636e6d86 progress 2022-10-04 08:40:01 +02:00
dependabot[bot]
be0ec3f21b chore(deps-dev): bump postcss from 8.4.16 to 8.4.17 in /frontend (#675)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.16 to 8.4.17.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.16...8.4.17)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 19:48:22 +00:00
dependabot[bot]
4d1ca4ec5c chore(deps-dev): bump svelte-check from 2.9.0 to 2.9.1 in /frontend (#678)
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 2.9.0 to 2.9.1.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check-2.9.0...svelte-check-2.9.1)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 19:43:05 +00:00
dependabot[bot]
0831135ef5 chore(deps): bump unicode-general-category in /backend (#677)
Bumps [unicode-general-category](https://github.com/yeslogic/unicode-general-category) from 0.5.1 to 0.6.0.
- [Release notes](https://github.com/yeslogic/unicode-general-category/releases)
- [Commits](https://github.com/yeslogic/unicode-general-category/compare/0.5.1...0.6.0)

---
updated-dependencies:
- dependency-name: unicode-general-category
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 19:34:41 +00:00
dependabot[bot]
1068cdbb94 chore(deps): bump deno_core from 0.151.0 to 0.153.0 in /backend (#676)
Bumps [deno_core](https://github.com/denoland/deno) from 0.151.0 to 0.153.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 19:24:09 +00:00
dependabot[bot]
62ee238d8f chore(deps-dev): bump @playwright/test in /frontend (#674)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.25.2 to 1.26.1.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.25.2...v1.26.1)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 19:14:18 +00:00
dependabot[bot]
49c5a0d399 chore(deps-dev): bump flowbite-svelte in /frontend (#673)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.26.25 to 0.27.5.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.26.25...v0.27.5)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 19:08:41 +00:00
dependabot[bot]
f0af9cdec6 chore(deps): bump tokio from 1.21.1 to 1.21.2 in /backend (#672)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.21.1 to 1.21.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.21.1...tokio-1.21.2)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 19:03:53 +00:00
dependabot[bot]
d4cc74b213 chore(deps): bump serde from 1.0.144 to 1.0.145 in /backend (#669)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.144 to 1.0.145.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 18:54:00 +00:00
dependabot[bot]
2a03d64448 chore(deps-dev): bump eslint from 8.23.1 to 8.24.0 in /frontend (#667)
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.1 to 8.24.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.1...v8.24.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 18:39:16 +00:00
dependabot[bot]
e47a9174ca chore(deps-dev): bump prettier-plugin-svelte in /frontend (#666)
Bumps [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/sveltejs/prettier-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/prettier-plugin-svelte/commits)

---
updated-dependencies:
- dependency-name: prettier-plugin-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 18:36:53 +00:00
dependabot[bot]
803b94f36c chore(deps-dev): bump typescript from 4.8.3 to 4.8.4 in /frontend (#665)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.3 to 4.8.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.3...v4.8.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 18:33:55 +00:00
dependabot[bot]
561d7da1f3 chore(deps): bump dependabot/fetch-metadata from 1.3.3 to 1.3.4 (#664)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.3 to 1.3.4.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.3...v1.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-03 18:31:29 +00:00
Faton Ramadani
0e23d2d604 feat(frontend): Discard changes confirmation modal (#653)
* feat(front): add a confirmation modal to discard unsaved changes

* feat(front):Fix modal content

* feat(front): Revert code + add unsavedconfirmatiomodal to the flow builder

* feat(front): Use a store to store whether the content of an editor needs to be saved before leaving

* feat(front): Add cleanup + only display the warning when navigating elsewhere on the app

* feat(front): set dirty to false when saving

* feat(front): add keyboard binding to cancel or resume

* feat(front): Init dirtyStore to true when creating a flow/script

* feat(front): Explicit store initiliation

* feat(front): initilisation dirty status after loading a script/flow
2022-10-03 14:32:06 +02:00
Ádám Kovács
6a28b68dbf refactor(frontend): Tailwind refactor (#637)
* feat(frontend): Tailwind config migration
2022-10-03 11:27:58 +02:00
Ruben Fiszel
5d46496342 fix(frontend): split early stop + fix highlight code 2022-10-03 04:41:19 +02:00
Ruben Fiszel
e8f2d38f47 fix(frontend): split early stop + fix highlight code 2022-10-03 04:39:34 +02:00
Ruben Fiszel
895fe106f8 fix: add step to running badge in flow viewer 2022-10-03 04:01:55 +02:00
Ruben Fiszel
0a67d3fb87 fix: change command behavior for monacos 2022-10-03 03:54:18 +02:00
Ruben Fiszel
ad0ffb5eb6 feat(frontend): remove step 2 for flows 2022-10-03 02:53:57 +02:00
Ruben Fiszel
e772f0377e feat(frontend): prop picker for stop condition 2022-10-03 02:24:32 +02:00
Ruben Fiszel
0c25d80578 feat(frontend): add prop picker to iterator 2022-10-03 01:53:58 +02:00
Ruben Fiszel
ee15bd9a9d feat(frontend): add prop picker to iterator 2022-10-02 23:17:40 +02:00
Ruben Fiszel
84a6441b9a feat(frontend): add variables and resources to the prop picker 2022-10-02 22:42:11 +02:00
Ruben Fiszel
fa8566ec20 in the editor bar separate variable and contextual variable 2022-10-02 21:49:42 +02:00
Ruben Fiszel
89a27837af minor UI fixes 2022-10-02 21:35:07 +02:00
Ruben Fiszel
612f7272a9 feat(backend): add WM_BASE_URL 2022-10-02 18:53:05 +02:00
Ruben Fiszel
1263450a61 chore(main): release 1.36.0 (#521)
* chore(main): release 1.36.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-02 06:08:39 +02:00
Ruben Fiszel
473a3b6f2b fix go runner 2022-10-02 05:59:01 +02:00
Ruben Fiszel
6fe5b8d6b7 fix(backend): allow for now payload on resume GET 2022-10-02 05:14:36 +02:00
Ruben Fiszel
dca46f764b set code before running runCmdAction 2022-10-02 04:41:22 +02:00
Ruben Fiszel
6f767abec1 frontend use exact time in every case 2022-10-02 02:56:01 +02:00
Ruben Fiszel
945a750c6b fix(go): make lines align with appended code 2022-10-02 01:28:14 +02:00
Ruben Fiszel
eabd835807 fix(go): inner_main is in a separate file rather than wrapped 2022-10-02 01:22:33 +02:00
Ruben Fiszel
b9518d748e fix(frontend): variable editor now acceps including 3000 chars + show length 2022-10-01 23:32:04 +02:00
Ruben Fiszel
08edcb24ca fix(frontend): increase the default size of the log and result panel for the script editor 2022-10-01 23:19:02 +02:00
Ruben Fiszel
2e101a0c3b feat(frontend): rich renderer improvements 2022-10-01 22:59:49 +02:00
Ruben Fiszel
390529a862 minor UI fixes 2022-10-01 09:14:08 +02:00
Ruben Fiszel
d863b1ed90 feat(backend): add WM_FLOW_JOB_ID 2022-10-01 09:02:00 +02:00
github-actions[bot]
15a82748e4 sync hub items with community (#652)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-10-01 02:41:19 +02:00
Ruben Fiszel
eee7067074 fix(frontend): rework the error handler script picker 2022-10-01 00:22:41 +02:00
Jakub Kołodziejczak
6b6f1b407f fix(frontend): do only one request if job is completed [related to #649] (#651)
commit 9592c92f70 introduced a fix for an
issue described in #649. After mentioned fix frontend performs 2
requests instead of 1.

This fix can be considered as a vol.2 for #649
2022-09-30 23:39:41 +02:00
Ruben Fiszel
edb97605ad minor UI fixes 2022-09-30 22:59:36 +02:00
Ruben Fiszel
946317eb8d minor UI fixes 2022-09-30 22:53:31 +02:00
Jakub Kołodziejczak
9592c92f70 fix(frontend): don't loop for completed jobs [#649] (#650)
closes #649
2022-09-30 22:46:56 +02:00
Ruben Fiszel
2fda377360 minor UI fixes 2022-09-30 17:15:43 +02:00
Ruben Fiszel
4fd100d9fe minor UI fixes 2022-09-30 16:49:01 +02:00
Faton Ramadani
bbaba142ac feat(front): Confirmation modal when deleting a resource or a variable (#648)
* feat(front): add confirmation modal when deleting a resource or a variable

* feat(front): add shift bypass

* feat(front): clear callbacks

* feat(front): Add alert to inform user can confirmation modals can be bypassed
2022-09-30 15:04:57 +02:00
Christian Paul
2a95576ddc wmill.getInternalState() needs to be awaited (#646) 2022-09-30 05:44:51 +02:00
Ruben Fiszel
e8e2efd9bc fix(frontend): various small fixes 2022-09-30 05:40:29 +02:00
Ruben Fiszel
cb5db64320 fix(frontend): various small fixes 2022-09-30 05:23:30 +02:00
Christian Paul
c813998e91 see result -> see the result (#643) 2022-09-30 00:05:41 +02:00
Ruben Fiszel
d394edf44f fix(frontend): various small fixes 2022-09-29 22:50:18 +02:00
Christian Paul
d8cd950952 No logs is available -> No logs are available (#642) 2022-09-29 19:58:43 +02:00
Mike
a494975e69 feat: add iterator expression tooltip (#638) 2022-09-29 14:51:41 +02:00
Ruben Fiszel
5406a70407 fix: change string default input behavior for input arg 2022-09-28 19:52:31 +02:00
Faton Ramadani
b0ac674f46 feat(front): Rework how summaries are edited in the flow editor (#632)
* feat(front): Rework how summaries are edited in the flow editor

* feat(front): add IconOnly mode, to better handle responsivness

* feat(front): Fix FlowModule summary input width

* feat(front): simplify summary placeholder

* feat(front): Fix minimap resizing issues + fix minimap delete
2022-09-28 19:31:24 +02:00
Ruben Fiszel
537ac2b7a0 simplify script editor code bindings 2022-09-28 19:16:05 +02:00
Faton Ramadani
876dc60610 feat(front): Add a confirmation modal (#634)
* feat(front): Add a confirmation modal

* feat(front): Simplify styles

* feat(front): Remove code duplication

* feat(front): Add shortcut + add Alert component
2022-09-28 16:30:54 +02:00
Ruben Fiszel
6f2b8caa02 hotfix uses index url arg 2022-09-28 10:13:42 +02:00
Faton Ramadani
77ef514029 fix(front): Fix wording issues (#633)
* fix(front): Fix wording issues
2022-09-28 07:26:18 +00:00
Ruben Fiszel
eaadad6143 hotfix trusted host for pip-compile 2022-09-28 09:17:08 +02:00
Ruben Fiszel
ae3f86db11 feat: add private registries pip (#636)
* add private registries pip

* add private registries pip

* fix

* fix

* fix

* echo parameters
2022-09-28 08:47:43 +02:00
Ruben Fiszel
c0a55bfdd4 fix(frontend): workers as the last menu link 2022-09-27 22:52:02 +02:00
Faton Ramadani
deb0b47a5f fix(frontend): Hide the editor panel when we are editing a PathScript (#631)
* fix(frontend): Hide the editor panel when we are editing a PathScript

* feat(front): Remove viewCode action and display the code in the Editor panel
2022-09-27 17:52:02 +02:00
Faton Ramadani
941fe7146e feat(frontend): Landing rework (#630)
* feat(frontend): Use common components on the landing pae

* feat(frontend): Use shared icon
2022-09-27 13:57:08 +02:00
Faton Ramadani
13cfed6d89 feat(frontend): Add contextual actions to insert variables or resources (#629)
* feat(frontend): Add actions to Monaco editor

* feat(frontend): Remove useless icon

* feat(front): Move addActions to editorBar
2022-09-27 13:55:46 +02:00
Ruben Fiszel
4e791b039d fix: prop picker values correspond to test values (#628)
* progress

* progress
2022-09-27 03:29:32 +02:00
Faton Ramadani
d2e5168222 fix(frontend): Fix buttons spacings (#627) 2022-09-26 19:23:39 +02:00
Faton Ramadani
025d31f843 feat(frontend): Add support for failure modules (#612)
* feature(frontend): Failure module

* feature(frontend): Fix wording + Remove advanced tab for failure modules + fix failure module test

* feature(frontend): Fix wording + add toggle in the mini map + stick component at the bottom

* feat(frontend): Add summary to failure module

* feat(frontend): Add support for Failure module in the FlowModuleViewer

* feat(frontend): Add support for FailureModule in the status viewer

* feat(frontend): Fix building issues
2022-09-26 18:36:15 +02:00
Ádám Kovács
b10b1cc90a feat(frontend): Script page action row (#626)
* feat(frontend): Update button component styles

* feat(frontend): Use button component

* fix(frontend): Re-export button types

* feat(frontend): Use action row in script page

* fix(frontend): Center the action row

* fix(frontend): Revert to previous event forwarding

* feature(frontend): Add action row to flow page

* fix(frontend): Restore button red color
2022-09-26 17:18:17 +02:00
Ruben Fiszel
ff9bd2fc63 fix logspanel for flow viewer 2022-09-26 04:59:35 +02:00
Ruben Fiszel
932cef73ee buildcache not on ghcr 2022-09-26 04:19:31 +02:00
Ruben Fiszel
19fd4a6fff try catch around monaco services 2022-09-26 04:14:21 +02:00
Ruben Fiszel
6097c26cdb try catch around monaco services 2022-09-26 04:02:27 +02:00
Ruben Fiszel
428e96ad2d initialize flow store correctly 2022-09-26 03:53:11 +02:00
Ruben Fiszel
b87a498087 do not restart flow as zombie job 2022-09-26 00:45:26 +02:00
Ruben Fiszel
25724e5f89 fix runform 2022-09-25 18:11:00 +02:00
Ruben Fiszel
4044edf8d6 refactor logs panel everywhere applicable (#625)
* init

* init

* progress

* progress

* refactor logs entirely

* fix sqlx
2022-09-25 18:03:51 +02:00
Ruben Fiszel
ba203b8674 fix cancel job 2022-09-25 17:49:11 +02:00
Ruben Fiszel
cf879fcecf fix cancel job 2022-09-25 17:13:03 +02:00
Ruben Fiszel
3a530c8566 fix cancel job 2022-09-25 16:36:32 +02:00
sqwishy
e7a6c1b99f reorganize handle_child (#606)
* reorganize handle_child

There were a couple issues with the current implementation:

1. When reading stdout and stderr from the child, as soon as we hit EOF
   on one we would stop reading from both (line 1420). This could lead
   to the return value not being read from the job program.

2. Lines read from stdout and stderr are put into a channel and read
   elsewhere with `rx.recv()` (line 1497) but that channel isn't read
   until empty.  It is only read in the `while !done.load(...)` (line
   1449) loop and that loop can stop after any `.store(true, ...)`.
   Which happens when the child exits, when the job is cancelled, when
   either stdout or stderr reach EOF...

   This can be verified by putting `dbg!(rx.recv().await)` or a similar
   assertion after the while loop before returning from that function.
   It shows the channel still containing log lines on rare occasions.

I was pretty careful in this to maintain the current behaviour; adding
comments to express intention.

One difference in this is that some regular intervals (cancel check and
ping update) should be more regular?

Before...

> at 00ms wait for 10ms
> at 10ms do things for 3ms
> at 13ms wait again for *10ms*
> at 23ms do things again ...

With change...

> at 00ms wait for 10ms
> at 10ms do things for 3ms
> at 13ms wait again but for *7ms*
> at 20ms do things again ...

Which I'm guessing is preferable but I could be wrong.

* renames; interpolate values in log messages

* do `append_logs()` in tokio::task

* tokio::time::interval & close pipe after limit

* clean up comments
2022-09-24 22:55:52 +02:00
sqwishy
e23e537328 update cron v0.12.0 (#623) 2022-09-24 21:18:36 +02:00
Ruben Fiszel
bcb113682f feat(frontend): merge logs and result tab in script editor (#622) 2022-09-23 16:20:47 +02:00
Ruben Fiszel
40160c03f1 fix(frontend): loading flows with for loops + flowStatusViewer treat single jobs properly 2022-09-23 13:28:02 +02:00
Faton Ramadani
2d0255824c feat(frontend): Extract publish to hub button (#620)
* feature(frontend): Extract publish to hub button

* feat(frontend): Extract Publish to hub button
2022-09-23 12:23:37 +02:00
Faton Ramadani
5146c37baf feat(frontend): Add a split panel in the test tab (#619) 2022-09-23 12:11:05 +02:00
Ádám Kovács
f4c8636209 feat(frontend): Badge component and script page (#617)
* fix(frontend): Consistent tooltip font size

* feature(frontend): Add new badge component

* feature(frontend): Add color type to badge

* feature(frontend): Add copy to clipboard utility

* feature(frontend): Update common badge component

* feature(frontend): Update badge to handle icons

* feature(frontend): Update script page design

* feat(frontend): Add capitalize option to badges

* fix(frontend): Fix shared badge text display
2022-09-23 12:10:15 +02:00
Faton Ramadani
e8e4199c5c feature(frontend): Button component (#616)
* feature(frontend): Button component

* feature(frontend): Ajust style
2022-09-22 13:25:17 +02:00
sqwishy
47fba21256 remove delay between spawning each worker (#614) 2022-09-21 21:05:19 -07:00
Ruben Fiszel
d71bca7443 fix flow UX and flowStateStore (#610)
* fix everything

* fix(frontend): Restore module deletion + restore for loop settings

* fix(frontend): Add missing focus on number inputs

* fix(frontend): Add key wrapper to make sure the editor content is reloaded

* fix(frontend): Fix mini-map spacing + add icon to schedule and retry buttons

Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
2022-09-21 11:37:33 +02:00
Ruben Fiszel
3fe1afce29 improve preview results v1 2022-09-21 02:48:30 +02:00
Ruben Fiszel
4224bc42fe fix connect button 2022-09-21 02:00:30 +02:00
Ruben Fiszel
5642e5c734 fix Advanced flow module buttons 2022-09-21 01:38:16 +02:00
Ruben Fiszel
10db37a029 fix focusProp 2022-09-21 00:55:50 +02:00
dependabot[bot]
2947bb3c95 chore(deps): bump anyhow from 1.0.64 to 1.0.65 in /backend (#600)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.64 to 1.0.65.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.64...1.0.65)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 22:06:10 +00:00
dependabot[bot]
b1513824df chore(deps): bump thiserror from 1.0.34 to 1.0.35 in /backend (#604)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.34 to 1.0.35.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.34...1.0.35)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 22:03:02 +00:00
Faton Ramadani
0f33c26d54 feature(frontend): Add support for retries for flows (#607)
* feature(frontend): Add support for retries for flows

* feature(frontend): Fix design issues
2022-09-21 00:00:39 +02:00
dependabot[bot]
9045bd647e chore(deps): bump swc_ecma_parser from 0.119.7 to 0.119.12 in /backend (#597)
Bumps [swc_ecma_parser](https://github.com/swc-project/swc) from 0.119.7 to 0.119.12.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 22:00:28 +00:00
Faton Ramadani
9ef6663dc5 feature(frontend): Prop picker panel (#605)
* feature(frontend): WIP Prop picker v2

* feature(frontend): add PropPicker context

* feature(frontend): prop picker working

* feature(frontend): restore connect button

* feature(frontend): Fix wording + fix height to avoid content shift

* feature(frontend): Fix upTo preview + adapt style

* feature(frontend): Preview results cleanup

* feature(frontend): Remove test logs

* feature(frontend): Revert wrong changes

* feature(frontend): Restore shared preview args

* feature(frontend): Reduce ObjectViewer font size + remove useless space

* feature(frontend): Wording

* feature(frontend): Fix Split panel scrolling issues
2022-09-20 23:59:48 +02:00
dependabot[bot]
17e480f3be chore(deps): bump swc_common from 0.28.7 to 0.28.8 in /backend (#601)
Bumps [swc_common](https://github.com/swc-project/swc) from 0.28.7 to 0.28.8.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 21:05:54 +00:00
dependabot[bot]
afa24ab100 chore(deps): bump itertools from 0.10.3 to 0.10.4 in /backend (#592)
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.3 to 0.10.4.
- [Release notes](https://github.com/rust-itertools/itertools/releases)
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.3...v0.10.4)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 20:39:40 +00:00
dependabot[bot]
ad29df6ffa chore(deps): bump swc_ecma_ast from 0.91.3 to 0.91.7 in /backend (#599)
Bumps [swc_ecma_ast](https://github.com/swc-project/swc) from 0.91.3 to 0.91.7.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_ast
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 20:27:42 +00:00
dependabot[bot]
44f3b1abab chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#598)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.42 to 1.0.0-next.43.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.43/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 20:10:59 +00:00
dependabot[bot]
807d2f70e7 chore(deps-dev): bump autoprefixer from 10.4.9 to 10.4.11 in /frontend (#594)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.9 to 10.4.11.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.9...10.4.11)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 19:53:38 +00:00
dependabot[bot]
b90ff8928e chore(deps): bump swc_common from 0.28.3 to 0.28.7 in /backend (#593)
Bumps [swc_common](https://github.com/swc-project/swc) from 0.28.3 to 0.28.7.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 19:43:11 +00:00
dependabot[bot]
53e81b3cf7 chore(deps-dev): bump flowbite-svelte in /frontend (#591)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.26.18 to 0.26.25.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.26.18...v0.26.25)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 19:27:17 +00:00
dependabot[bot]
7f917fbcde chore(deps): bump deno_core from 0.150.0 to 0.151.0 in /backend (#590)
Bumps [deno_core](https://github.com/denoland/deno) from 0.150.0 to 0.151.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 19:18:05 +00:00
dependabot[bot]
af2e05b5af chore(deps): bump sqlx from 0.6.1 to 0.6.2 in /backend (#589)
Bumps [sqlx](https://github.com/launchbadge/sqlx) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/launchbadge/sqlx/releases)
- [Changelog](https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/launchbadge/sqlx/compare/v0.6.1...v0.6.2)

---
updated-dependencies:
- dependency-name: sqlx
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 19:06:04 +00:00
dependabot[bot]
b52e032d22 chore(deps-dev): bump svelte2tsx from 0.5.16 to 0.5.18 in /frontend (#588)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.16 to 0.5.18.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.16...svelte2tsx-0.5.18)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 18:53:29 +00:00
dependabot[bot]
cfa4d25716 chore(deps): bump tokio from 1.21.0 to 1.21.1 in /backend (#587)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.21.0 to 1.21.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.21.0...tokio-1.21.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 18:44:19 +00:00
dependabot[bot]
c46024f64e chore(deps-dev): bump @typescript-eslint/parser in /frontend (#586)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.37.0 to 5.38.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.38.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 18:31:22 +00:00
ex0ns
b78f2d1a91 feat(dev): setup devcontainer (#549)
Co-authored-by: ex0ns <ex0ns@protonmail.ch>
2022-09-19 16:58:22 +02:00
Ruben Fiszel
dfe473d2a0 fix logpanel ml 2022-09-19 08:59:14 +02:00
Ruben Fiszel
e1f54832fa more details on error handling job 2022-09-18 10:11:21 +02:00
Ruben Fiszel
56608f88d6 fix schema required added multiple times 2022-09-18 10:01:50 +02:00
Christian Paul
c8c806d776 Improve issue template: Bug Report (#582) 2022-09-18 09:52:50 +02:00
Faton Ramadani
a85302c1c3 fix(frontend): Support of suspend & stop expression + restore import/export menu (#580)
* feature(frontend): Various UI fix + restore removed features

* feature(frontend): WIP Prop picker panel

* feature(frontend): Advanced flow module tab

* feature(frontend): Add import/export flow menu

* feature(frontend): Remove summary edition + add a enable/disable button for suspend
2022-09-16 14:00:02 +02:00
Faton Ramadani
e2924d581e fix(frontend): Fix flow preview inputs display to avoid hiding results (#581) 2022-09-16 12:49:30 +02:00
Ruben Fiszel
a82f70a1bb fix flow status viewer 2022-09-15 22:24:44 +02:00
Ruben Fiszel
622ffe050c remove tooltip 2022-09-15 22:15:26 +02:00
sqwishy
126dd24c71 feat(backend): flow suspend resume (#522)
Flow observes `suspend` setting and will wait for resume messages sent for the job before continuing to the next step in a flow.

Adds endpoints under workspaces at `/jobs/<cancel|resume>/<job-uuid>` to either cancel or resume the job with a payload. For POST requests to the endpoint, payload is a JSON document. For GET requests to the endpoints, the payload is a base64url encoded JSON document as the value of the payload query parameter.
2022-09-14 11:46:57 -07:00
Ruben Fiszel
0b781f5411 add javascript worker 2022-09-14 12:51:16 +02:00
Faton Ramadani
9fa4d01e3b feat(frontend): Flow UX entire rework (#552)
* feature(frontend): Flow rework WIP

* feature(frontend): Right panel behavior done

* feature(frontend): Split panel working

* feature(frontend): Flows working

* feature(frontend): Add inputs + adapt style + remove duplicate library

* feature(frontend): remove old implementation

* feature(frontend): revert package-lock

* feature(frontend): revert old FlowBuilder component

* feature(frontend): Fix margins + add remove button on the minimap

* feature(frontend): Fix wording

* feature(frontend): add PR UI comments

* feature(frontend): Display the module title

* feature(frontend): Previews working

* feature(frontend): Fix schedule load + update

* feature(frontend): fix build

* feature(frontend): UI fix

* fix just this step

* feature(frontend): for loop iterator and skip failures

* just this step

* script helpers

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-09-14 12:34:51 +02:00
Ruben Fiszel
896a0ec2c5 update README 2022-09-14 01:39:06 +02:00
Ruben Fiszel
a8020b79d3 add golang-go 1.19 2022-09-14 01:07:05 +02:00
Ruben Fiszel
0765ed1767 add golang-go 1.19 2022-09-14 01:01:49 +02:00
Ruben Fiszel
d87c821588 add golang-go 1.19 2022-09-14 00:16:43 +02:00
Ruben Fiszel
39918a9bb1 feat: implement go support (#571)
* progress

* progress

* all in one

* frontend

* small nits

* go job test

* go.sum is optional

* add golang-go to backend test image

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-09-13 21:14:21 +02:00
Ruben Fiszel
110a25f6f8 fix: iterator input transform is made more generic (#524)
* fix: iterator expr is standardized with regular input transforms

* fix: iterator expr is standardized with regular input transforms

* v2
2022-09-13 20:11:00 +02:00
Ruben Fiszel
98a75b223d chore(deps): update icon deps 2022-09-13 11:24:20 +02:00
Ruben Fiszel
279a2d8994 chore(deps): update backend 2022-09-13 11:12:54 +02:00
dependabot[bot]
b7b17f0bad chore(deps-dev): bump @typescript-eslint/parser in /frontend (#576)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.36.2 to 5.37.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.37.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 07:48:18 +00:00
dependabot[bot]
8b5443cdd6 chore(deps-dev): bump flowbite-svelte in /frontend (#575)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.26.11 to 0.26.18.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.26.11...v0.26.18)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 07:43:20 +00:00
dependabot[bot]
7f4d216b2e chore(deps-dev): bump @playwright/test in /frontend (#574)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.25.1 to 1.25.2.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.25.1...v1.25.2)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 07:38:17 +00:00
dependabot[bot]
992397c119 chore(deps): bump monaco-languageclient from 3.0.1 to 4.0.0 in /frontend (#570)
Bumps [monaco-languageclient](https://github.com/TypeFox/monaco-languageclient/tree/HEAD/packages/client) from 3.0.1 to 4.0.0.
- [Release notes](https://github.com/TypeFox/monaco-languageclient/releases)
- [Changelog](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-languageclient/commits/HEAD/packages/client)

---
updated-dependencies:
- dependency-name: monaco-languageclient
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 09:33:02 +02:00
dependabot[bot]
9f06c710d2 chore(deps-dev): bump autoprefixer from 10.4.8 to 10.4.9 in /frontend (#573)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.8 to 10.4.9.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.8...10.4.9)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 07:30:31 +00:00
dependabot[bot]
51d35d58ab chore(deps): bump vscode-ws-jsonrpc from 1.0.2 to 2.0.0 in /frontend (#553)
Bumps [vscode-ws-jsonrpc](https://github.com/TypeFox/monaco-languageclient/tree/HEAD/packages/vscode-ws-jsonrpc) from 1.0.2 to 2.0.0.
- [Release notes](https://github.com/TypeFox/monaco-languageclient/releases)
- [Changelog](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/vscode-ws-jsonrpc/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-languageclient/commits/v2.0.0/packages/vscode-ws-jsonrpc)

---
updated-dependencies:
- dependency-name: vscode-ws-jsonrpc
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 09:12:23 +02:00
dependabot[bot]
0a7e29d233 chore(deps): bump monaco-editor-workers in /frontend (#569)
Bumps [monaco-editor-workers](https://github.com/TypeFox/monaco-components/tree/HEAD/packages/monaco-editor-workers) from 0.34.1 to 0.34.2.
- [Release notes](https://github.com/TypeFox/monaco-components/releases)
- [Changelog](https://github.com/TypeFox/monaco-components/blob/main/packages/monaco-editor-workers/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-components/commits/workers_0.34.2/packages/monaco-editor-workers)

---
updated-dependencies:
- dependency-name: monaco-editor-workers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 20:46:14 +00:00
dependabot[bot]
e62daa5a01 chore(deps-dev): bump eslint from 8.23.0 to 8.23.1 in /frontend (#568)
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.0 to 8.23.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.0...v8.23.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 20:27:24 +00:00
dependabot[bot]
7dee33c384 chore(deps-dev): bump svelte from 3.50.0 to 3.50.1 in /frontend (#565)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.50.0 to 3.50.1.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.50.0...v3.50.1)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 20:00:36 +00:00
dependabot[bot]
6d5a923ce7 chore(deps): bump deno_core from 0.149.0 to 0.150.0 in /backend (#560)
Bumps [deno_core](https://github.com/denoland/deno) from 0.149.0 to 0.150.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 19:41:19 +00:00
dependabot[bot]
164a454a6e chore(deps-dev): bump typescript from 4.8.2 to 4.8.3 in /frontend (#562)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.2 to 4.8.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.2...v4.8.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 19:23:07 +00:00
dependabot[bot]
30ed6c8218 chore(deps): bump swc_ecma_ast from 0.90.16 to 0.90.20 in /backend (#561)
Bumps [swc_ecma_ast](https://github.com/swc-project/swc) from 0.90.16 to 0.90.20.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_ast
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 19:17:08 +00:00
dependabot[bot]
851e243d64 chore(deps): bump url from 2.2.2 to 2.3.0 in /backend (#558)
Bumps [url](https://github.com/servo/rust-url) from 2.2.2 to 2.3.0.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.2.2...v2.3.0)

---
updated-dependencies:
- dependency-name: url
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 19:02:33 +00:00
dependabot[bot]
71fbbae7af chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#557)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.36.2 to 5.37.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.37.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 18:56:23 +00:00
dependabot[bot]
d939019143 chore(deps): bump swc_common from 0.27.13 to 0.27.16 in /backend (#554)
Bumps [swc_common](https://github.com/swc-project/swc) from 0.27.13 to 0.27.16.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 18:38:24 +00:00
ex0ns
6f09405c2d feat(job): run job by hash (#551)
It was possible to run them using a webhook, but not through an endpoint.
This PR aims to fix that so the user can target a specific version of
the script to run.
2022-09-11 16:39:48 +02:00
Ruben Fiszel
db11d28b31 replaceState on login 2022-09-10 13:25:12 +02:00
Christian Paul
894a4850df Typo: non archived verson -> non-archived version (#548) 2022-09-06 15:12:34 +02:00
dependabot[bot]
90158e0882 chore(deps-dev): bump svelte from 3.49.0 to 3.50.0 in /frontend (#541)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.49.0 to 3.50.0.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.49.0...v3.50.0)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 21:02:36 +00:00
dependabot[bot]
1e279464f1 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#547)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.35.1 to 5.36.2.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.36.2/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 20:56:38 +00:00
dependabot[bot]
e12f20c591 chore(deps-dev): bump flowbite from 1.5.2 to 1.5.3 in /frontend (#546)
Bumps [flowbite](https://github.com/themesberg/flowbite) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/themesberg/flowbite/releases)
- [Commits](https://github.com/themesberg/flowbite/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: flowbite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 20:50:31 +00:00
dependabot[bot]
3e44415da6 chore(deps-dev): bump svelte-popperjs from 1.3.1 to 1.3.2 in /frontend (#545)
Bumps [svelte-popperjs](https://github.com/bryanmylee/svelte-popperjs) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/bryanmylee/svelte-popperjs/releases)
- [Commits](https://github.com/bryanmylee/svelte-popperjs/compare/v.1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: svelte-popperjs
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 20:44:34 +00:00
dependabot[bot]
02278468f8 chore(deps-dev): bump flowbite-svelte in /frontend (#544)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.26.10 to 0.26.11.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.26.10...v0.26.11)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 20:38:21 +00:00
dependabot[bot]
a9d5b21811 chore(deps-dev): bump @tailwindcss/forms in /frontend (#538)
Bumps [@tailwindcss/forms](https://github.com/tailwindlabs/tailwindcss-forms) from 0.5.2 to 0.5.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss-forms/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-forms/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.2...v0.5.3)

---
updated-dependencies:
- dependency-name: "@tailwindcss/forms"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 20:31:56 +00:00
dependabot[bot]
025228a450 chore(deps-dev): bump @types/vscode from 1.70.0 to 1.71.0 in /frontend (#542)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.70.0 to 1.71.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 20:23:07 +00:00
dependabot[bot]
7d8ed54e44 chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#540)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.39 to 1.0.0-next.42.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.42/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 20:08:39 +00:00
dependabot[bot]
759562db93 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#535)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.35.1 to 5.36.2.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.36.2/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:53:20 +00:00
dependabot[bot]
52d157801a chore(deps): bump swc_ecma_parser from 0.118.3 to 0.118.6 in /backend (#537)
Bumps [swc_ecma_parser](https://github.com/swc-project/swc) from 0.118.3 to 0.118.6.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:50:26 +00:00
dependabot[bot]
8ce9c398a7 chore(deps): bump anyhow from 1.0.62 to 1.0.64 in /backend (#531)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.62 to 1.0.64.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.62...1.0.64)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:42:55 +00:00
dependabot[bot]
7e9045cadd chore(deps): bump thiserror from 1.0.32 to 1.0.34 in /backend (#536)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.32 to 1.0.34.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.32...1.0.34)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:34:43 +00:00
dependabot[bot]
34e6476e3a chore(deps-dev): bump flowbite-svelte in /frontend (#533)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.25.12 to 0.26.10.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.25.12...v0.26.10)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:25:28 +00:00
dependabot[bot]
d491709e7b chore(deps): bump swc_ecma_ast from 0.90.15 to 0.90.16 in /backend (#532)
Bumps [swc_ecma_ast](https://github.com/swc-project/swc) from 0.90.15 to 0.90.16.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_ast
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:19:53 +00:00
dependabot[bot]
aac1c449ab chore(deps): bump urlencoding from 2.1.0 to 2.1.2 in /backend (#530)
Bumps [urlencoding](https://github.com/kornelski/rust_urlencoding) from 2.1.0 to 2.1.2.
- [Release notes](https://github.com/kornelski/rust_urlencoding/releases)
- [Commits](https://github.com/kornelski/rust_urlencoding/commits/v2.1.2)

---
updated-dependencies:
- dependency-name: urlencoding
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:11:16 +00:00
dependabot[bot]
d0c1208022 chore(deps-dev): bump @tailwindcss/typography in /frontend (#529)
Bumps [@tailwindcss/typography](https://github.com/tailwindcss/typography) from 0.5.4 to 0.5.7.
- [Release notes](https://github.com/tailwindcss/typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindcss/typography/compare/v0.5.4...v0.5.7)

---
updated-dependencies:
- dependency-name: "@tailwindcss/typography"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 19:01:50 +00:00
dependabot[bot]
303023dde6 chore(deps): bump headers from 0.3.7 to 0.3.8 in /backend (#528)
Bumps [headers](https://github.com/hyperium/headers) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/hyperium/headers/releases)
- [Commits](https://github.com/hyperium/headers/compare/headers-v0.3.7...headers-v0.3.8)

---
updated-dependencies:
- dependency-name: headers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 18:58:09 +00:00
dependabot[bot]
49cf8c5264 chore(deps): bump deno_core from 0.148.0 to 0.149.0 in /backend (#527)
Bumps [deno_core](https://github.com/denoland/deno) from 0.148.0 to 0.149.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 18:52:23 +00:00
dependabot[bot]
85472fd176 chore(deps-dev): bump svelte2tsx from 0.5.15 to 0.5.16 in /frontend (#526)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.15 to 0.5.16.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.15...svelte2tsx-0.5.16)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-05 18:42:50 +00:00
Ruben Fiszel
e9abcffdd1 feat: is_trigger is just a type tag, soon to include failure and command (#523)
* script kind

* all

* init code flow

* kind: trigger

* kind: trigger
2022-09-05 09:55:04 +02:00
Ruben Fiszel
482dc808ae logs around fetching job 2022-09-04 13:30:48 +02:00
Ruben Fiszel
12e2a31776 logs around job execution contain job id 2022-09-04 13:11:43 +02:00
Ruben Fiszel
b6725dceca use local time for timeout 2022-09-04 13:05:39 +02:00
Ruben Fiszel
1bc12179c7 fix: last ping is set when the job is started avoiding erronous restart 2022-09-04 12:51:55 +02:00
Ruben Fiszel
dc11ba837a improve UI long schedule path handling 2022-09-04 00:42:33 +02:00
Ruben Fiszel
62c1f2028e fix audit log can accept username up to 255 2022-09-04 00:25:45 +02:00
Ruben Fiszel
4afde0a593 fix audit log can accept username up to 255 2022-09-04 00:07:55 +02:00
sqwishy
d69d002b82 flow step retry feature (#493)
* flow step retry feature

* comparison constant on right side for clarity

* raise high retry values when starting a flow

also renamed duration to interval to be more specific about the retry
interval/period between tries or attempts

* add flow retry to openflow openapi

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-09-03 20:38:31 +02:00
Ruben Fiszel
e8aec1c93a split editor and simple editor 2022-09-03 15:11:51 +02:00
Ruben Fiszel
0d72ab9306 inline gh icon 2022-09-02 20:30:06 +02:00
Ruben Fiszel
cea602c083 chore(main): release 1.35.0 (#457)
* chore(main): release 1.35.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-09-02 10:38:25 +02:00
Ruben Fiszel
a6ae531f00 update flow viewer 2022-09-02 09:40:06 +02:00
Ruben Fiszel
d9641b36ef skipped_if_stopped -> skip_if_stopped 2022-09-02 09:06:40 +02:00
Ruben Fiszel
cf7209bdb9 feat: clean openflow spec v1 (#491)
* clean api 2

* the rest

* clean tests

* stop_after_if test

* unbox `modules: Vec<FlowModule>` in `ForloopFlow`

* migrate

* initFlow stop_after_if_expr and skip_if_stopped

* s/migrateInitTransform/migrateFlowModule

I didn't read the name before... oops

* sql migration for openflow changes

* fix frontend migration code

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-09-02 01:26:39 +02:00
sqwishy
79b4c18c9a optional ro mount /etc/pki in nsjail (#519)
contents of /etc/ssl symlink to /etc/pki on my system (Fedora) so some
programs (like pip) fail without /etc/pki
2022-08-31 21:48:10 +02:00
Faton Ramadani
0deb31e6b6 fix(frontend): Make sure the schema is infered when the component is mounted (#520) 2022-08-31 21:29:56 +02:00
Faton Ramadani
a2265f7f41 feat(frontend): Script editor (#518)
* feat(frontend): Migrate Tabs

* feat(frontend): Generalise Menu

* feat(frontend): Menu component done

* feat(frontend): Fix placements

* feat(frontend): Rework component splitting

* feat(frontend): Clean unused imports

* feat(frontend): Script editor done

* feat(frontend): Code cleanup

* feat(frontend): Fix linting

* feat(frontend): Add running animation

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-08-31 18:50:36 +02:00
Faton Ramadani
6bb80b803d feat(frontend): Menu + Tab components (#517)
* feat(frontend): Migrate Tabs

* feat(frontend): Generalise Menu

* feat(frontend): Menu component done

* feat(frontend): Fix placements

* feat(frontend): Clean unused imports

* feat(frontend): Fix linting
2022-08-31 18:41:13 +02:00
dependabot[bot]
eeff85f362 chore(deps-dev): bump @playwright/test in /frontend (#515)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.25.0 to 1.25.1.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.25.0...v1.25.1)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 21:49:35 +00:00
dependabot[bot]
840d4fe249 chore(deps-dev): bump eslint from 8.22.0 to 8.23.0 in /frontend (#513)
Bumps [eslint](https://github.com/eslint/eslint) from 8.22.0 to 8.23.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.22.0...v8.23.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 21:43:45 +00:00
dependabot[bot]
fbd0e2d575 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#500)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.34.0 to 5.35.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.35.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 21:38:33 +00:00
dependabot[bot]
b3a0dbee4e chore(deps-dev): bump svelte-check from 2.8.1 to 2.9.0 in /frontend (#514)
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 2.8.1 to 2.9.0.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check-2.8.1...svelte-check-2.9.0)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 21:33:24 +00:00
dependabot[bot]
ffef6576a1 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#512)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.34.0 to 5.35.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.35.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 21:14:57 +00:00
dependabot[bot]
24c11f3e0b chore(deps): bump monaco-languageclient from 3.0.0 to 3.0.1 in /frontend (#510)
Bumps [monaco-languageclient](https://github.com/TypeFox/monaco-languageclient/tree/HEAD/packages/client) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/TypeFox/monaco-languageclient/releases)
- [Changelog](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-languageclient/commits/mlc-v3.0.1/packages/client)

---
updated-dependencies:
- dependency-name: monaco-languageclient
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 21:05:27 +00:00
dependabot[bot]
327dc807d0 chore(deps-dev): bump svelte2tsx from 0.5.14 to 0.5.15 in /frontend (#508)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.14 to 0.5.15.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.14...svelte2tsx-0.5.15)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 20:51:48 +00:00
dependabot[bot]
40da7d165c chore(deps-dev): bump svelte-heros from 2.3.3 to 2.3.5 in /frontend (#504)
Bumps [svelte-heros](https://github.com/shinokada/svelte-heros) from 2.3.3 to 2.3.5.
- [Release notes](https://github.com/shinokada/svelte-heros/releases)
- [Changelog](https://github.com/shinokada/svelte-heros/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shinokada/svelte-heros/compare/v2.3.3...v2.3.5)

---
updated-dependencies:
- dependency-name: svelte-heros
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 19:48:55 +00:00
dependabot[bot]
ca8ac7f182 chore(deps): bump time from 0.3.13 to 0.3.14 in /backend (#503)
Bumps [time](https://github.com/time-rs/time) from 0.3.13 to 0.3.14.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.13...v0.3.14)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 19:39:09 +00:00
dependabot[bot]
b8610c9002 chore(deps-dev): bump svelte-popperjs from 1.2.11 to 1.3.1 in /frontend (#502)
Bumps [svelte-popperjs](https://github.com/bryanmylee/svelte-popperjs) from 1.2.11 to 1.3.1.
- [Release notes](https://github.com/bryanmylee/svelte-popperjs/releases)
- [Commits](https://github.com/bryanmylee/svelte-popperjs/compare/v1.2.11...v.1.3.1)

---
updated-dependencies:
- dependency-name: svelte-popperjs
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 19:20:23 +00:00
dependabot[bot]
686eaadf30 chore(deps): bump futures from 0.3.23 to 0.3.24 in /backend (#501)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.23 to 0.3.24.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.23...0.3.24)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 19:10:34 +00:00
dependabot[bot]
ebad5f927a chore(deps): bump swc_ecma_parser from 0.118.0 to 0.118.3 in /backend (#499)
Bumps [swc_ecma_parser](https://github.com/swc-project/swc) from 0.118.0 to 0.118.3.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 18:56:00 +00:00
dependabot[bot]
3a59abf7d7 chore(deps): bump deno_core from 0.147.0 to 0.148.0 in /backend (#498)
Bumps [deno_core](https://github.com/denoland/deno) from 0.147.0 to 0.148.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 18:41:03 +00:00
dependabot[bot]
081a0400f7 chore(deps-dev): bump typescript from 4.7.4 to 4.8.2 in /frontend (#497)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.7.4 to 4.8.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.7.4...v4.8.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 18:25:43 +00:00
Ruben Fiszel
e203cb7a5c replaceState on logout and loading screen while loading user 2022-08-28 12:17:38 +02:00
Ruben Fiszel
319488d484 only load in audit logs all users if not demo 2022-08-26 18:13:09 +02:00
Faton Ramadani
d783b2f409 Sidebar rework (#490)
* feat(frontend): Add runs to landing page + fix responsive issues

* feat(frontend): Sidebar done

* feat(frontend): Align all pages to the new layout

* feat(frontend): Make scripts and flows box clickable

* feat(frontend): Revert the sidebar color

* feat(frontend): Restore missing workspace menu + fix minor UI issues
2022-08-26 17:15:27 +02:00
github-actions[bot]
5629179490 sync hub items with community (#488)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-25 16:54:00 +02:00
Ruben Fiszel
76f8165b82 pass language to completed job 2022-08-25 14:55:38 +02:00
Faton Ramadani
9b8f263319 feat(frontend): Add runs to landing page + fix responsive issues (#487) 2022-08-25 12:22:33 +02:00
Ruben Fiszel
3c25a703b5 set homepage as page on workspace selection 2022-08-24 23:41:59 +02:00
Faton Ramadani
5954789abb feat(frontend): App landing page (#486)
* feat(frontend): App landing page

* feat(frontend): Add link to documentation + adapt styles
2022-08-24 23:23:02 +02:00
Mike
0e4f7fb332 typo (#485) 2022-08-24 16:38:19 +02:00
Ruben Fiszel
9e44479d9d text-left on approved flows summary 2022-08-24 14:52:24 +02:00
Faton Ramadani
0ec77f2e6f fix(front): Simplfiy how the job's results are read (#483)
* fix(front): Simplfiy how the job's results are read

* fix(front): Remove useless store and compute flow state directly

* fix(front): Clear timeout + remove useless reactive statements + correctly handle prop changes
2022-08-24 10:31:19 +02:00
Faton Ramadani
4c1cb1d379 fix(front): Set run button state to done when all jobs are loaded (#482) 2022-08-24 00:39:52 +02:00
Ruben Fiszel
ed1d210d35 cancel flow on run 2022-08-23 23:01:26 +02:00
Ruben Fiszel
9da55f7f50 fix multiline arg 2022-08-23 22:55:18 +02:00
Faton Ramadani
538dc8f4c2 fix(front): Fix display (#481) 2022-08-23 22:52:42 +02:00
Faton Ramadani
25a6eec82c Merge branch 'main' of https://github.com/windmill-labs/windmill 2022-08-23 22:51:51 +02:00
Faton Ramadani
96e42dd0fd fix(front): Fix not found error + add timeout (#480) 2022-08-23 22:44:33 +02:00
Faton Ramadani
d8bb9dccff fix(front): Fix not found error + add timeout 2022-08-23 22:42:32 +02:00
Ruben Fiszel
92c67228ac make code injection works with multiline 2022-08-23 22:34:16 +02:00
Ruben Fiszel
2ffe03f6e7 fix click propagation on module header 2022-08-23 22:30:35 +02:00
Faton Ramadani
8a585c084a fix(front): Display all the logs (#479) 2022-08-23 22:21:26 +02:00
Faton Ramadani
ab994e6d42 fix(front): Display all the logs (#478) 2022-08-23 22:13:27 +02:00
Ruben Fiszel
6d25f94127 cancel flow on run 2022-08-23 22:08:52 +02:00
Ruben Fiszel
dba1678857 init args in flowpreviewcontent 2022-08-23 21:56:05 +02:00
Ruben Fiszel
ad723a12c6 fork from frontpage 2022-08-23 21:33:44 +02:00
Ruben Fiszel
74055b7a0f fork from frontpage 2022-08-23 21:26:59 +02:00
Ruben Fiszel
c5c4138983 fork from frontpage 2022-08-23 21:25:38 +02:00
Ruben Fiszel
cbbd41e6e2 fix loading flow 2022-08-23 21:14:39 +02:00
Ruben Fiszel
237c5fd53c fork scripts 2022-08-23 21:05:17 +02:00
Faton Ramadani
2153bbc4d1 Fix inline preview reload (#477)
* fix(front): Fix inline preview

* fix(front): Fix inline preview reload

* fix(front): Fix inline preview reload
2022-08-23 20:24:35 +02:00
Ruben Fiszel
d0c0a5a027 summary on flow modules 2022-08-23 20:23:15 +02:00
Faton Ramadani
cbe9676a1f fix(front): Fix inline preview (#476) 2022-08-23 20:10:08 +02:00
Faton Ramadani
34dd4bef12 fix(front): Fix scroll (#475) 2022-08-23 20:03:24 +02:00
Faton Ramadani
e58a8d5952 Flow preview UI (#474)
* feat(frontend): Rework Flow preview UI

* feat(frontend): Rework Flow done

* feat(frontend): Fix SchemaForm height

* feat(frontend): Clean up
2022-08-23 19:58:03 +02:00
Ruben Fiszel
f41c612288 frontend checks for username at frontend 2022-08-23 19:40:11 +02:00
Ruben Fiszel
cf60241348 fix runs page design 2022-08-23 16:28:24 +02:00
Mike
bd98cad5c7 fix: remove duplicate path (#473) 2022-08-23 15:59:32 +02:00
Ruben Fiszel
b8b1cc83ae list flow steps only on the tab 'all' 2022-08-23 15:18:44 +02:00
Ruben Fiszel
e7b9bace35 first pass on runs refactor 2022-08-23 02:11:01 +02:00
Lucas Lemanowicz
15cf33c217 Update docker-compose.yml (#472) 2022-08-22 23:51:52 +02:00
dependabot[bot]
81a17a2370 chore(deps-dev): bump flowbite-svelte in /frontend (#471)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.24.12 to 0.25.12.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.24.12...v0.25.12)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 20:39:32 +00:00
dependabot[bot]
53b5d58262 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#469)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.33.1 to 5.34.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.34.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 22:12:08 +02:00
dependabot[bot]
438b35d4ac chore(deps-dev): bump svelte2tsx from 0.5.13 to 0.5.14 in /frontend (#470)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.13 to 0.5.14.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.13...svelte2tsx-0.5.14)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 22:11:52 +02:00
Ruben Fiszel
40f753ec63 update monaco
rm new files
2022-08-22 22:08:06 +02:00
dependabot[bot]
5cbf626bd4 chore(deps-dev): bump svelte-check from 2.8.0 to 2.8.1 in /frontend (#466)
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check-2.8.0...svelte-check-2.8.1)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 19:59:07 +00:00
dependabot[bot]
9d2f55d4aa chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#464)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.33.1 to 5.34.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.34.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 19:53:15 +00:00
Ruben Fiszel
2257ea47e7 chore(deps): update backend 2022-08-22 21:23:09 +02:00
dependabot[bot]
c2eef9f2eb chore(deps): bump serde from 1.0.143 to 1.0.144 in /backend (#461)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.143 to 1.0.144.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.143...v1.0.144)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 19:18:48 +00:00
Ruben Fiszel
354c96373a approved scripts/flows UI nit 2022-08-22 21:14:49 +02:00
dependabot[bot]
82a8e20481 chore(deps): bump swc_common from 0.27.8 to 0.27.9 in /backend (#460)
Bumps [swc_common](https://github.com/swc-project/swc) from 0.27.8 to 0.27.9.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 19:01:37 +00:00
dependabot[bot]
beed0291fb chore(deps): bump monaco-editor-workers in /frontend (#459)
Bumps [monaco-editor-workers](https://github.com/TypeFox/monaco-components/tree/HEAD/packages/monaco-editor-workers) from 0.34.0 to 0.34.1.
- [Release notes](https://github.com/TypeFox/monaco-components/releases)
- [Changelog](https://github.com/TypeFox/monaco-components/blob/main/packages/monaco-editor-workers/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-components/commits/HEAD/packages/monaco-editor-workers)

---
updated-dependencies:
- dependency-name: monaco-editor-workers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 18:48:39 +00:00
dependabot[bot]
5a06a35e6c chore(deps): bump anyhow from 1.0.61 to 1.0.62 in /backend (#458)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.61 to 1.0.62.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.61...1.0.62)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 18:38:44 +00:00
Ruben Fiszel
9498975fee add base_url to DENO_AUTH_TOKENS 2022-08-22 02:47:44 +02:00
Ruben Fiszel
dce87d77d7 fix autowebsocket + update tooltip socket 2022-08-21 23:50:40 +02:00
Ruben Fiszel
35277160a6 feat: pass bearerToken as queryArg 2022-08-21 22:39:19 +02:00
Ruben Fiszel
fa46d88a60 chore(main): release 1.34.0 (#456)
* chore(main): release 1.34.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-21 22:09:23 +02:00
Ruben Fiszel
b9dfbfa2d8 feat: implicit types infered from default parameters 2022-08-21 22:01:24 +02:00
Ruben Fiszel
dabf912a5e patch(deno-client): phSql now returns list instead of objects by default 2022-08-21 17:31:01 +02:00
Ruben Fiszel
9fa0bffdd7 chore(main): release 1.33.0 (#455)
* chore(main): release 1.33.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-21 17:21:54 +02:00
Ruben Fiszel
1aa28c5599 feat: PostgreSQL parametrized statement handled as typescript template 2022-08-21 17:15:56 +02:00
Ruben Fiszel
52f01b782c patch(deno-client): export pgSql, pgClient from mod 2022-08-21 14:34:30 +02:00
Ruben Fiszel
affcfbde88 chore(main): release 1.32.0 (#444)
* chore(main): release 1.32.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-21 14:10:42 +02:00
Ruben Fiszel
da77d04094 fix: restart zombie jobs was restarting all jobs 2022-08-21 12:19:31 +02:00
Ruben Fiszel
1849cd8398 remove unecessary comment in worker 2022-08-21 12:10:03 +02:00
Ruben Fiszel
34e69bfe5d remove unecessary transaction in worker 2022-08-21 12:08:15 +02:00
Ruben Fiszel
1a552d1517 optimize python parsing + adding tests 2022-08-21 10:53:41 +02:00
Ruben Fiszel
c0e9cd0564 fix: cancel a flow now does the expected behavior 2022-08-20 19:23:43 +02:00
Ruben Fiszel
0cd814cfec fix(backend): clear_schedule only clear non running jobs 2022-08-20 19:14:16 +02:00
Ruben Fiszel
77a685144d fix(backend): started_at info for completed_job is no more completed_at 2022-08-20 17:06:13 +02:00
Ruben Fiszel
d99d4aaa92 optimize for python code having no imports 2022-08-20 16:21:04 +02:00
Ruben Fiszel
e38cec3b17 fix collection on forloops + increase number of tests 2022-08-20 16:08:11 +02:00
Ruben Fiszel
f73b86f2fe sqlx offline 2022-08-20 15:21:15 +02:00
Ruben Fiszel
00572668f1 feat: rely on PG time rather than worker time 2022-08-20 15:16:08 +02:00
Ruben Fiszel
7d76e69be9 fix(frontend): link to schedule in runs discriminate isFlows 2022-08-20 13:04:42 +02:00
Ruben Fiszel
15f7cadc3d fix(frontend): input checks refresh when schema change 2022-08-20 12:55:51 +02:00
Ruben Fiszel
d5e8147d57 fix import from json 2022-08-20 12:44:20 +02:00
Ruben Fiszel
5900a03c04 fix(deno-client): pg module now supports prepared statements 2022-08-20 12:03:03 +02:00
sqwishy
32d067f8c0 feat(backend): failure_module (#452)
* run failure_module

- renames FlowModule.input_transform to input_transforms
- parse_deno_signature prints source on failure instead of debug
  representation of AST

* s/should_continue_job/should_continue_flow
2022-08-19 20:18:07 +02:00
Sebastian Kurfürst
04a46a6978 docs: improve development getting started (#453) 2022-08-19 20:14:43 +02:00
sqwishy
bae85732ff fix(backend): fixes forloop with 257 items only iterates once (#446)
usize as u8 will mask out the higher bits, so 0x100 as u8 is 0x00, 0x101
is 0x01 and only iterates once, etc....

refactors push_next_flow_job a bit
2022-08-19 17:14:46 +02:00
Faton Ramadani
bc5a5688ce fix(frontend): simplify flow preview logic(#450) 2022-08-19 17:14:27 +02:00
Ruben Fiszel
68aaf3267c fix(deno-client): wrap the deno-postgres client and not the query statement 2022-08-19 13:26:35 +02:00
Ruben Fiszel
8c04558c4e pass BASE_INTERNAL_URL to the python process 2022-08-19 07:09:50 +02:00
Ruben Fiszel
ea6f3c037c pass BASE_INTERNAL_URL to the deno process 2022-08-19 07:02:10 +02:00
Ruben Fiszel
9f02ca8dec fix export to tarball 2022-08-19 00:55:38 +02:00
Ruben Fiszel
1f40c39fdb fix flowmodueheader path 2022-08-19 00:02:49 +02:00
Ruben Fiszel
e0e98520ec fix wmill imports for resource and var in deno 2022-08-18 22:38:03 +02:00
Ruben Fiszel
c2f616da0d use ts extension for private imports 2022-08-18 22:18:57 +02:00
Ruben Fiszel
a5343fa959 feat: private imports 2022-08-18 21:49:24 +02:00
Ruben Fiszel
451bddf015 fix behavior of disable nsjail and disable nuser 2022-08-18 17:22:16 +02:00
Ruben Fiszel
ae44a1ecc1 allow longer name for created_by 2022-08-18 15:01:17 +02:00
Christian Paul
ed43752de1 Changes to the Deno trigger script template (#448) 2022-08-18 14:20:33 +02:00
Ruben Fiszel
918f6dbc7c icon for paths 2022-08-18 13:46:12 +02:00
Ruben Fiszel
d73d2578f2 handle loading erronous code in flows 2022-08-18 13:26:52 +02:00
Ruben Fiszel
157dc5b501 update code binding in background to avoid stutter 2022-08-18 13:19:10 +02:00
Ruben Fiszel
248700b2c2 QoL path and editor improvements 2022-08-18 12:58:49 +02:00
Ruben Fiszel
79f15220d4 change default typescript 2022-08-18 09:43:11 +02:00
Ruben Fiszel
f9ea4eb475 change default typescript 2022-08-18 09:30:24 +02:00
Ruben Fiszel
404b95f3fe change default typescript 2022-08-18 09:28:25 +02:00
Ruben Fiszel
f79dccd221 change default typescript 2022-08-18 09:24:35 +02:00
Ruben Fiszel
a26af926a2 change sql editor to few lines editor 2022-08-18 00:05:46 +02:00
Ruben Fiszel
ae90c1cfed fix forloop empty no step afterward 2022-08-18 00:01:04 +02:00
Ruben Fiszel
27d122c43f fix prop picker key selection 2022-08-17 19:38:07 +02:00
Faton Ramadani
7e4aac9971 feat(frontend): Open/Close UI (#445)
* feat(frontend): Properly open/close and highlight a flowbox

* feat(frontend): Fix removing first step
2022-08-17 17:24:57 +02:00
Faton Ramadani
068147251c fix(frontend): Fix loops pickable properties (#441) 2022-08-17 16:53:41 +02:00
Ruben Fiszel
561e13e51e fix: handle 0 length for-loops in the backend (#440)
* wip

* TODO

* my fix works I think
2022-08-17 15:56:49 +02:00
Ruben Fiszel
395965555e fix postgresql new script reference 2022-08-17 13:54:28 +02:00
Ruben Fiszel
0eca495aa6 remove useless Scripts section in FlowInputs 2022-08-17 13:40:02 +02:00
Ruben Fiszel
6089439a8c disable trigger scripts except for step 0 2022-08-17 13:36:35 +02:00
Ruben Fiszel
7a6d8d38e2 fix loading empty path 2022-08-17 13:31:21 +02:00
Ruben Fiszel
b397527717 update postgresql query script 2022-08-17 13:04:53 +02:00
Ruben Fiszel
b2c2f29385 chore(main): release 1.31.0 (#405)
* chore(main): release 1.31.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-17 12:05:43 +02:00
Faton Ramadani
127b0b4e5e feat(frontend): Redesign of the Flow Editor + Arbitrary forloop 2022-08-17 12:03:38 +02:00
Ruben Fiszel
a64fa1054b add pgQuery to deno-client 2022-08-17 11:53:22 +02:00
Ruben Fiszel
40abf870c5 use app in hub path 2022-08-17 11:31:23 +02:00
Ruben Fiszel
8abf2b7e9d fix styling 2022-08-17 09:55:24 +02:00
Ruben Fiszel
3947d21129 fix styling 2022-08-17 09:36:09 +02:00
Ruben Fiszel
807f4b325a fix styling 2022-08-17 09:34:29 +02:00
Ruben Fiszel
c758646eda remove zendesk from community types 2022-08-16 23:52:19 +02:00
Ruben Fiszel
99594ff968 remove zendesk 2022-08-16 23:45:58 +02:00
Ruben Fiszel
03a3715d86 add zendesk oauth client 2022-08-16 23:28:31 +02:00
github-actions[bot]
0f338d359a sync hub items with community (#439)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-16 23:20:34 +02:00
Ruben Fiszel
e606118943 fix(backend): collecting result when for loop is not the last step #422
* wip: step after forloop results

Adding a failing test so I don't forget out about it.

In the last step, `items` is `4`, the last item in iteration, rather
than the collected list.  My guess is this is because the results aren't
collected unless the flow quits early or the forloop module is the last
module so that `last_step` is true.

* test

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-08-16 23:03:55 +02:00
Ruben Fiszel
6d33ae4ece refresh button under resource picker 2022-08-16 22:54:43 +02:00
github-actions[bot]
3b78afdd5c sync hub items with community (#438)
* sync hub items with community

* Delete email_smtp.json

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-08-16 21:26:26 +02:00
Ruben Fiszel
2f33a71326 fix svg 2022-08-16 21:08:57 +02:00
Ruben Fiszel
57dee6a5ec fix svg 2022-08-16 21:08:08 +02:00
github-actions[bot]
e114341350 sync hub items with community (#437)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-16 21:06:57 +02:00
Ruben Fiszel
bc50b51cf9 remove non admin user 2022-08-16 21:00:11 +02:00
Ruben Fiszel
5317ecd58e add icons for hub scripts 2022-08-16 20:57:36 +02:00
github-actions[bot]
40de4ef4e7 sync hub items with community (#436)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-16 19:06:21 +02:00
Ruben Fiszel
4ea3de9c0d make simple object settable as JSON 2022-08-16 19:02:02 +02:00
Ruben Fiszel
448e939ec0 do not overwrite schemaProperty if the typ is the same 2022-08-16 17:23:02 +02:00
Mike
100451878c fix(self-hosting): add lsp and caddy to docke-compose (#432) 2022-08-16 14:33:37 +02:00
github-actions[bot]
02d178b411 sync hub items with community (#431)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-16 13:34:16 +02:00
dependabot[bot]
90dfd33724 Bump stylelint-config-recommended from 8.0.0 to 9.0.0 in /frontend (#428)
Bumps [stylelint-config-recommended](https://github.com/stylelint/stylelint-config-recommended) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/stylelint/stylelint-config-recommended/releases)
- [Changelog](https://github.com/stylelint/stylelint-config-recommended/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint-config-recommended/compare/8.0.0...9.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-recommended
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 12:50:36 +02:00
dependabot[bot]
1534490ee8 Bump @typescript-eslint/parser from 5.33.0 to 5.33.1 in /frontend (#430)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.33.0 to 5.33.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.33.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:12:18 +00:00
dependabot[bot]
1c7d8ed9dd Bump monaco-editor-workers from 0.33.0 to 0.34.0 in /frontend (#424)
Bumps [monaco-editor-workers](https://github.com/TypeFox/monaco-components/tree/HEAD/packages/monaco-editor-workers) from 0.33.0 to 0.34.0.
- [Release notes](https://github.com/TypeFox/monaco-components/releases)
- [Changelog](https://github.com/TypeFox/monaco-components/blob/main/packages/monaco-editor-workers/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-components/commits/workers_v0.34.0/packages/monaco-editor-workers)

---
updated-dependencies:
- dependency-name: monaco-editor-workers
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:07:19 +00:00
dependabot[bot]
716d1a13f7 Bump eslint from 8.21.0 to 8.22.0 in /frontend (#429)
Bumps [eslint](https://github.com/eslint/eslint) from 8.21.0 to 8.22.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.21.0...v8.22.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:05:55 +00:00
Ruben Fiszel
fe8d945a2c APP -> Api + Google signin button 2022-08-16 12:02:02 +02:00
dependabot[bot]
5579b5d5fc Bump flowbite-svelte from 0.24.10 to 0.24.12 in /frontend (#427)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.24.10 to 0.24.12.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.24.10...v0.24.12)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:00:12 +00:00
dependabot[bot]
3f2e0882ef Bump svelte-markdown from 0.2.2 to 0.2.3 in /frontend (#425)
Bumps [svelte-markdown](https://github.com/pablo-abc/svelte-markdown) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/pablo-abc/svelte-markdown/releases)
- [Commits](https://github.com/pablo-abc/svelte-markdown/compare/0.2.2...0.2.3)

---
updated-dependencies:
- dependency-name: svelte-markdown
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 09:48:28 +00:00
dependabot[bot]
b058974fe8 Bump @typescript-eslint/eslint-plugin from 5.33.0 to 5.33.1 in /frontend (#410)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.33.0 to 5.33.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.33.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 11:38:05 +02:00
dependabot[bot]
d5c3a5544b Bump cssnano from 5.1.12 to 5.1.13 in /frontend (#411)
Bumps [cssnano](https://github.com/cssnano/cssnano) from 5.1.12 to 5.1.13.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@5.1.12...cssnano@5.1.13)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 11:37:54 +02:00
dependabot[bot]
fc24e4bd6c Bump @playwright/test from 1.24.2 to 1.25.0 in /frontend (#413)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.24.2 to 1.25.0.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.24.2...v1.25.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 11:37:43 +02:00
dependabot[bot]
d220231bee Bump flowbite-svelte from 0.24.2 to 0.24.10 in /frontend (#415)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.24.2 to 0.24.10.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.24.2...v0.24.10)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 11:37:33 +02:00
Ruben Fiszel
82e8e12388 scripteditor default preview tab -> input 2022-08-16 00:08:54 +02:00
dependabot[bot]
df56e87cdc Bump chrono from 0.4.21 to 0.4.22 in /backend (#420)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.21 to 0.4.22.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.21...v0.4.22)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 19:43:27 +00:00
dependabot[bot]
5ec78b9d30 Bump anyhow from 1.0.60 to 1.0.61 in /backend (#414)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.60 to 1.0.61.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.60...1.0.61)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 19:31:47 +00:00
dependabot[bot]
75312abde9 Bump futures from 0.3.21 to 0.3.23 in /backend (#417)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.23.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.23)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 19:11:22 +00:00
dependabot[bot]
02e4030602 Bump swc_ecma_parser from 0.117.0 to 0.117.4 in /backend (#416)
Bumps [swc_ecma_parser](https://github.com/swc-project/swc) from 0.117.0 to 0.117.4.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 19:02:35 +00:00
dependabot[bot]
4ed235f6ec Bump deno_core from 0.146.0 to 0.147.0 in /backend (#412)
Bumps [deno_core](https://github.com/denoland/deno) from 0.146.0 to 0.147.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 18:45:31 +00:00
Ruben Fiszel
824e91bbc7 pass path as env variable 2022-08-15 13:51:16 +02:00
Ruben Fiszel
064ae59338 make executable paths configurable 2022-08-15 13:32:51 +02:00
Ruben Fiszel
1275f5f7fb fix: set secure only for https 2022-08-15 10:40:01 +02:00
Ruben Fiszel
92d1a3a441 remove hardcoded paths when nsjail is disabled 2022-08-15 10:08:40 +02:00
Ruben Fiszel
08886c4d24 replace restricted gmail scope with sensitive 2022-08-15 01:48:55 +02:00
Ruben Fiszel
d280ed5476 README rewording 2022-08-15 00:50:56 +02:00
Mike
34be0564f8 feat: allow to configure port via envar (#407) 2022-08-15 00:36:07 +02:00
Ruben Fiszel
f8f71689c0 change instructions 2022-08-14 23:53:50 +02:00
Ruben Fiszel
1b377f8f02 set local authorization -> set role 2022-08-14 23:33:09 +02:00
Ruben Fiszel
f56fe76ae0 more README help 2022-08-14 23:02:54 +02:00
Ruben Fiszel
2bdb617b1f fix: users privileges 2022-08-14 22:47:51 +02:00
Ruben Fiszel
ab84abeee4 improve README for github OAuth 2022-08-14 21:58:03 +02:00
Ruben Fiszel
6211c44366 improve schemaeditor name behavior 2022-08-14 21:21:48 +02:00
Ruben Fiszel
72850e461e changing all path placeholders to be flatten 2022-08-14 20:52:32 +02:00
Ruben Fiszel
a935a0ed52 fix check for path already existing 2022-08-14 20:51:16 +02:00
Ruben Fiszel
1c40f01e5d feat: db users: admin -> windmill_admin, app -> windmill_user (#404)
* feat: db users: admin -> windmill_admin, app -> windmill_user

* clean up

* backend tests

* backend tests

* backend tests

* lock roles in first migration

* check if user is superuser too

* add init-db

* add init-db
2022-08-14 18:20:27 +02:00
Ruben Fiszel
8ac92bc315 tooltip and pages detail for hashed rewording 2022-08-14 12:57:34 +02:00
Ruben Fiszel
4ee6489ae0 readme improvement 2022-08-14 12:31:21 +02:00
Ruben Fiszel
d9f34e6ce0 improve README 2022-08-14 12:13:56 +02:00
Ruben Fiszel
14825f8649 improve README 2022-08-14 11:56:17 +02:00
Ruben Fiszel
c1457d13ab improve README 2022-08-14 11:49:32 +02:00
Ruben Fiszel
a9403a32df chore(main): release 1.30.0 (#399)
* chore(main): release 1.30.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-14 10:26:43 +02:00
Ruben Fiszel
23e7daa20b more consistent hover behavior for prop picker 2022-08-13 21:32:44 +02:00
Ruben Fiszel
c8dca072dd remove println 2022-08-13 21:20:50 +02:00
Ruben Fiszel
845de82062 feat: add literal object type support (#401) 2022-08-13 21:18:54 +02:00
Ruben Fiszel
0384727a56 feat: support union type will null | undefined (#400) 2022-08-13 19:35:52 +02:00
Ruben Fiszel
e68ea1b8fc feat: support union types (#398) 2022-08-13 17:25:16 +02:00
Ruben Fiszel
cb43802c69 full backend ci tests
* attempt ci in container

* attempt ci in container

* psql

* psql

* psql

* psql

* privileged

* cache
2022-08-12 11:21:19 +02:00
sqwishy
91bc88b574 make initialize_tracing sync and infallable (#395)
also remove tiny bit of raceyness from worker tests, there's a bit of
sync around Once but it's short so it should be fine
2022-08-12 10:44:41 +02:00
sqwishy
08d1a35009 pass broadcast::Receiver instead of Sender (#396)
I think this was just added a couple months ago.  If all Senders drop
the Receivers close.  This change helps avoid creating Senders that you
never send on that are just held in scope and prevent the channel from
closing.
2022-08-12 10:43:06 +02:00
sqwishy
65e275556d remove unused mutex parameter for run_worker (#394) 2022-08-12 10:42:46 +02:00
Ruben Fiszel
52b075d0f8 fix schedule bug 2022-08-12 04:08:22 +02:00
Ruben Fiszel
359d3899a2 fix schedule bug 2022-08-12 04:03:39 +02:00
Ruben Fiszel
9e371fcff0 disable nsjail for test 2022-08-12 03:31:50 +02:00
Ruben Fiszel
d6472fa8ce change pg user for ci test 2022-08-12 03:14:52 +02:00
Ruben Fiszel
d4018c45ec change pg user for ci test 2022-08-12 02:57:26 +02:00
Ruben Fiszel
8a2f63d9ff change pg user for ci test 2022-08-12 02:48:08 +02:00
Ruben Fiszel
a43310d4a0 change pg user for ci test 2022-08-12 02:19:33 +02:00
Ruben Fiszel
5353363719 change pg user for ci test 2022-08-12 02:17:16 +02:00
Ruben Fiszel
42c20c4527 fix test_eval_timeout 2022-08-12 02:05:59 +02:00
Ruben Fiszel
503f55450d change notice to Windmill Labs, Inc 2022-08-12 01:53:32 +02:00
Ruben Fiszel
61a210edf8 misonfigured e2e tests 2022-08-12 01:51:25 +02:00
sqwishy
b462a5a733 backend tests for python job and deno flow (#389) 2022-08-12 01:50:31 +02:00
Ruben Fiszel
e6a5fe95b0 add superblocks to the list 2022-08-12 01:05:55 +02:00
Ruben Fiszel
97887fa44c no-referrer on fetch from client 2022-08-12 00:19:03 +02:00
dependabot[bot]
c5da97616d Bump swc_common from 0.27.0 to 0.27.1 in /backend (#391)
Bumps [swc_common](https://github.com/swc-project/swc) from 0.27.0 to 0.27.1.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-11 21:33:46 +02:00
dependabot[bot]
a8594342e3 Bump swc_ecma_ast from 0.90.2 to 0.90.3 in /backend (#390)
Bumps [swc_ecma_ast](https://github.com/swc-project/swc) from 0.90.2 to 0.90.3.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits)

---
updated-dependencies:
- dependency-name: swc_ecma_ast
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-11 19:11:19 +00:00
Ruben Fiszel
464a594e37 update backend + 404 on non found assets 2022-08-11 21:00:53 +02:00
Christian Paul
5ab110a30d Typo: explicitely -> explicitly (#386) 2022-08-11 11:06:00 +02:00
dependabot[bot]
f1a3bacd19 Bump ulid from 0.6.0 to 1.0.0 in /backend (#366)
Bumps [ulid](https://github.com/dylanhart/ulid-rs) from 0.6.0 to 1.0.0.
- [Release notes](https://github.com/dylanhart/ulid-rs/releases)
- [Commits](https://github.com/dylanhart/ulid-rs/compare/v0.6.0...v1.0.0)

---
updated-dependencies:
- dependency-name: ulid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-11 01:13:32 +02:00
sqwishy
881cea41dd ping hub.windmill.dev/getip for external ip without using only reqwest (#384) 2022-08-11 01:01:24 +02:00
Ruben Fiszel
2fda1320f6 rework the images 2022-08-11 00:00:26 +02:00
Ruben Fiszel
c711890534 typo 2022-08-10 21:16:39 +02:00
Ruben Fiszel
5f21026f7a typo 2022-08-10 21:16:02 +02:00
Ruben Fiszel
a9cd60c33c chore(main): release 1.29.0 (#347)
* chore(main): release 1.29.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-10 03:16:21 +02:00
Ruben Fiszel
f5006583a9 publish to ghcr.io 2022-08-10 03:11:24 +02:00
sqwishy
5900b995c3 link with lld (#382)
* link with lld

https://github.com/rust-lang/rust/issues/39915

* install lld in Dockerfile
2022-08-09 22:34:54 +02:00
Ruben Fiszel
aa54980708 Update README.md 2022-08-09 20:28:51 +02:00
sqwishy
56e082b17c correct query param number in delete_token (#380) 2022-08-09 17:57:03 +02:00
Faton Ramadani
6690da06a9 Add the diagram in the readme (#379) 2022-08-09 17:56:52 +02:00
Ruben Fiszel
524adcb04f clickable key + truncate 2022-08-09 17:07:37 +02:00
Ruben Fiszel
7dfce17e1d fix replacement 2022-08-09 15:57:56 +02:00
Ruben Fiszel
0bd882c4fb fix replacement 2022-08-09 15:48:28 +02:00
Ruben Fiszel
67bcd05200 fix demodb 2022-08-09 15:45:22 +02:00
Ruben Fiszel
42cb8e9afe psycopg2 => binary 2022-08-09 15:17:01 +02:00
Faton Ramadani
55cc2270be Fix Editor formating when saving while using dynamic inputs. (#378) 2022-08-09 11:18:26 +02:00
Faton Ramadani
cd7a29421f Fix flow width (#377) 2022-08-09 10:13:11 +02:00
github-actions[bot]
7ebd37c5ab sync hub items with community (#375)
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-09 09:48:02 +02:00
sqwishy
6b2ff5a87f DATABASE_CONNECTIONS sets Pool max_connections (#376)
If unspecified, defaults to the current value of 100
2022-08-09 09:47:48 +02:00
dependabot[bot]
2247b133c2 Bump chrono from 0.4.19 to 0.4.20 in /backend (#374)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.19 to 0.4.20.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.19...v0.4.20)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 20:07:05 +00:00
dependabot[bot]
8cddc74131 Bump anyhow from 1.0.59 to 1.0.60 in /backend (#373)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.59 to 1.0.60.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.59...1.0.60)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 19:56:36 +00:00
dependabot[bot]
c48a5c584c Bump @types/vscode from 1.69.1 to 1.70.0 in /frontend (#370)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.69.1 to 1.70.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  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>
2022-08-08 19:48:56 +00:00
dependabot[bot]
27bc562ff1 Bump serde_json from 1.0.82 to 1.0.83 in /backend (#372)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.82 to 1.0.83.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.82...v1.0.83)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 19:38:46 +00:00
dependabot[bot]
4285c5d5a6 Bump @typescript-eslint/parser from 5.32.0 to 5.33.0 in /frontend (#371)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.32.0 to 5.33.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.33.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  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>
2022-08-08 19:27:52 +00:00
dependabot[bot]
d44466a3cf Bump tailwindcss from 3.1.7 to 3.1.8 in /frontend (#361)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.1.7 to 3.1.8.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.1.7...v3.1.8)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 19:23:58 +00:00
dependabot[bot]
becf1949e2 Bump serde from 1.0.141 to 1.0.142 in /backend (#362)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.141 to 1.0.142.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.141...v1.0.142)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 19:07:13 +00:00
dependabot[bot]
4c52851399 Bump @sveltejs/kit from 1.0.0-next.403 to 1.0.0-next.405 in /frontend (#363)
Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 1.0.0-next.403 to 1.0.0-next.405.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@1.0.0-next.405/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 18:57:01 +00:00
dependabot[bot]
374bdeb935 Bump svelte-highlight from 6.2.0 to 6.2.1 in /frontend (#365)
Bumps [svelte-highlight](https://github.com/metonym/svelte-highlight) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/metonym/svelte-highlight/releases)
- [Changelog](https://github.com/metonym/svelte-highlight/blob/master/CHANGELOG.md)
- [Commits](https://github.com/metonym/svelte-highlight/compare/v6.2.0...v6.2.1)

---
updated-dependencies:
- dependency-name: svelte-highlight
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 18:56:45 +00:00
dependabot[bot]
23de0e462d Bump postcss from 8.4.14 to 8.4.16 in /frontend (#356)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.14 to 8.4.16.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.14...8.4.16)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 18:51:48 +00:00
dependabot[bot]
f69a8f266e Bump @typescript-eslint/eslint-plugin from 5.32.0 to 5.33.0 in /frontend (#364)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.32.0 to 5.33.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.33.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  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>
2022-08-08 18:51:02 +00:00
dependabot[bot]
429d09198c Bump sqlx from 0.6.0 to 0.6.1 in /backend (#360)
Bumps [sqlx](https://github.com/launchbadge/sqlx) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/launchbadge/sqlx/releases)
- [Changelog](https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/launchbadge/sqlx/compare/v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: sqlx
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 18:41:59 +00:00
dependabot[bot]
2fae9cff18 Bump thiserror from 1.0.31 to 1.0.32 in /backend (#359)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.31 to 1.0.32.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.31...1.0.32)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 18:39:59 +00:00
dependabot[bot]
21bb451d9d Bump deno_core from 0.145.0 to 0.146.0 in /backend (#357)
Bumps [deno_core](https://github.com/denoland/deno) from 0.145.0 to 0.146.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  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>
2022-08-08 18:32:53 +00:00
dependabot[bot]
4c77953de3 Bump @sveltejs/adapter-static in /frontend (#358)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.38 to 1.0.0-next.39.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.39/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 18:30:18 +00:00
dependabot[bot]
465ec5d01e Bump flowbite-svelte from 0.22.30 to 0.24.2 in /frontend (#354)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.22.30 to 0.24.2.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.22.30...v0.24.2)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  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>
2022-08-08 18:21:50 +00:00
dependabot[bot]
87fc3d6eae Bump cla-assistant/github-action from 2.2.0 to 2.2.1 (#353)
Bumps [cla-assistant/github-action](https://github.com/cla-assistant/github-action) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/cla-assistant/github-action/releases)
- [Changelog](https://github.com/contributor-assistant/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cla-assistant/github-action/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: cla-assistant/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 18:19:33 +00:00
Ruben Fiszel
2dd09c4087 fix bugs removing args from schema 2022-08-08 19:07:19 +02:00
Ruben Fiszel
c71646ace0 remove useless cookie redirect check 2022-08-08 17:57:26 +02:00
Ruben Fiszel
29bb7d3db9 small truncate 2022-08-08 15:48:29 +02:00
Ruben Fiszel
ed573ea91f small truncate 2022-08-08 15:26:26 +02:00
Ruben Fiszel
0f53f58a66 small truncateFix 2022-08-08 15:13:51 +02:00
Ruben Fiszel
013540ac21 fix listoflist display 2022-08-08 14:08:05 +02:00
Ruben Fiszel
785d3ea4e7 raise limit to 200000 chars 2022-08-08 13:57:39 +02:00
Ruben Fiszel
a613b45f8b surface better the transform_json_value step errors 2022-08-08 11:54:01 +02:00
Ruben Fiszel
5346e3c8ec flowviewer nit 2022-08-08 11:18:38 +02:00
Ruben Fiszel
6aa8c81692 wording 2022-08-08 10:14:14 +02:00
Ruben Fiszel
7da10a6925 copy from preview arguments 2022-08-08 10:11:40 +02:00
Ruben Fiszel
7226a563b7 deassociate preview args from schedule args 2022-08-08 10:07:32 +02:00
Ruben Fiszel
7a3c4ca0aa New Postgres SQL query 2022-08-08 09:25:54 +02:00
Ruben Fiszel
b8f5927bbe websocket improvement 2022-08-08 09:14:58 +02:00
Ruben Fiszel
1cba6b33e2 fix aws claim 2022-08-08 00:12:43 +02:00
Ruben Fiszel
fc6f9f33fe remove obsolete reference to openapi page 2022-08-07 22:02:44 +02:00
Ruben Fiszel
b3b9e6046a improve readme 2022-08-07 22:00:14 +02:00
Ruben Fiszel
3187508896 styling of iframe for flowviewer 2022-08-07 18:25:12 +02:00
Ruben Fiszel
28fa7ee822 non-inline inputtransformviewer 2022-08-07 16:31:11 +02:00
Ruben Fiszel
e8673fd58a make schemaviewer required field smaller 2022-08-07 16:24:49 +02:00
Ruben Fiszel
362784683a update README with roadmap 2022-08-07 15:53:17 +02:00
Ruben Fiszel
1ae61f63d5 update README 2022-08-07 15:38:15 +02:00
Ruben Fiszel
98f64f0b6a update README 2022-08-07 15:23:10 +02:00
Ruben Fiszel
4442fcad02 update README 2022-08-07 15:12:17 +02:00
Ruben Fiszel
cdf2d2f7df increase limit to 900s over the last 1200s 2022-08-07 14:39:57 +02:00
Ruben Fiszel
8153718166 do rate limit based on as_permissioned_as 2022-08-07 14:04:17 +02:00
Ruben Fiszel
c69621fa7a fix: update logs even if last new log was < 500ms 2022-08-07 13:48:37 +02:00
Ruben Fiszel
c1a9368d51 Code previewed clickable on result page 2022-08-07 13:01:25 +02:00
Ruben Fiszel
b647f59c82 rewrite kill wait 2022-08-07 12:55:21 +02:00
Ruben Fiszel
79af9abb92 prevent log spam abuse 2022-08-07 12:50:28 +02:00
Ruben Fiszel
56a3a9c4f5 more logging around command executions 2022-08-07 12:25:45 +02:00
Ruben Fiszel
b0435ada43 fix redirect at login 2022-08-07 12:17:04 +02:00
Ruben Fiszel
2c6f1c3b82 more logging around command executions 2022-08-07 12:00:41 +02:00
Ruben Fiszel
be95e65e72 rework logout 2022-08-07 11:45:15 +02:00
Ruben Fiszel
3eadd7e67c rework logout 2022-08-07 11:42:43 +02:00
Ruben Fiszel
dfb4339c5e audit logs for all execute case 2022-08-07 11:14:00 +02:00
Ruben Fiszel
f0540edfc5 better help 2022-08-07 10:16:47 +02:00
Ruben Fiszel
e77104fcac some reactive changes 2022-08-07 10:02:00 +02:00
Ruben Fiszel
18477d1477 some reactive changes 2022-08-07 09:56:50 +02:00
Ruben Fiszel
79f24b74ff redirect even with oauth 2022-08-07 09:28:42 +02:00
Ruben Fiszel
84c467b2c5 improve websocket behavior 2022-08-07 02:33:13 +02:00
Ruben Fiszel
0e2d515c5c revert always capture mousewheel 2022-08-07 01:58:57 +02:00
Ruben Fiszel
81299a06f5 fix upto + fix display result of embedded flow in flowstatusviewer 2022-08-07 01:01:07 +02:00
Ruben Fiszel
c13b5680ef fix just this step 2022-08-07 00:45:16 +02:00
Ruben Fiszel
7f3f9c67f2 better responsive size for flow preview 2022-08-07 00:18:35 +02:00
Ruben Fiszel
1b2acbd755 better responsive size 2022-08-06 23:58:17 +02:00
Ruben Fiszel
fbe878407c add summary field for modules 2022-08-06 23:37:17 +02:00
Ruben Fiszel
b1216c5615 autoresize textare and improved performance for string templates 2022-08-06 18:45:15 +02:00
Ruben Fiszel
cce09b7e6e add top 5000 pip packages to lsp 2022-08-06 18:22:13 +02:00
Ruben Fiszel
33b8e85f8e update flowviewer 2022-08-06 14:28:45 +02:00
Ruben Fiszel
ce27787389 typos 2022-08-06 14:17:58 +02:00
Ruben Fiszel
bd8bcb36a1 rework input transform for the forloop module 2022-08-06 14:02:39 +02:00
Ruben Fiszel
ae8d631a42 change object viewer default colapsed behavior 2022-08-06 13:38:07 +02:00
Ruben Fiszel
cd93d3aeeb fix prop picker wrt to new iter changes 2022-08-06 13:34:26 +02:00
Ruben Fiszel
ca2e945852 mention #350 as solving arbitrary forloops 2022-08-06 13:18:51 +02:00
Ruben Fiszel
d493d5636f include nltk 2022-08-06 12:59:21 +02:00
Ruben Fiszel
33962c4466 fix(python): not filled field with default <function_call> now call the default function 2022-08-06 12:51:14 +02:00
Ruben Fiszel
370b26c964 include vader lexicon in the worker for nltk 2022-08-06 12:27:58 +02:00
Ruben Fiszel
da630b5add display inputs in flow viewer too 2022-08-06 09:30:10 +02:00
Ruben Fiszel
bc35a81bec improve error message for parsing 2022-08-06 08:45:37 +02:00
Ruben Fiszel
0346d955f9 rework default python script 2022-08-05 20:21:13 +02:00
Ruben Fiszel
07f4a217d0 feat: _value, _index => iter.value, iter.index 2022-08-05 20:11:25 +02:00
Ruben Fiszel
13b1904a7a fix: surface new _iterator value 2022-08-05 19:57:18 +02:00
Ruben Fiszel
8b68a87c52 fix: do not skip undefined values 2022-08-05 19:53:28 +02:00
Ruben Fiszel
e76a9816ee feat: remove res1 wrapping 2022-08-05 19:47:00 +02:00
Faton Ramadani
c62d708993 Fix flow preview + correct stylee (#346) 2022-08-05 19:02:14 +02:00
Ruben Fiszel
8fa933a171 chore(main): release 1.28.1 (#342)
* chore(main): release 1.28.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-05 17:17:02 +02:00
Ruben Fiszel
80e28dbba3 fix: improve flow viewer with retrieving hub script 2022-08-05 17:13:05 +02:00
Ruben Fiszel
793619c152 client not running improved error 2022-08-05 15:47:49 +02:00
Ruben Fiszel
a756c4e911 add nltk to lsp + set home directory to /tmp 2022-08-05 15:06:23 +02:00
Faton Ramadani
7b235bcc8e Fix breadcrumb (#344)
* Add Toggl connect

* Fix Schedule args

* Fix breadcrumb
2022-08-05 14:19:00 +02:00
Faton Ramadani
350a25c837 fix(frontend): schedule args in flow (#343)
* Add Toggl connect

* Fix Schedule args
2022-08-05 13:16:49 +02:00
Faton Ramadani
b94895f24e fix(frontend): add toggl connect (#341) 2022-08-05 11:54:15 +02:00
Ruben Fiszel
4c98cf4b66 do not cache html, cache everything else for a long time 2022-08-05 11:00:41 +02:00
Ruben Fiszel
0e6414b890 add @fatonramadani to codeowners 2022-08-05 10:21:51 +02:00
github-actions[bot]
82338e52cc sync hub items with community
Co-authored-by: fatonramadani <fatonramadani@users.noreply.github.com>
Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
2022-08-05 10:20:41 +02:00
Ruben Fiszel
90fd7786bd add @fatonramadani to codeowners 2022-08-05 10:15:53 +02:00
Ruben Fiszel
69ed4feaff add @fatonramadani to codeowners 2022-08-05 10:13:38 +02:00
Ruben Fiszel
11c37c267f fix extra_params basecamp 2022-08-05 09:59:00 +02:00
github-actions[bot]
4a47650163 sync hub items with community #338
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-05 09:44:36 +02:00
Ruben Fiszel
41063f34c3 add basecamp oauth 2022-08-05 09:42:45 +02:00
Faton Ramadani
c6c0837c9b Check whether flow is defined before rendering the preview button (#337) 2022-08-05 09:11:55 +02:00
Ruben Fiszel
7755e6fea9 chore(main): release 1.28.0 (#323)
* chore(main): release 1.28.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-05 01:53:57 +02:00
Ruben Fiszel
3cc9e8d172 fix flowstatusviewer and updating to in_progress much sooner 2022-08-05 01:38:33 +02:00
Ruben Fiszel
6b129b213b fix flowstatusviewer and updating to in_progress much sooner 2022-08-05 00:46:10 +02:00
Ruben Fiszel
7c3704cad4 gif support + _value preview in object viewer 2022-08-04 23:45:27 +02:00
Ruben Fiszel
54ab6087d0 chore: update frontend 2022-08-04 22:52:45 +02:00
Faton Ramadani
721ab62ad9 Bug fix for whole flow preview (#335)
* Fix connect a ressource + preview on pull mode

* Remove code duplication
2022-08-04 21:31:07 +02:00
Faton Ramadani
3472912765 Update readme (#333) 2022-08-04 20:14:59 +02:00
Faton Ramadani
0fbd5209fc Fix previous results in Flow preview (#332) 2022-08-04 20:14:32 +02:00
Ruben Fiszel
afb831a8fb fix no app integration for in connect app 2022-08-04 18:54:19 +02:00
Ruben Fiszel
0b17411ae3 tooltip for why python not supported for trigger scripts 2022-08-04 18:44:00 +02:00
Ruben Fiszel
30917a39e6 fix pull_items + add discord_webhook 2022-08-04 18:33:09 +02:00
Ruben Fiszel
a9a4b9b21d fix(api): add discord webhook manual instructions 2022-08-04 17:49:13 +02:00
Faton Ramadani
615f69e935 feat(frontend): global flow preview (#329)
* Added flow preview

* Fix blue

* Disable preview button is not inputs are valid

* Fix layout top margin
2022-08-04 17:46:40 +02:00
Ruben Fiszel
986e76dc87 fix(oauth2): remove discord oauth integration 2022-08-04 16:05:40 +02:00
Ruben Fiszel
6332910dd2 fix(backend): generalize oauth clients to take in extra params 2022-08-04 14:32:04 +02:00
Ruben Fiszel
82c7ddc00e fix(frontend): loading template pick the language as well 2022-08-04 10:50:44 +02:00
Faton Ramadani
05324bd356 fix(frontend): Use the bracket notation when an identifier is not a valid JS expression (#327) 2022-08-04 10:13:03 +02:00
Ruben Fiszel
3bcd542130 fix(backend): handle better some flow edge-cases 2022-08-04 01:50:47 +02:00
Ruben Fiszel
988536128b fix(backend): handle better some flow edge-cases 2022-08-04 01:48:53 +02:00
Ruben Fiszel
0e8552ba80 fix(frontend): add jpeg support 2022-08-04 01:22:48 +02:00
Ruben Fiszel
70de6e3972 fix(backend): handle better some flow edge-cases 2022-08-04 01:13:12 +02:00
Faton Ramadani
07f5023bf8 Flow fix property picker (#326)
* Fix property picker

* Fix property picker
2022-08-04 00:28:46 +02:00
Faton Ramadani
2f0b128897 Flow: Input connect (#325)
* Fix EditorBar in the script editor

* Rework ArgInput

* Add a button to link a property

* Adapt style

* Clean up

* Clean up Toggle

* Clean up Toggleclear

* Fix editor

* Fix login test

* Fix login test

* Done

* Fix toggling issues
2022-08-03 19:51:58 +02:00
sqwishy
40555868e6 fix(backend): prometheus histogram for worker job timer (#312)
* prometheus histogram for worker job timer

hosts on :8001

* some new metrics in worker + field

adds start_time_seconds, job_duration_seconds & jobs_failed

* use tokio task_local to count job failures

* METRICS_ADDR environment variable off by default

true defaults to 0.0.0.0:8001 otherwise expects a socket address

* pass metrics as args instead of task local
2022-08-02 22:56:25 +02:00
Ruben Fiszel
d3b6878d45 chore(main): release 1.27.2 (#322)
* chore(main): release 1.27.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-02 18:40:33 +02:00
Ruben Fiszel
b128388cc6 fix(deno-client): getResource can now fetch non-object values 2022-08-02 18:38:54 +02:00
Ruben Fiszel
7f75fc7e5b chore(main): release 1.27.1 (#321)
* chore(main): release 1.27.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-02 17:31:42 +02:00
Ruben Fiszel
893ee941d7 fix: migrate to new style radio button 2022-08-02 17:30:12 +02:00
Ruben Fiszel
e3a1c283fa chore(main): release 1.27.0 (#300) 2022-08-02 16:57:01 +02:00
Ruben Fiszel
9daff2a228 feat: add primitive sql format (#320) 2022-08-02 16:55:20 +02:00
Mike
24a7e46fe9 fix: prefer COPY over ADD (#319) 2022-08-02 14:21:22 +02:00
dependabot[bot]
c17b8c35ee chore(deps-dev): bump tailwindcss from 3.1.6 to 3.1.7 in /frontend (#317)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.1.6...v3.1.7)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-01 23:29:45 +00:00
dependabot[bot]
b9d4cc1c25 chore(deps-dev): bump @types/vscode from 1.67.0 to 1.69.0 in /frontend (#303)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.67.0 to 1.69.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  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>
2022-08-01 23:21:26 +00:00
dependabot[bot]
fee9d65401 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#316)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.31.0 to 5.32.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.32.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  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>
2022-08-01 23:15:41 +00:00
dependabot[bot]
fe3f4b57d5 chore(deps-dev): bump svelte2tsx from 0.5.12 to 0.5.13 in /frontend (#318)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.12 to 0.5.13.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.12...svelte2tsx-0.5.13)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-01 23:13:31 +00:00
dependabot[bot]
9bc7b6ebbd chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#314)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.31.0 to 5.32.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.32.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  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>
2022-08-01 23:04:48 +00:00
dependabot[bot]
982a37784c chore(deps-dev): bump eslint from 8.20.0 to 8.21.0 in /frontend (#315)
Bumps [eslint](https://github.com/eslint/eslint) from 8.20.0 to 8.21.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.20.0...v8.21.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  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>
2022-08-01 23:03:42 +00:00
dependabot[bot]
1003842189 chore(deps-dev): bump @playwright/test in /frontend (#313)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.24.0 to 1.24.2.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.24.0...v1.24.2)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-01 22:59:53 +00:00
Ruben Fiszel
990634cb69 chore: update backend 2022-08-02 00:49:21 +02:00
dependabot[bot]
6f688442d7 chore(deps-dev): bump autoprefixer from 10.4.7 to 10.4.8 in /frontend (#304)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.7 to 10.4.8.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.7...10.4.8)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 00:36:50 +02:00
dependabot[bot]
32b9466284 chore(deps-dev): bump @tailwindcss/typography in /frontend (#305)
Bumps [@tailwindcss/typography](https://github.com/tailwindcss/typography) from 0.5.3 to 0.5.4.
- [Release notes](https://github.com/tailwindcss/typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindcss/typography/compare/v0.5.3...v0.5.4)

---
updated-dependencies:
- dependency-name: "@tailwindcss/typography"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 00:36:29 +02:00
dependabot[bot]
2795a4004c chore(deps-dev): bump flowbite-svelte in /frontend (#302)
Bumps [flowbite-svelte](https://github.com/themesberg/flowbite-svelte) from 0.22.19 to 0.22.27.
- [Release notes](https://github.com/themesberg/flowbite-svelte/releases)
- [Changelog](https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/themesberg/flowbite-svelte/compare/v0.22.19...v0.22.27)

---
updated-dependencies:
- dependency-name: flowbite-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 00:36:09 +02:00
Mike
9e84b458b1 fix: typos (#301) 2022-08-01 17:17:19 +02:00
Ruben Fiszel
30bd56563f reimport openflow as schemas 2022-08-01 17:07:43 +02:00
Ruben Fiszel
02ff2655a3 reimport openflow as schemas 2022-08-01 16:59:12 +02:00
Ruben Fiszel
3554198ae2 chore(main): release 1.26.3 (#294)
* chore(main): release 1.26.3

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-08-01 16:53:18 +02:00
Faton Ramadani
f384ea98ab Fix EditorBar in the script editor (#299)
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-08-01 16:53:01 +02:00
Ruben Fiszel
b62548e296 increase old space for dockerfile npm build 2022-08-01 16:52:02 +02:00
Ruben Fiszel
734019e2a0 update flowapi to be easier on deno generator 2022-08-01 16:38:51 +02:00
Faton Ramadani
6b30969ae5 improve Flow UI (#297)
* Improve flow ui

* Finish reworking

* Fix formating

* Fix naviation

* Fix navigaion + adjust icon sizes

* Remove duplicate code

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-08-01 15:07:29 +02:00
Ruben Fiszel
e2788a2003 fix loading flow from blank state 2022-08-01 13:36:09 +02:00
Ruben Fiszel
8a6d977a95 perPage = 300 for scripts page 2022-08-01 12:51:18 +02:00
Ruben Fiszel
9415dbf1dd change details page style 2022-08-01 02:45:23 +02:00
Ruben Fiszel
ff1a6be628 edited at x days ago -> edited x days ago 2022-08-01 02:37:30 +02:00
Ruben Fiszel
1bd026924b fix: displaying which group you are a member of that gave you access to item 2022-08-01 02:30:07 +02:00
Ruben Fiszel
803fb510c4 update current job to in progress 2022-07-31 22:47:07 +02:00
Ruben Fiszel
3ebc9b7b09 update current job to in progress 2022-07-31 22:41:41 +02:00
Ruben Fiszel
cf6d513228 do not serialize the whole object for job in progress update 2022-07-31 22:31:44 +02:00
Ruben Fiszel
0c5a7f12ba order result from forloop bby args _index 2022-07-31 20:41:35 +02:00
Ruben Fiszel
658ac65019 only check for schedule if not a flow step 2022-07-31 20:30:30 +02:00
Ruben Fiszel
124bd452ab report flow for whom the fetching error is happening 2022-07-31 20:23:03 +02:00
Ruben Fiszel
a6cddc4fb4 report flow for whom the fetching error is happening 2022-07-31 19:53:19 +02:00
Ruben Fiszel
c86abe6ae0 fix: refresh jobs result when hopping from flow to flow 2022-07-31 19:40:56 +02:00
Ruben Fiszel
cb61adc795 error for flow of length 0 2022-07-31 19:15:05 +02:00
Ruben Fiszel
168d66c7f9 improve error messages 2022-07-31 19:01:46 +02:00
Ruben Fiszel
f13aeb3d27 chore(main): release 1.26.2 (#293)
* chore(main): release 1.26.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-31 16:42:00 +02:00
Ruben Fiszel
5b548a0e71 fix: deno api generator now supports openflow 2022-07-31 16:39:39 +02:00
Ruben Fiszel
99290bb3bb chore(main): release 1.26.1 (#292)
* chore(main): release 1.26.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-31 16:20:41 +02:00
Ruben Fiszel
6b61227481 fix: encoding state now supports unicode including emojis 2022-07-31 16:17:43 +02:00
Ruben Fiszel
19d15cf453 clean further the openapi InputTransform 2022-07-31 11:23:21 +02:00
Ruben Fiszel
85b67f1aea urgent fix for frontend: flow -> newFlow 2022-07-31 10:22:30 +02:00
Ruben Fiszel
e408aa9737 build first for tsconfig to exists 2022-07-31 01:37:26 +02:00
Ruben Fiszel
d6305e8c6b change openflow encoding for more proper oneOf + fix all from svelte:check 2022-07-31 01:20:52 +02:00
Ruben Fiszel
9fda6c758e Put openflow.openapi.yaml at root for visibility #290 2022-07-30 20:10:45 +02:00
Ruben Fiszel
d2f47b2b23 fix other references to openapi.yaml 2022-07-30 17:37:17 +02:00
Ruben Fiszel
35aaa7c36e split openapi & openflow 2022-07-30 17:30:34 +02:00
Ruben Fiszel
da381c7d0b little notice for clients 2022-07-30 16:36:59 +02:00
Ruben Fiszel
dd708ffa61 transferring copyright from ruben to windmill labs 2022-07-30 14:09:41 +02:00
Ruben Fiszel
9cff49af6f privilege having a parent than a schedule 2022-07-30 01:17:12 +02:00
Ruben Fiszel
9afc38e610 job can be triggered by a schedule and from a flow 2022-07-30 01:14:41 +02:00
Ruben Fiszel
ee08b2b352 more errors 2022-07-30 01:10:01 +02:00
Ruben Fiszel
3ad02f294f chore(main): release 1.26.0 (#264)
* chore(main): release 1.26.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-30 00:08:16 +02:00
sqwishy
e1d16860e4 job duration to ms & added to /api/w/*/users/list (#261)
* add jobs_duration to /api/w/*/users/list

A few improvements on this might be considered.

- Adding the duration to /whoami and /whois
- Optionally fetching duration conditional on a query parameter.
- Using the query parameter value to select how far back to look,
  `created_at > now() - $2 * '1 day'::interval`.

Subquery might not be optimal, but performance is a bit weird to test
right now as I haven't done much with my development database to get it
to resemble a typical (production) database.  And there aren't many
indexes currently either.

And I think my rust rustfmt doesn't run because unstable options in the
rustfmt.toml or something so the formatting might be a bit wonky.

* duration -> duration_ms for completed_job

sqlx reordered keys in sqlx-data.json so the diff is quite noisy. I'm
not sure if I did it wrong or if this tool is obnoxious that way.

* don't double count job duration in flows

* job_duration_ms to Usage duration_ms jobs flows

rustfmt got carried away sorry
2022-07-30 00:02:51 +02:00
sqwishy
64fd443c67 treat sqlx-data.json as binary in git diff (#265) 2022-07-30 00:02:34 +02:00
Ruben Fiszel
93a18b2c4d autoscroll + status viewer auto update 2022-07-30 00:02:03 +02:00
Ruben Fiszel
2ecec4b34c cargo fmt II 2022-07-29 21:35:50 +02:00
Ruben Fiszel
6cf4072f1d cargo fmt 2022-07-29 21:29:59 +02:00
Ruben Fiszel
8dca5e0341 protect against ill-defined state for flows restart 2022-07-29 21:14:56 +02:00
Ruben Fiszel
b9ff6e78c3 also handle the case where it's the input transform of the first flow job that fails 2022-07-29 20:48:39 +02:00
Ruben Fiszel
1b5ce3243b fix: forloop flows unsoundness fix part I 2022-07-29 20:36:57 +02:00
Ruben Fiszel
d1a3f7162f fix init of static step inputs 2022-07-29 17:52:45 +02:00
Ruben Fiszel
32f8132b39 fix list rendering + (s) 2022-07-29 17:39:31 +02:00
Ruben Fiszel
4e3a02a8e4 fix: small bar mode and editor nits 2022-07-29 16:58:03 +02:00
Ruben Fiszel
22cb810913 no more infer button 2022-07-29 16:47:29 +02:00
Ruben Fiszel
50902366e5 connect an app under resource picker 2022-07-29 16:27:05 +02:00
Ruben Fiszel
dd4618b8bb nit on connect an app under resources picker 2022-07-29 15:53:56 +02:00
Ruben Fiszel
9ee60fd86c prop picker improvements 2022-07-29 15:40:42 +02:00
Ruben Fiszel
01bb107a0f feat: resource type picker in schema modal + proper initialization of raw javascript editor when applicable 2022-07-29 14:13:44 +02:00
Ruben Fiszel
d2347dd5b9 chore(main): release 1.25.0 (#263)
* chore(main): release 1.25.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-29 11:44:03 +02:00
Ruben Fiszel
2cb6e6e702 feat: base64 support in schema editor 2022-07-29 11:40:28 +02:00
Ruben Fiszel
0faabdbc40 fix: update variable and resources now return error if nothing was updated 2022-07-29 11:07:59 +02:00
Ruben Fiszel
fa2af935f8 monaco-lsp fixes 2022-07-29 01:45:53 +02:00
Ruben Fiszel
1249ca1420 monaco-lsp fixes 2022-07-29 01:41:13 +02:00
Ruben Fiszel
6fca7859ab chore(main): release 1.24.2 (#260)
* chore(main): release 1.24.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-29 00:55:47 +02:00
Ruben Fiszel
e0b5baaee7 fix internal state path 2022-07-29 00:52:55 +02:00
Ruben Fiszel
59ab5f711c make Resource an any to avoid error on field access 2022-07-29 00:36:54 +02:00
Ruben Fiszel
5a0fc96f7b editor fixes 2022-07-28 23:13:03 +02:00
Ruben Fiszel
80f7d6c77d typescript parser now support ? syntax for args 2022-07-28 21:40:47 +02:00
Ruben Fiszel
a1d1c1bed7 small ui fix 2022-07-28 21:10:11 +02:00
Ruben Fiszel
9d131e6622 add publish to hub buttons 2022-07-28 20:11:55 +02:00
Ruben Fiszel
6dec447953 fix: if :path is not a valid path, do not even attempt to fetch it 2022-07-28 12:59:14 +02:00
Ruben Fiszel
eafde7317e bring back username, workspace_id in audit log 2022-07-28 09:50:00 +02:00
Ruben Fiszel
099caf540d improve logging 2022-07-28 02:31:52 +02:00
Ruben Fiszel
c2c83608c8 nit: make handle flow log a debug 2022-07-28 00:57:47 +02:00
Ruben Fiszel
f0b76f2600 fix deno on javascript input transforms 2022-07-27 22:26:34 +02:00
Ruben Fiszel
f255cc253f fix: monaco editor fixes 2022-07-27 21:07:38 +02:00
Ruben Fiszel
390e9b37fb fix: get_variable refresh_token bug 2022-07-27 16:24:10 +02:00
Ruben Fiszel
b33515c80a chore(main): release 1.24.1 (#259)
* chore(main): release 1.24.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-27 15:50:18 +02:00
Ruben Fiszel
4ca71c1e5d fix: skip_failures is boolean not bool 2022-07-27 15:49:02 +02:00
Ruben Fiszel
a051c2121a fix: encrypt the refresh token 2022-07-27 15:39:39 +02:00
Ruben Fiszel
3feef738dc fix: keep previous refresh token if no new ones were provided 2022-07-27 15:21:10 +02:00
Ruben Fiszel
a8ecba9da3 ci: typo fix 2022-07-27 12:57:04 +02:00
Ruben Fiszel
c8a442eefe chore(main): release 1.24.0 (#238)
* chore(main): release 1.24.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-27 12:41:35 +02:00
Ruben Fiszel
de3fe69908 feat: skip failures loop (#258)
* wip: forloop skip failures -- very first pass

* last iteration fix + barebone UI integration

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-07-27 12:40:08 +02:00
Ruben Fiszel
b502c45d55 sqlx prepare llib 2022-07-27 12:25:44 +02:00
Ruben Fiszel
caecbfd0d9 feat: add schedule settable from pull flows 2022-07-27 12:18:02 +02:00
Ruben Fiszel
e85c60ffa3 fix checkboxes 2022-07-26 19:42:11 +02:00
Ruben Fiszel
3b31aec36d convert from dynamic expr to raw 2022-07-26 19:34:59 +02:00
Ruben Fiszel
6027b7e687 align language on OpenFlow 2022-07-26 19:15:34 +02:00
Ruben Fiszel
88dd7b0abb fix: import from JSON load schemas 2022-07-26 19:13:20 +02:00
Ruben Fiszel
ca4bed34a6 fix: audit logs 2022-07-26 18:49:27 +02:00
Ruben Fiszel
a334029787 fix: multiple UI fixes 2022-07-26 18:25:34 +02:00
Ruben Fiszel
904f0f3e69 fix: multiple UI fixes 2022-07-26 17:28:36 +02:00
Ruben Fiszel
85b8399fe5 primary schedule in flow UI wip 2022-07-26 16:21:41 +02:00
Ruben Fiszel
010acfe7e3 feat: prop picker functional for pull flows 2022-07-26 12:45:00 +02:00
Faton Ramadani
6fbeeae84a feat: Add flow input and current step in the prop picker (#236)
* Add flow input and current step in the prop picker

* Fix step + correctly bind pickableProperties

* Correctly make pickable properties + use popper to fix display issues

* styling

* Remove debugger

* Simplify how search works by removing one store

* preview

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-07-26 11:51:45 +02:00
Ruben Fiszel
2f0d8d5384 fix(frontend): get refresh token for google services 2022-07-26 01:52:36 +02:00
Ruben Fiszel
8dfe688a6a fix(frontend): get refresh token for google services 2022-07-26 01:22:54 +02:00
Ruben Fiszel
a2c5dc18a3 fix(frontend): get refresh token for google services 2022-07-26 01:05:34 +02:00
Ruben Fiszel
2c02442b39 monaco-lsp downgrade + google-refresh fix + backend update 2022-07-25 22:53:08 +02:00
dependabot[bot]
a926eeb076 chore(deps): bump monaco-languageclient from 2.0.2 to 2.1.0 in /frontend (#255)
Bumps [monaco-languageclient](https://github.com/TypeFox/monaco-languageclient/tree/HEAD/packages/client) from 2.0.2 to 2.1.0.
- [Release notes](https://github.com/TypeFox/monaco-languageclient/releases)
- [Changelog](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-languageclient/commits/mlc-v2.1.0/packages/client)

---
updated-dependencies:
- dependency-name: monaco-languageclient
  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>
2022-07-25 19:56:42 +00:00
dependabot[bot]
3c1a90d954 chore(deps): bump serde from 1.0.139 to 1.0.140 in /backend (#253)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.139 to 1.0.140.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.139...v1.0.140)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 19:47:02 +00:00
dependabot[bot]
19f5c61692 chore(deps): bump vscode-ws-jsonrpc from 1.0.1 to 1.0.2 in /frontend (#251)
Bumps [vscode-ws-jsonrpc](https://github.com/TypeFox/monaco-languageclient/tree/HEAD/packages/vscode-ws-jsonrpc) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/TypeFox/monaco-languageclient/releases)
- [Changelog](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/vscode-ws-jsonrpc/CHANGELOG.md)
- [Commits](https://github.com/TypeFox/monaco-languageclient/commits/vwj-v1.0.2/packages/vscode-ws-jsonrpc)

---
updated-dependencies:
- dependency-name: vscode-ws-jsonrpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 19:30:39 +00:00
dependabot[bot]
8315cdfe9c chore(deps-dev): bump @sveltejs/kit in /frontend (#254)
Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 1.0.0-next.384 to 1.0.0-next.393.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@1.0.0-next.393/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 19:27:25 +00:00
Ruben Fiszel
cfec7a97b8 fix(frontend): badge google logo for login 2022-07-25 21:19:57 +02:00
dependabot[bot]
ea86bf94bf chore(deps): bump tokio from 1.20.0 to 1.20.1 in /backend (#252)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.20.0 to 1.20.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.20.0...tokio-1.20.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 19:17:46 +00:00
Ruben Fiszel
fc918a24cc feat: add google login v1 2022-07-25 21:15:46 +02:00
dependabot[bot]
89cb7805b9 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#249)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.30.7 to 5.31.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.31.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  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>
2022-07-25 19:11:27 +00:00
dependabot[bot]
ee50f3ab1d chore(deps): bump @fortawesome/free-brands-svg-icons in /frontend (#243)
Bumps [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.1.1...6.1.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-brands-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 19:03:16 +00:00
dependabot[bot]
601ebb727f chore(deps): bump tracing-subscriber from 0.3.14 to 0.3.15 in /backend (#248)
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.14...tracing-subscriber-0.3.15)

---
updated-dependencies:
- dependency-name: tracing-subscriber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 19:00:59 +00:00
dependabot[bot]
9bc142840f chore(deps-dev): bump svelte2tsx from 0.5.11 to 0.5.12 in /frontend (#250)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.11 to 0.5.12.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.11...svelte2tsx-0.5.12)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 18:58:48 +00:00
dependabot[bot]
af482f19e2 chore(deps-dev): bump @playwright/test in /frontend (#246)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.23.4 to 1.24.0.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.23.4...v1.24.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  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>
2022-07-25 18:52:50 +00:00
dependabot[bot]
2dbc93f7cd chore(deps): bump deno_core from 0.143.0 to 0.144.0 in /backend (#247)
Bumps [deno_core](https://github.com/denoland/deno) from 0.143.0 to 0.144.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  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>
2022-07-25 18:52:02 +00:00
dependabot[bot]
a15f2b5f64 chore(deps): bump lettre from 0.10.0 to 0.10.1 in /backend (#244)
Bumps [lettre](https://github.com/lettre/lettre) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/lettre/lettre/releases)
- [Changelog](https://github.com/lettre/lettre/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lettre/lettre/compare/v0.10.0...v0.10.1)

---
updated-dependencies:
- dependency-name: lettre
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 18:43:31 +00:00
Ruben Fiszel
c846ed76c4 fix(frontend): badge needs a little right margin 2022-07-25 20:40:35 +02:00
Ruben Fiszel
a23289563d fix(frontend): display number field in flows 2022-07-25 20:35:21 +02:00
dependabot[bot]
cf1eee78ba chore(deps-dev): bump @typescript-eslint/parser in /frontend (#241)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.30.7 to 5.31.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.31.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  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>
2022-07-25 18:33:33 +00:00
dependabot[bot]
14425ce0a9 chore(deps): bump @fortawesome/free-solid-svg-icons in /frontend (#240)
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.1.1...6.1.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25 18:31:28 +00:00
dependabot[bot]
8e8470d024 chore(deps): bump cla-assistant/github-action (#239)
Bumps [cla-assistant/github-action](https://github.com/cla-assistant/github-action) from 2.1.3.pre.beta to 2.2.0.
- [Release notes](https://github.com/cla-assistant/github-action/releases)
- [Changelog](https://github.com/contributor-assistant/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cla-assistant/github-action/compare/v2.1.3-beta...v2.2.0)

---
updated-dependencies:
- dependency-name: cla-assistant/github-action
  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>
2022-07-25 18:28:55 +00:00
Ruben Fiszel
43cacc1a66 fix(frontend): fork script from hub 2022-07-25 20:21:27 +02:00
Ruben Fiszel
0201e853df chore(main): release 1.23.0 (#235)
* chore(main): release 1.23.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-25 17:52:38 +02:00
Ruben Fiszel
7c90a652ae more icons for resource types 2022-07-25 16:02:32 +02:00
github-actions[bot]
bf28a4a673 sync hub items with community #237
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-25 14:29:14 +02:00
Ruben Fiszel
bc650b0ade fix(oauth2): add google clients 2022-07-25 13:26:19 +02:00
Ruben Fiszel
38987c6068 feat(frontend): title everywhere 2022-07-25 10:46:27 +02:00
Ruben Fiszel
62777b7a78 feat: hub flows integration 2022-07-25 10:03:52 +02:00
Ruben Fiszel
84ab9dae5d also allow editable flow 2022-07-24 11:27:36 +02:00
Ruben Fiszel
fc651629c7 fix: static is undefined by default instead of being empty '' 2022-07-23 23:16:53 +02:00
Ruben Fiszel
b05422963b feat(backend): do not require visibility on job to see job if in possesion of uuid 2022-07-23 21:16:48 +02:00
Ruben Fiszel
bb58eba2b5 feat(frontend): deeper integration with the hub 2022-07-23 21:11:31 +02:00
Ruben Fiszel
ba4de1af0a websocket auto-connect 2022-07-23 18:29:21 +02:00
Ruben Fiszel
d4298882d4 websocket auto-connect 2022-07-23 18:28:41 +02:00
Ruben Fiszel
9e9138e4ee fix: display websocket status in flow inline editor 2022-07-23 16:09:53 +02:00
Ruben Fiszel
2b3ddc1dda remove unnecessary vscode import 2022-07-23 15:54:16 +02:00
Ruben Fiszel
7a6a2c982d feat: add editor bar to inline scripts of flows 2022-07-23 11:20:22 +02:00
Ruben Fiszel
d95128e681 fix: do not redirect to /user on /user namespace 2022-07-22 21:43:42 +02:00
Ruben Fiszel
f5a30bed63 chore(main): release 1.22.0 (#234)
* chore(main): release 1.22.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-22 21:13:35 +02:00
Ruben Fiszel
c7528d417f fix: export json is converted to pull mode + rd fix 2022-07-22 21:12:03 +02:00
Ruben Fiszel
666e0f68d0 fix: export json is converted to pull mode 2022-07-22 02:28:05 +02:00
Ruben Fiszel
36606ab8b6 feat: more visual cues about trigger scripts 2022-07-22 02:23:10 +02:00
Ruben Fiszel
154c2a91ca feat: more visual cues about trigger scripts 2022-07-22 02:22:09 +02:00
Ruben Fiszel
7862ff41e2 feat: import and export flow from JSON 2022-07-22 02:07:19 +02:00
Ruben Fiszel
4be5d37a54 fix: improve tooltip 2022-07-22 00:15:49 +02:00
Ruben Fiszel
c84b1c9a8c fix: improve tooltip 2022-07-21 23:58:32 +02:00
Ruben Fiszel
38ffcfeb29 feat: rich rendering of flows 2022-07-21 21:13:53 +02:00
Ruben Fiszel
4d01598e24 fix: placeholder undefined for arginput 2022-07-21 15:32:11 +02:00
Faton Ramadani
3c16621f6b feat: dynamic template for script inputs in flow
* Refactor flow UI/UX + added fork and create script from inline script

* Prevent infinite loop when remove steps

* Fix forking a script from the Hub

* Fix viewing code of  a script from the Hub

* Fix PR comments

* Fix code highlight

* Fix path

* Find next available path

* Fix copy first step schema

* Light dynamic input WIP

* Fix initial input transform

* Use backquote to inject code

* Light dynamic input working

* Adapt warning message

* Merge main

* Change toggle text

* Change toggle text

* Fix preview

* Add missing id

* Fix z-index

* Update frontend/src/lib/components/ModuleStep.svelte

* pushed propertiesType fix

* pushed propertiesType fix

* JSON.parse resulting expr

* use class for property-picker

* Rework onmouseleave logic

* handle all types

* give up on object

* give up on object

* give up on object

* fix toggle

* good to merge

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-07-21 14:58:55 +02:00
Ruben Fiszel
d1c0feb025 minor UI fixes 2022-07-20 20:02:35 +02:00
Ruben Fiszel
855647fdf0 minor UI fixes 2022-07-20 20:02:12 +02:00
Ruben Fiszel
9adf252c1f minor UI fixes 2022-07-20 20:00:36 +02:00
Ruben Fiszel
134b3a6356 minor UI fixes 2022-07-20 19:53:38 +02:00
Ruben Fiszel
1ec69efcbb minor UI fixes 2022-07-20 19:32:49 +02:00
Ruben Fiszel
02a37900fe minor UI fixes 2022-07-20 19:28:11 +02:00
Ruben Fiszel
029f0bc509 sqlx fix 2022-07-20 18:44:08 +02:00
Ruben Fiszel
5eb190b0ba flow UI improvements 2022-07-20 18:36:15 +02:00
Ruben Fiszel
f6d6934584 feat: add delete schedule 2022-07-20 17:37:04 +02:00
Ruben Fiszel
acb09d1ce1 small frontend fixes 2022-07-20 15:57:45 +02:00
Ruben Fiszel
c34633989e feat(backend): check of no path conflict between flow and flow's primary schedules 2022-07-20 14:43:08 +02:00
github-actions[bot]
9eefde4027 sync hub items with community (#193)
* [create-pull-request] automated change

* Update mongodb.json

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-07-20 12:57:54 +02:00
Ruben Fiszel
da2845321a chore(frontend): update sveltekit (#195)
* chore(frontent): update sveltekit

* remove cypress

* dont pin vite
2022-07-20 12:49:49 +02:00
Ruben Fiszel
d3dbd6f8dd sqlx fix 2022-07-19 21:04:27 +02:00
Ruben Fiszel
f429074528 fix(frontend): remove unecessary step 1 of flows 2022-07-19 21:03:19 +02:00
Ruben Fiszel
5941467ea1 fix(frontend): initFlow also reset schemaStore 2022-07-19 20:43:50 +02:00
Ruben Fiszel
97292d18fb fix(frontend): filter script by is_trigger and jobs by is_skipped + path fix 2022-07-19 20:23:58 +02:00
Ruben Fiszel
08ab4d171a fix(deno-client): make hack for patching openapi-generator more stable 2022-07-19 11:02:26 +02:00
Ruben Fiszel
c269de82b9 chore(main): release 1.21.1 (#233) 2022-07-19 10:59:53 +02:00
Ruben Fiszel
2f4df43a1a fix(deno-client): make hack for patching openapi-generator more stable 2022-07-19 10:59:07 +02:00
dependabot[bot]
8e4b95de21 chore(deps-dev): bump @playwright/test in /frontend (#231)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.23.2 to 1.23.4.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.23.2...v1.23.4)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-19 08:55:10 +00:00
Ruben Fiszel
49f8050aaf fix(python-client): sed openapi to avoid generator circular dependency 2022-07-19 10:46:10 +02:00
Ruben Fiszel
8c41100402 chore(deps): update backend dependencies 2022-07-19 10:08:02 +02:00
Ruben Fiszel
7d39f81b82 chore(main): release 1.21.0 (#215)
* chore(main): release 1.21.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-19 06:01:18 +02:00
Ruben Fiszel
6939f9d76b fix: list with is_skipped + deno-client fix 2022-07-19 05:59:12 +02:00
Ruben Fiszel
98a5959fcc fix(backend): clear env variables before running script 2022-07-19 05:51:19 +02:00
dependabot[bot]
16d0144483 chore(deps-dev): bump eslint from 8.19.0 to 8.20.0 in /frontend (#229)
Bumps [eslint](https://github.com/eslint/eslint) from 8.19.0 to 8.20.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.19.0...v8.20.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  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>
2022-07-18 19:13:18 +00:00
dependabot[bot]
ef3938a326 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#226)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.30.6 to 5.30.7.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.7/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-18 19:06:07 +00:00
dependabot[bot]
00efd2c845 chore(deps-dev): bump @sveltejs/adapter-node in /frontend (#220)
Bumps [@sveltejs/adapter-node](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-node) from 1.0.0-next.79 to 1.0.0-next.81.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-node/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-node@1.0.0-next.81/packages/adapter-node)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-18 18:54:29 +00:00
dependabot[bot]
f9c0dacab4 chore(deps-dev): bump svelte-highlight from 6.1.2 to 6.2.0 in /frontend (#228)
Bumps [svelte-highlight](https://github.com/metonym/svelte-highlight) from 6.1.2 to 6.2.0.
- [Release notes](https://github.com/metonym/svelte-highlight/releases)
- [Changelog](https://github.com/metonym/svelte-highlight/blob/master/CHANGELOG.md)
- [Commits](https://github.com/metonym/svelte-highlight/compare/v6.1.2...v6.2.0)

---
updated-dependencies:
- dependency-name: svelte-highlight
  dependency-type: direct:development
  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>
2022-07-18 18:54:02 +00:00
dependabot[bot]
006866a846 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#223)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.30.6 to 5.30.7.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.7/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-18 18:46:05 +00:00
dependabot[bot]
e8a6a05ef5 chore(deps): bump tokio from 1.19.2 to 1.20.0 in /backend (#222)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.19.2 to 1.20.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.19.2...tokio-1.20.0)

---
updated-dependencies:
- dependency-name: tokio
  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>
2022-07-18 18:45:00 +00:00
dependabot[bot]
2b5fd19b55 chore(deps): bump deno_core from 0.142.0 to 0.143.0 in /backend (#219)
Bumps [deno_core](https://github.com/denoland/deno) from 0.142.0 to 0.143.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  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>
2022-07-18 18:35:46 +00:00
dependabot[bot]
ef86b3c1b5 chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#218)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.35 to 1.0.0-next.37.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.37/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-18 18:31:47 +00:00
Ruben Fiszel
9828e545e9 fix(frontend): validate username 2022-07-18 17:29:27 +02:00
Ruben Fiszel
ca66d33a42 fix: consistent exists/{resource} addition + usage in frontend 2022-07-18 17:21:34 +02:00
Ruben Fiszel
6ef3754759 feat: add run_wait_result to mimic lambda ability 2022-07-18 00:45:05 +02:00
Ruben Fiszel
7769510ea0 chore(main): release 1.20.0 (#207)
* chore(main): release 1.20.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-17 18:53:18 +02:00
Ruben Fiszel
bd004cff0f fix(frontend): createInlineScript only create trigger script if step = 0 2022-07-17 18:48:36 +02:00
Ruben Fiszel
8272b11107 fix(frontend): chrome columns-2 fix for pull/push 2022-07-17 18:46:13 +02:00
Ruben Fiszel
8918eb6fdb fix: flow UI back and forth pull/push fix 2022-07-17 18:40:21 +02:00
Ruben Fiszel
0973859813 fix: flow UI back and forth pull/push fix 2022-07-17 18:38:57 +02:00
Ruben Fiszel
7e846c32a6 fix: HubPicker pick from trigger scripts when relevant 2022-07-17 18:14:50 +02:00
Ruben Fiszel
af23b30c37 feat: trigger scripts and have flows being triggered by checking new external events regularly (#200)
* v1 trigger scripts

* progress

* stop early condition

* backend execution model

* progress

* progress

* progress

* works but todo: collect result, render forloop, convert forloopraw to seq for frontend

* collect result

* v1

* that's enough

* sed
2022-07-17 13:17:45 +02:00
Ruben Fiszel
8338bf337c chore(main): release 1.19.3 (#206)
* chore(main): release 1.19.3

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-15 20:28:08 +02:00
Ruben Fiszel
0967c1be65 fix(deno-client): do not create resource for createInternalPath 2022-07-15 20:26:49 +02:00
Ruben Fiszel
c624460c4b chore(main): release 1.19.2 (#205)
* chore(main): release 1.19.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-15 19:26:38 +02:00
Ruben Fiszel
18e33bb407 fix(deno-client): handle text/plain parse 2022-07-15 19:23:32 +02:00
sqwishy
636bed8f8f wrap array results from deno scripts in object (#204) 2022-07-15 19:11:56 +02:00
sqwishy
af9dec7bf4 deno script args spread to array (#203)
smol issue where a deno script with parameters named `main` or `run`
will try to assign over imported main or the run function.

This uses the spread syntax to unpack the arguments and arrange them in
an array in argument order.  Instead of making assignments to the scope.
2022-07-14 21:30:31 +02:00
Ruben Fiszel
3a25ed24ce chore(main): release 1.19.1 (#202)
* chore(main): release 1.19.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-14 19:54:49 +02:00
Ruben Fiszel
98968ab039 fix(deno-client): handle text/plain serialize 2022-07-14 19:53:12 +02:00
Ruben Fiszel
cd621a6285 fix(backend): create resource would fail if is_oauth was not set 2022-07-14 19:48:14 +02:00
Ruben Fiszel
fb2b8e7353 chore(main): release 1.19.0 (#197)
* chore(main): release 1.19.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-14 18:44:51 +02:00
sqwishy
9a6db758c1 fix: write job arguments to file (#199)
Job arguments are serialized to JSON and then parsed by the Python/Deno
script.  The current code tries to escape the JSON and include it as a
string in either of those languages.  It doesn't quite work right and
there are some issues with escaping.  This writes the JSON string to a
file and loads the file from those scripts instead.
2022-07-14 18:42:29 +02:00
Ruben Fiszel
372b14e158 fix(frontend): add arbitrary scopes to connect an app 2022-07-14 14:40:06 +02:00
Faton Ramadani
50bc14c39f Fix initial input transform (#198) 2022-07-13 13:02:24 +02:00
Ruben Fiszel
19435851de feat: add DISABLE_NSJAIL mode 2022-07-13 12:33:37 +02:00
Ruben Fiszel
2eac1ef363 fix: add new ca-certificates folders for nsjail 2022-07-13 11:40:13 +02:00
Ruben Fiszel
29d048c485 chore(main): release 1.18.0 (#174)
* chore(main): release 1.18.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-13 11:34:07 +02:00
Faton Ramadani
5502047474 Refactor flow UI/UX + added fork and create script from inline script (#175)
* Refactor flow UI/UX + added fork and create script from inline script

* Prevent infinite loop when remove steps

* Fix forking a script from the Hub

* Fix viewing code of  a script from the Hub

* Fix PR comments

* Fix code highlight

* Fix path

* Find next available path

* Fix copy first step schema
2022-07-13 11:29:43 +02:00
Ruben Fiszel
8403fbbc02 feat: account part II, handle refresh tokens, clarify oauth UI (#196) 2022-07-13 10:35:08 +02:00
dependabot[bot]
ebee5168cf chore(deps-dev): bump @tailwindcss/typography in /frontend (#186)
Bumps [@tailwindcss/typography](https://github.com/tailwindcss/typography) from 0.5.2 to 0.5.3.
- [Release notes](https://github.com/tailwindcss/typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindcss/typography/compare/v0.5.2...v0.5.3)

---
updated-dependencies:
- dependency-name: "@tailwindcss/typography"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-12 08:14:43 +00:00
Ruben Fiszel
2fd062a50a chore(backend): update all deps 2022-07-12 10:10:47 +02:00
dependabot[bot]
499da53d3b chore(deps-dev): bump @typescript-eslint/parser in /frontend (#188)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.30.5 to 5.30.6.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.6/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-12 10:01:46 +02:00
dependabot[bot]
c9259142c9 chore(deps-dev): bump @playwright/test in /frontend (#191)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.23.1 to 1.23.2.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.23.1...v1.23.2)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-12 10:01:15 +02:00
dependabot[bot]
18d8fd589e chore(deps-dev): bump tailwindcss from 3.1.4 to 3.1.6 in /frontend (#192)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.1.4 to 3.1.6.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.1.4...v3.1.6)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-11 23:12:58 +00:00
dependabot[bot]
4c0bb4acfd chore(deps-dev): bump @sveltejs/adapter-node in /frontend (#189)
Bumps [@sveltejs/adapter-node](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-node) from 1.0.0-next.78 to 1.0.0-next.79.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-node/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-node@1.0.0-next.79/packages/adapter-node)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-11 23:03:35 +00:00
dependabot[bot]
a7eb9d61ee chore(deps-dev): bump svelte from 3.48.0 to 3.49.0 in /frontend (#190)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.48.0 to 3.49.0.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.48.0...v3.49.0)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  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>
2022-07-11 22:57:01 +00:00
dependabot[bot]
a2451965ad chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#179)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.30.5 to 5.30.6.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.6/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-11 22:35:15 +00:00
dependabot[bot]
d1bf1f3981 chore(deps): bump serde from 1.0.138 to 1.0.139 in /backend (#180)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.138 to 1.0.139.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.138...v1.0.139)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-12 00:04:51 +02:00
dependabot[bot]
1acf93ede5 chore(deps): bump deno_core from 0.141.0 to 0.142.0 in /backend (#181)
Bumps [deno_core](https://github.com/denoland/deno) from 0.141.0 to 0.142.0.
- [Release notes](https://github.com/denoland/deno/releases)
- [Changelog](https://github.com/denoland/deno/blob/main/Releases.md)
- [Commits](https://github.com/denoland/deno/commits)

---
updated-dependencies:
- dependency-name: deno_core
  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>
2022-07-12 00:04:21 +02:00
dependabot[bot]
8cc6164576 chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#182)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.34 to 1.0.0-next.35.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.35/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-12 00:03:39 +02:00
dependabot[bot]
48a02d2809 chore(deps): bump regex from 1.5.6 to 1.6.0 in /backend (#183)
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.6 to 1.6.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.6...1.6.0)

---
updated-dependencies:
- dependency-name: regex
  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>
2022-07-12 00:03:02 +02:00
dependabot[bot]
b77d2d7571 chore(deps-dev): bump @types/vscode from 1.68.1 to 1.69.0 in /frontend (#184)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.68.1 to 1.69.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  dependency-type: direct:development
  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>
2022-07-12 00:02:26 +02:00
dependabot[bot]
ef8ef55207 chore(deps): bump dependabot/fetch-metadata from 1.1.1 to 1.3.3 (#176)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.1.1 to 1.3.3.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.1.1...v1.3.3)

---
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>
2022-07-11 18:36:32 +00:00
Ruben Fiszel
6a341f5dc3 fix(frontend): fix path group refresh & create variable path reset 2022-07-08 16:52:06 +02:00
Ruben Fiszel
2009bc43a8 chore(main): release 1.17.1 (#172)
* chore(main): release 1.17.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-08 12:52:21 +02:00
Ruben Fiszel
5b89abe282 fix(deno-client): fix stringify 2022-07-08 12:45:51 +02:00
Ruben Fiszel
5da9819ca5 fix(frontend): fix sendRequest 2022-07-08 12:32:55 +02:00
Ruben Fiszel
d6e0817dc4 fix(frontend): change lsp behavior 2022-07-08 11:12:25 +02:00
Ruben Fiszel
cf2dfd7fe7 fix(backend): set error content-type to text 2022-07-07 18:07:56 +02:00
Ruben Fiszel
72c7890427 fix(frontend): reload editor when language changes for in-flow editor 2022-07-07 17:19:10 +02:00
Ruben Fiszel
635873a96a fix(frontend): sveltekit prerender enabled -> default 2022-07-07 17:10:40 +02:00
Ruben Fiszel
e400dccedd fix(frontend): connect an app resource creation 2022-07-07 11:06:22 +02:00
Ruben Fiszel
68c5318d16 fix(frontend): connect an app resource creation 2022-07-07 10:51:17 +02:00
Ruben Fiszel
22eef8afab fix(frontend): current hash link 2022-07-07 09:10:02 +02:00
Ruben Fiszel
6f0e14e063 ci: publish lsp only on new releases 2022-07-06 00:29:46 +02:00
Ruben Fiszel
d3904fd3eb fix: remove unnecessary v8 snapshot 2022-07-06 00:22:37 +02:00
Ruben Fiszel
466f6b339a fix: in-flow script editor fixes 2022-07-05 12:02:12 +02:00
Ruben Fiszel
5853dfd85d fix: in-flow script editor fixes 2022-07-05 11:57:30 +02:00
Ruben Fiszel
5fbaa5ed2b chore(main): release 1.17.0 (#171)
* chore(main): release 1.17.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-05 11:43:50 +02:00
Ruben Fiszel
330b373c24 feat: in-flow editor mvp 2022-07-05 11:26:13 +02:00
dependabot[bot]
193e486882 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#169)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.30.3 to 5.30.5.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.5/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-05 03:08:36 +00:00
Ruben Fiszel
de3dda951e ci: dependatbot auto-merge 2022-07-05 05:04:41 +02:00
Ruben Fiszel
6562ef7d8a ci: dependatbot auto-merge 2022-07-05 04:04:47 +02:00
Ruben Fiszel
7208636de8 ci: dependatbot auto-merge 2022-07-05 03:55:05 +02:00
Ruben Fiszel
c35b8cbb0a ci: dependatbot auto-merge 2022-07-05 03:50:02 +02:00
Ruben Fiszel
f82bd668c3 ci: dependatbot auto-merge 2022-07-05 03:45:13 +02:00
Ruben Fiszel
4bdf3a0482 ci: dependatbot auto-merge 2022-07-05 03:41:45 +02:00
Ruben Fiszel
ae9fb3b955 ci: dependatbot auto-merge 2022-07-05 03:39:01 +02:00
Ruben Fiszel
adfeaea2d8 ci: dependatbot auto-merge 2022-07-05 03:37:07 +02:00
Ruben Fiszel
9988adfa35 ci: dependatbot auto-merge 2022-07-05 03:33:42 +02:00
Ruben Fiszel
340394448e auto-merge 2022-07-05 03:23:54 +02:00
dependabot[bot]
239064be1c chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#168)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.30.3 to 5.30.5.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.5/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-05 03:06:16 +02:00
Ruben Fiszel
f93a5d6f99 chore(main): release 1.16.1 (#167)
* chore(main): release 1.16.1

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-05 02:03:14 +02:00
Ruben Fiszel
c425bc95d4 ci: auto-merge dependabot 2022-07-05 02:01:00 +02:00
Ruben Fiszel
89aabebf59 Replace cypress with playwright (#170)
* cypress

* all

* global setup

* global setup

* setup node

* setup node

* setup node
2022-07-05 01:46:43 +02:00
Ruben Fiszel
1dcba67a1f fix: oauth logins used incorrect scope 2022-07-04 22:57:04 +02:00
Ruben Fiszel
d092c622c4 fix: trace errors body 2022-07-04 22:14:46 +02:00
Ruben Fiszel
43cc952a15 fix: trace errors body 2022-07-04 07:58:51 +02:00
Ruben Fiszel
e881ff200d cypress .gitignore 2022-07-03 19:29:12 +02:00
Ruben Fiszel
cb88aeff98 cypress baseUrl 2022-07-03 19:26:50 +02:00
Ruben Fiszel
394546c797 baseUrl 2022-07-03 19:26:25 +02:00
Ruben Fiszel
5d8798b3f2 ci: cypress 2022-07-03 10:30:03 +02:00
Ruben Fiszel
a4302eb6cb ci: cypress timeout 2022-07-03 09:39:34 +02:00
Ruben Fiszel
e4a6378601 fix: bump all backend deps by breaking cycling through not using oauth2 2022-07-03 09:22:11 +02:00
Ruben Fiszel
3b22a92947 fix: bump all backend deps by breaking cycling through not using oauth2 2022-07-03 09:21:48 +02:00
Ruben Fiszel
2aadad078e change node version 2022-07-03 04:08:13 +02:00
dependabot[bot]
7d017544ae chore(deps-dev): bump svelte-highlight from 6.0.1 to 6.1.2 in /frontend (#164)
Bumps [svelte-highlight](https://github.com/metonym/svelte-highlight) from 6.0.1 to 6.1.2.
- [Release notes](https://github.com/metonym/svelte-highlight/releases)
- [Changelog](https://github.com/metonym/svelte-highlight/blob/master/CHANGELOG.md)
- [Commits](https://github.com/metonym/svelte-highlight/compare/v6.0.1...v6.1.2)

---
updated-dependencies:
- dependency-name: svelte-highlight
  dependency-type: direct:development
  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>
2022-07-03 03:56:15 +02:00
dependabot[bot]
18d2ae4083 chore(deps-dev): bump stylelint-config-recommended in /frontend (#165)
Bumps [stylelint-config-recommended](https://github.com/stylelint/stylelint-config-recommended) from 7.0.0 to 8.0.0.
- [Release notes](https://github.com/stylelint/stylelint-config-recommended/releases)
- [Changelog](https://github.com/stylelint/stylelint-config-recommended/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint-config-recommended/compare/7.0.0...8.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-recommended
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-03 03:55:19 +02:00
dependabot[bot]
f576b7c5ac chore(deps-dev): bump @sveltejs/kit in /frontend (#166)
Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 1.0.0-next.355 to 1.0.0-next.357.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@1.0.0-next.357/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-03 03:55:04 +02:00
Ruben Fiszel
5f8556aca9 editor bump + fixes 2022-07-03 03:52:37 +02:00
dependabot[bot]
56ce70b4c5 chore(deps-dev): bump tailwindcss from 3.0.24 to 3.1.4 in /frontend (#160)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.24 to 3.1.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.24...v3.1.4)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2022-07-03 03:35:03 +02:00
dependabot[bot]
c02cf23a74 chore(deps-dev): bump svelte2tsx from 0.5.10 to 0.5.11 in /frontend (#161)
Bumps [svelte2tsx](https://github.com/sveltejs/language-tools) from 0.5.10 to 0.5.11.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte2tsx-0.5.10...svelte2tsx-0.5.11)

---
updated-dependencies:
- dependency-name: svelte2tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-03 03:33:50 +02:00
dependabot[bot]
98067e28dc chore(deps-dev): bump prettier from 2.6.2 to 2.7.1 in /frontend (#162)
Bumps [prettier](https://github.com/prettier/prettier) from 2.6.2 to 2.7.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.6.2...2.7.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  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>
2022-07-03 03:33:39 +02:00
dependabot[bot]
4eefeb49f7 chore(deps-dev): bump openapi-typescript-codegen in /frontend (#163)
Bumps [openapi-typescript-codegen](https://github.com/ferdikoomen/openapi-typescript-codegen) from 0.22.0 to 0.23.0.
- [Release notes](https://github.com/ferdikoomen/openapi-typescript-codegen/releases)
- [Changelog](https://github.com/ferdikoomen/openapi-typescript-codegen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ferdikoomen/openapi-typescript-codegen/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: openapi-typescript-codegen
  dependency-type: direct:development
  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>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-07-03 03:33:27 +02:00
Ruben Fiszel
9c1b4a4d69 remove baseUrl cypress config 2022-07-03 03:32:31 +02:00
Ruben Fiszel
033ba83f3b cypress 2022-07-03 01:12:09 +02:00
dependabot[bot]
7eff4b9241 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#149)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.27.0 to 5.30.3.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.3/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  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>
2022-07-03 01:06:19 +02:00
dependabot[bot]
f4eb6c4b6a chore(deps): bump @types/vscode from 1.67.0 to 1.68.1 in /frontend (#151)
Bumps [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) from 1.67.0 to 1.68.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode)

---
updated-dependencies:
- dependency-name: "@types/vscode"
  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>
2022-07-03 01:04:55 +02:00
dependabot[bot]
50919f5a63 chore(deps-dev): bump eslint from 8.16.0 to 8.19.0 in /frontend (#152)
Bumps [eslint](https://github.com/eslint/eslint) from 8.16.0 to 8.19.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.16.0...v8.19.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  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>
2022-07-03 01:04:36 +02:00
dependabot[bot]
3b07c606a9 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#158)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.27.0 to 5.30.3.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.30.3/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  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>
2022-07-03 01:04:25 +02:00
Ruben Fiszel
dd36505f44 chore(deps): backend bump 2022-07-03 01:00:46 +02:00
Ruben Fiszel
6c4d1ea350 chore(main): release 1.16.0 (#157)
* chore(main): release 1.16.0

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-03 00:29:08 +02:00
Ruben Fiszel
84dc98237f fix: misc frontend 2022-07-03 00:27:03 +02:00
Ruben Fiszel
7941f4d3bb fix: misc frontend 2022-07-03 00:21:14 +02:00
Ruben Fiszel
a97949472d fix: misc frontend 2022-07-03 00:06:11 +02:00
Ruben Fiszel
d4e7c9e171 fix: add gitlab to connects 2022-07-02 21:06:40 +02:00
Ruben Fiszel
3636866dda feat: OAuth "Connect an App" (#155) 2022-07-02 21:04:41 +02:00
github-actions[bot]
29c33893aa sync hub items with community #156
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-02 20:45:48 +02:00
Ruben Fiszel
6f4e7e1853 remove unecessary pthon 3.7 from Dockerfile (#110) 2022-07-02 19:25:30 +02:00
dependabot[bot]
7827b64d97 chore(deps-dev): bump cssnano from 5.1.10 to 5.1.12 in /frontend (#117)
Bumps [cssnano](https://github.com/cssnano/cssnano) from 5.1.10 to 5.1.12.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@5.1.10...cssnano@5.1.12)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 19:24:41 +02:00
dependabot[bot]
82d318582f chore(deps-dev): bump @sveltejs/kit in /frontend (#134)
Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 1.0.0-next.347 to 1.0.0-next.355.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@1.0.0-next.355/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 19:24:01 +02:00
dependabot[bot]
1ecbea8ad0 chore(deps): bump time from 0.3.9 to 0.3.11 in /backend (#126)
Bumps [time](https://github.com/time-rs/time) from 0.3.9 to 0.3.11.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.9...v0.3.11)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 19:23:45 +02:00
dependabot[bot]
2cd9ca51a9 chore(deps-dev): bump svelte-check from 2.7.1 to 2.8.0 in /frontend (#135)
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check-2.7.1...svelte-check-2.8.0)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-type: direct:development
  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>
2022-07-02 19:23:28 +02:00
github-actions[bot]
77429c5336 sync hub items with community #148
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-07-02 19:22:35 +02:00
Ruben Fiszel
7bde7a4680 chore(main): release 1.15.1 (#147)
* chore(main): release 1.15.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-29 20:53:21 +02:00
Ruben Fiszel
6954580801 fix: databaseUrlFromResource uses proper database field 2022-06-29 20:47:08 +02:00
Ruben Fiszel
b91fe85b7b chore(main): release 1.15.0 (#144)
* chore(main): release 1.15.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-29 18:47:33 +02:00
Faton Ramadani
44b4acf4bc feat: Flows Property picker component + Dynamic type inference (#129)
* Flows Property picker component + Dynamic type inference

* Merge main

* Fix selection for arrays and nested props

* Address PR comments + remove useless debugger

* Update Editor.svelte

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-06-29 18:35:46 +02:00
Ruben Fiszel
8fbb42e65e chore(main): release 1.14.6 (#143)
* chore(main): release 1.14.6

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-28 00:49:42 +02:00
Ruben Fiszel
2659e9d62b fix: add databaseUrlFromResource to deno 2022-06-28 00:46:14 +02:00
Ruben Fiszel
b9ddc7e6c8 chore(main): release 1.14.5 (#142)
* chore(main): release 1.14.5

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-27 23:19:24 +02:00
Ruben Fiszel
d41913a440 fix: index.ts -> mod.ts 2022-06-27 23:17:31 +02:00
Ruben Fiszel
e07b5d4f30 fix: insert getResource proper parenthesis 2022-06-27 23:17:05 +02:00
Ruben Fiszel
880d98ca92 chore(main): release 1.14.4 (#141)
* chore(main): release 1.14.4

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-27 23:13:28 +02:00
Ruben Fiszel
8c0acac212 fix: windmill deno package index.ts -> mod.ts 2022-06-27 23:12:22 +02:00
Ruben Fiszel
9decbaf7a1 chore(main): release 1.14.3 (#140)
* chore(main): release 1.14.3

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-27 22:57:37 +02:00
Ruben Fiszel
63a7401f24 fix: internal state for script triggers v4 2022-06-27 22:55:18 +02:00
Ruben Fiszel
31445d7182 fix: internal state for script triggers v3 2022-06-27 22:53:40 +02:00
Ruben Fiszel
22c6347d8a fix: internal state for script triggers v3 2022-06-27 22:53:00 +02:00
Ruben Fiszel
315e2c7417 chore(main): release 1.14.2 (#139)
* chore(main): release 1.14.2

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-27 22:45:45 +02:00
Ruben Fiszel
e7ae94eb45 fix: internal state for script triggers v2 2022-06-27 22:43:56 +02:00
Ruben Fiszel
f9eedc31ed fix: internal state for script triggers v2 2022-06-27 22:42:38 +02:00
Ruben Fiszel
f96d0fbda2 chore(main): release 1.14.1 (#138) 2022-06-27 22:03:58 +02:00
Ruben Fiszel
6321311112 fix: internal state for script triggers v1 2022-06-27 22:03:02 +02:00
Ruben Fiszel
8c5eb4de17 chore(main): release 1.14.0 (#128)
* chore(main): release 1.14.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-27 21:55:54 +02:00
Ruben Fiszel
dcdb989adb feat: internal state for script triggers mvp 2022-06-27 21:51:23 +02:00
github-actions[bot]
9fb7e6d37f sync hub items with community (#133)
* [create-pull-request] automated change

* Delete smtp.json

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-06-27 03:08:58 +02:00
Ruben Fiszel
66447bfff2 ci: pull hub items fix 2022-06-27 03:05:08 +02:00
Ruben Fiszel
4378c2d3f8 pass email to script hub fetching 2022-06-25 21:42:28 +02:00
Ruben Fiszel
472159d519 test hub and deploy 2022-06-25 03:42:48 +02:00
Ruben Fiszel
40e74e8e83 update windmill-gh-action-deploy 2022-06-25 03:40:41 +02:00
Ruben Fiszel
d4c698838b test hub and deploy 2022-06-25 03:36:15 +02:00
Ruben Fiszel
c6bfd74ed3 fix paths for ci actions 2022-06-25 03:35:44 +02:00
Ruben Fiszel
4cfd86d1d0 change community items to fit hub 2022-06-25 03:32:23 +02:00
Ruben Fiszel
81f0e85c8d add Pull Hub Items github action 2022-06-25 03:15:09 +02:00
Ruben Fiszel
5b8905ed02 add Pull Hub Items github action 2022-06-25 03:11:35 +02:00
Ruben Fiszel
85286c300e add pull_hub script 2022-06-25 03:07:44 +02:00
Ruben Fiszel
a50b8d4540 frontend: remove WIP for deno 2022-06-24 22:32:01 +02:00
Ruben Fiszel
bb946ed551 fix: smart assistant reload 2022-06-24 22:25:04 +02:00
Ruben Fiszel
6c622bcc32 fix: deno exit after result logging 2022-06-24 21:57:55 +02:00
Ruben Fiszel
368779bfc5 grant workspace read 2022-06-24 20:18:22 +02:00
Ruben Fiszel
e0adf68838 sqlx fix 2022-06-24 19:32:38 +02:00
Ruben Fiszel
4947661b1d feat: deno run with --unstable 2022-06-24 19:22:17 +02:00
Ruben Fiszel
b10645ff65 remove quotas for premium workspaces 2022-06-24 19:20:27 +02:00
Ruben Fiszel
fdf95a065e fix: change default per page to 100 2022-06-23 21:16:17 +02:00
Ruben Fiszel
d69661bc37 (frontend) be more upfront about upcoming non-unlimited community features 2022-06-23 21:11:04 +02:00
Ruben Fiszel
6de9697d95 feat: add tesseract bin to worker image 2022-06-23 19:16:16 +02:00
Ruben Fiszel
f98f6429c1 fix: improve error handling 2022-06-23 19:09:40 +02:00
Ruben Fiszel
2efaf21915 fix: improve error handling 2022-06-23 19:00:17 +02:00
Ruben Fiszel
3e2ba96d8c reactive workspaces UI 2022-06-23 05:11:38 +02:00
Ruben Fiszel
2d02b7b2da split frontend common utilities 2022-06-23 05:06:07 +02:00
Ruben Fiszel
a5f08e578a language-client imports only if language is deno or python 2022-06-23 03:12:38 +02:00
Ruben Fiszel
fc0c38ffad fix: schemaPicker does not display editor by default 2022-06-23 02:05:44 +02:00
Ruben Fiszel
c30b31ea88 move gen as well to lib 2022-06-23 01:10:33 +02:00
Ruben Fiszel
99c861a903 fixing itemsType ts types 2022-06-22 23:27:33 +02:00
Ruben Fiszel
ecad14aa6a add frontend package task for windmill-components for reuse in hub 2022-06-22 23:10:08 +02:00
Ruben Fiszel
47a0be6b7e move to paths 2022-06-22 22:34:01 +02:00
Ruben Fiszel
7e4265e18f chore(main): release 1.13.0 (#115)
* chore(main): release 1.13.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-22 21:53:07 +02:00
Ruben Fiszel
276319d992 feat: better type narrowing for list and array types 2022-06-22 21:48:41 +02:00
Ruben Fiszel
6dc90a3906 fix: make email constraint case insensitive 2022-06-20 23:11:48 +02:00
Ian Eaves
026a449f37 Update README.md (#116)
😉
2022-06-20 19:55:34 +02:00
Ruben Fiszel
906f740a0d fix: fix webhook path for flows 2022-06-15 04:33:47 +02:00
Ruben Fiszel
680aebb996 chore(main): release 1.12.0 (#114)
* chore(main): release 1.12.0

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-14 09:07:56 +02:00
Ruben Fiszel
28b5671402 fix: rename ResourceType -> Resource 2022-06-14 08:55:55 +02:00
Ruben Fiszel
e127d2f79f feat: add ResourceType<'name'> as deno signature arg type 2022-06-14 03:04:00 +02:00
Ruben Fiszel
359ef15fa2 fix: more flexible ResourceType MainArgSignature parser 2022-06-14 02:23:34 +02:00
Ruben Fiszel
7739c4beaa chore(main): release 1.11.0 (#112)
* chore(main): release 1.11.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-14 01:45:10 +02:00
Ruben Fiszel
f1ee5f3130 feat: add ResourceType<'name'> as deno signature arg type 2022-06-14 01:43:24 +02:00
Ruben Fiszel
a59b92706b fix(frontend): loadItems not called in script picker 2022-06-13 20:47:27 +02:00
Ruben Fiszel
9f235c404e fix: force c_ prefix for adding resource type 2022-06-12 16:09:54 +02:00
Ruben Fiszel
95d98fc8fe remove exec_fd for compatibility with older kernels 2022-06-12 14:42:31 +02:00
Ruben Fiszel
8c4999d528 fix DISABLE_NUSER 2022-06-12 13:55:04 +02:00
Ruben Fiszel
a72d6dcc40 chore(deps): update backend dependencies 2022-06-12 13:48:05 +02:00
Ruben Fiszel
cce46f9440 feat: add DISABLE_NUSER for older kernels 2022-06-12 13:30:40 +02:00
Ruben Fiszel
5afcb2b274 rm unecessary Caddyfile 2022-06-12 03:52:17 +02:00
Ruben Fiszel
0da602d2c7 chore(main): release 1.10.1 (#111)
* chore(main): release 1.10.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-12 03:45:23 +02:00
Ruben Fiszel
295e28fd43 fix: python-client verify ssl 2022-06-12 03:42:44 +02:00
Ruben Fiszel
c3526d3172 simplify dockerfile - remove unecessary caddy 2022-06-12 03:05:39 +02:00
Ruben Fiszel
c3d2fd6e52 chore(main): release 1.10.0 (#105)
* chore(main): release 1.10.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-12 02:01:27 +02:00
Ruben Fiszel
1a61d50076 feat: alpha hub integration + frontend user store fixes + script client base_url fix 2022-06-12 01:55:05 +02:00
Ruben Fiszel
f691f53224 chore(main): release 1.9.0 (#63)
* chore(main): release 1.9.0

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-06-05 13:43:51 +02:00
Ruben Fiszel
55ec20f1de bump svelte-preprocess 2022-06-05 13:30:49 +02:00
Ruben Fiszel
f2348b5526 fix: remove annoying transitions for scripts and flows 2022-06-05 13:16:00 +02:00
Ruben Fiszel
75cdb228dc fix login bug 2022-06-03 21:00:13 +02:00
Ruben Fiszel
26b8fd159a fix login bug 2022-06-03 20:52:14 +02:00
Faton Ramadani
fc8b078101 Setup Cypress e2e tests (#91)
* Setup Cypress e2e tests

* Add login function

* Cypress github action setup

* Fix CI github action

* Properly setup node and install dependencies

* Wait on localhost to respond before running the tests

* Install missing dependencies

* Remove rust setup

* Stop caddy after installation

* Remove Caddy from CI

* Properly connect to DB

* CI clean up

* Run cypress after build

* Testing CI

* Restore commented code

* Fix docker image tag

* Fix tags

* Fix tag

* Fix tag

* Fix node_modules

* Fix postgres host name

* Bind

* Fix port

* Logs

* Fix DB Host

* Test GA

* Create docker network

* Get IP from container

* Try removing custom wait-on

* Correctly run cypress tests

* Print IP

* Add logs

* Debug docker

* Add logs

* Logs

* logs

* Fix DB hostname

* tring my way

* tring my way

* tring my way

* tring my way

* works

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-06-03 20:22:12 +02:00
Ruben Fiszel
20cabe3335 minor fixes 2022-06-03 19:39:37 +02:00
Ruben Fiszel
0fe276b564 fix login button 2022-06-02 12:12:42 +02:00
Ruben Fiszel
8a8dbcb582 contributors section in README 2022-06-01 20:28:20 +02:00
dependabot[bot]
587ce379d4 chore(deps-dev): bump @sveltejs/kit in /frontend (#88)
Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 1.0.0-next.342 to 1.0.0-next.347.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@1.0.0-next.347/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 10:01:30 +02:00
dependabot[bot]
c8eedf7d77 chore(deps-dev): bump @typescript-eslint/parser in /frontend (#89)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.26.0 to 5.27.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.27.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  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>
2022-06-01 10:01:14 +02:00
dependabot[bot]
ca436d1d2a chore(deps-dev): bump @sveltejs/adapter-static in /frontend (#87)
Bumps [@sveltejs/adapter-static](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-static) from 1.0.0-next.31 to 1.0.0-next.34.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-static/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-static@1.0.0-next.34/packages/adapter-static)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-static"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 09:54:28 +02:00
dependabot[bot]
9876b22d62 chore(deps-dev): bump postcss-load-config in /frontend (#85)
Bumps [postcss-load-config](https://github.com/postcss/postcss-load-config) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/postcss/postcss-load-config/releases)
- [Changelog](https://github.com/postcss/postcss-load-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-load-config/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: postcss-load-config
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 09:54:02 +02:00
dependabot[bot]
04093a9a14 chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (#86)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.26.0 to 5.27.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.27.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  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>
2022-06-01 09:53:42 +02:00
dependabot[bot]
1f6946f09b chore(deps): bump @zerodevx/svelte-toast in /frontend (#80)
Bumps [@zerodevx/svelte-toast](https://github.com/zerodevx/svelte-toast) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/zerodevx/svelte-toast/releases)
- [Commits](https://github.com/zerodevx/svelte-toast/compare/v0.7.1...v0.7.2)

---
updated-dependencies:
- dependency-name: "@zerodevx/svelte-toast"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 09:52:46 +02:00
dependabot[bot]
5a14d4b7d8 chore(deps-dev): bump eslint-plugin-svelte3 in /frontend (#79)
Bumps [eslint-plugin-svelte3](https://github.com/sveltejs/eslint-plugin-svelte3) from 3.4.1 to 4.0.0.
- [Release notes](https://github.com/sveltejs/eslint-plugin-svelte3/releases)
- [Changelog](https://github.com/sveltejs/eslint-plugin-svelte3/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/eslint-plugin-svelte3/compare/v3.4.1...v4.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-svelte3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 09:51:47 +02:00
dependabot[bot]
645e01a970 chore(deps): bump regex from 1.5.5 to 1.5.6 in /backend (#74)
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.5 to 1.5.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.5...1.5.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 09:50:53 +02:00
dependabot[bot]
ee9d9d25bc chore(deps-dev): bump @sveltejs/adapter-node in /frontend (#84)
Bumps [@sveltejs/adapter-node](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-node) from 1.0.0-next.73 to 1.0.0-next.78.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/adapter-node/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/adapter-node@1.0.0-next.78/packages/adapter-node)

---
updated-dependencies:
- dependency-name: "@sveltejs/adapter-node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-06-01 09:49:04 +02:00
dependabot[bot]
fc19c3c247 chore(deps-dev): bump cssnano from 5.1.9 to 5.1.10 in /frontend (#82)
Bumps [cssnano](https://github.com/cssnano/cssnano) from 5.1.9 to 5.1.10.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@5.1.9...cssnano@5.1.10)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 09:48:17 +02:00
dependabot[bot]
54ca6362d6 chore(deps-dev): bump typescript from 4.6.4 to 4.7.2 in /frontend (#83)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.6.4 to 4.7.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.6.4...v4.7.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  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>
2022-06-01 09:47:02 +02:00
Ruben Fiszel
772c5806c9 login or signup whiter font 2022-06-01 09:45:51 +02:00
Ruben Fiszel
3d7a03af5f cloudflare function uses manual redirect 2022-05-30 12:48:08 +02:00
Ruben Fiszel
ac1cbba238 frontend: small fixes 2022-05-29 14:28:11 +02:00
Ruben Fiszel
d2078f175e frontend: small fixes 2022-05-29 14:27:24 +02:00
Ruben Fiszel
720093962a frontend: small fixes 2022-05-29 10:29:13 +02:00
Ruben Fiszel
e471a1d646 ci: more consistent docker image names 2022-05-26 00:49:41 +02:00
Faton Ramadani
9e6ab11484 Authentication refactor (#65)
* Refactor login logic

* Derive username from user + fix initial redirection if logged in

* Simplify how login navigation works

* Restore redirection

* Redirect to login page when not logged in

* Fix PR issues

* Add missing refreshSuperadmin when reloading a page with a valid token

* Explicitly clearing stores when logging out.

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-24 17:05:40 +02:00
dependabot[bot]
06eb50fbf2 chore(deps-dev): bump openapi-typescript-codegen in /frontend (#70)
Bumps [openapi-typescript-codegen](https://github.com/ferdikoomen/openapi-typescript-codegen) from 0.11.8 to 0.22.0.
- [Release notes](https://github.com/ferdikoomen/openapi-typescript-codegen/releases)
- [Changelog](https://github.com/ferdikoomen/openapi-typescript-codegen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ferdikoomen/openapi-typescript-codegen/commits/v0.22.0)

---
updated-dependencies:
- dependency-name: openapi-typescript-codegen
  dependency-type: direct:development
  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>
2022-05-24 16:44:39 +02:00
dependabot[bot]
40a380e9ec chore(deps-dev): bump postcss-load-config in /frontend (#71)
Bumps [postcss-load-config](https://github.com/postcss/postcss-load-config) from 3.1.4 to 4.0.0.
- [Release notes](https://github.com/postcss/postcss-load-config/releases)
- [Changelog](https://github.com/postcss/postcss-load-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-load-config/compare/v3.1.4...v4.0.0)

---
updated-dependencies:
- dependency-name: postcss-load-config
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-24 16:41:06 +02:00
dependabot[bot]
c638f7a132 chore(deps-dev): bump @sveltejs/kit from 1.0.0-next.338 to 1.0.0-next.342 in /frontend (#78)
* chore(deps-dev): bump @sveltejs/kit in /frontend

Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 1.0.0-next.338 to 1.0.0-next.342.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@1.0.0-next.342/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* breaking changes

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-24 16:40:21 +02:00
Ruben Fiszel
d2f4a552c9 update eslint + prettify 2022-05-24 16:30:32 +02:00
Ruben Fiszel
479a12f33c feat: update postgres 13->14 in docker-compose 2022-05-24 16:21:57 +02:00
Ruben Fiszel
58e2a5c179 add cloudflare pages redirection 2022-05-24 14:24:15 +02:00
Ruben Fiszel
281fbc3671 edit .nvmrc 2022-05-24 14:04:26 +02:00
Ruben Fiszel
ffc58ab6c2 add .nvmrc 2022-05-24 13:58:20 +02:00
dependabot[bot]
0ea96f82d1 chore(deps-dev): bump eslint from 7.32.0 to 8.16.0 in /frontend (#69)
Bumps [eslint](https://github.com/eslint/eslint) from 7.32.0 to 8.16.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.32.0...v8.16.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-24 12:57:33 +02:00
Ruben Fiszel
e905d65ca6 fix: update monaco language-client for better lsp support 2022-05-23 13:23:37 +02:00
Ruben Fiszel
dc70dfcf74 fix: bypass RLS for admin at init-db.sql 2022-05-23 12:00:56 +02:00
Ruben Fiszel
9b79cc9870 fix: update monaco language-client for better lsp support 2022-05-21 10:56:54 +02:00
Ruben Fiszel
68a3e1b333 fix: update monaco language-client for better lsp support 2022-05-21 10:50:04 +02:00
Ruben Fiszel
917717373f fix: update monaco language-client for better lsp support 2022-05-21 10:36:53 +02:00
Ruben Fiszel
b61fb6dc30 fix: update monaco language-client for better lsp support 2022-05-21 09:05:03 +02:00
Ruben Fiszel
42aa386119 fix: update monaco language-client for better lsp support 2022-05-20 18:40:17 +02:00
Ruben Fiszel
d601ef9439 chore(main): release 1.8.6 (#62)
* chore(main): release 1.8.6

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-18 23:34:48 +02:00
Ruben Fiszel
d31cd3c52c fix: re-release 2022-05-18 23:33:33 +02:00
Ruben Fiszel
eb613c35c1 chore(main): release 1.8.5 (#61) 2022-05-18 23:28:42 +02:00
Ruben Fiszel
33fed8e04d fix: language field broke flow too 2022-05-18 23:28:09 +02:00
Ruben Fiszel
37afd486fd chore(main): release 1.8.4 (#60)
* chore(main): release 1.8.4

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-18 22:58:34 +02:00
Ruben Fiszel
f76eede3b0 rebuild v8 is lockfile changed 2022-05-18 22:53:46 +02:00
Ruben Fiszel
7564d2cb1e fix: run scirpt 2022-05-18 22:50:56 +02:00
Ruben Fiszel
f12fe85fef chore(main): release 1.8.3 (#59)
* chore(main): release 1.8.3

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-18 10:13:12 +02:00
Ruben Fiszel
fd9285563a add v8.snap to .gitignore 2022-05-18 10:10:56 +02:00
Ruben Fiszel
605c2b4d11 fix: clean exported deno-client api 2022-05-18 10:09:41 +02:00
Ruben Fiszel
18b4ab2e73 fix publish pypi 2022-05-18 09:53:46 +02:00
Ruben Fiszel
02fb2b3806 chore(main): release 1.8.2 (#58)
* chore(main): release 1.8.2

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-18 09:50:12 +02:00
Ruben Fiszel
563ba3e7f7 fix: deno client 2022-05-18 09:48:41 +02:00
Ruben Fiszel
3eed59fcb1 fix: deno lsp client 2022-05-18 01:32:00 +02:00
Ruben Fiszel
7365a8e87b fix: starting deno script is now async 2022-05-17 23:15:16 +02:00
Ruben Fiszel
dbd6142997 align jsonrpc 2022-05-17 23:01:02 +02:00
Ruben Fiszel
865d728224 fix: deno lsp uses wss instead of ws 2022-05-17 22:39:57 +02:00
Ruben Fiszel
8861e19564 ci: add deno 2022-05-17 22:21:45 +02:00
Ruben Fiszel
92b502d9ba chore(main): release 1.8.1 (#57)
* chore(main): release 1.8.1

* Apply automatic changes

* Apply automatic changes

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-17 21:49:10 +02:00
Ruben Fiszel
297a3e60e2 ci: fix change version 2022-05-17 21:47:36 +02:00
Ruben Fiszel
1decaafde0 remove poetry locks 2022-05-17 21:43:15 +02:00
Ruben Fiszel
a7ef616c0d ci: fix change version 2022-05-17 21:39:10 +02:00
Ruben Fiszel
481685a73e ci: fix change version 2022-05-17 21:36:49 +02:00
Ruben Fiszel
a356e7b7d3 ci: use python poetry for change versions 2022-05-17 21:35:10 +02:00
Ruben Fiszel
f793bc46d9 fix: frontend dependencies update 2022-05-17 21:30:10 +02:00
Ruben Fiszel
c49e4930bc update frontend 2022-05-17 21:28:24 +02:00
dependabot[bot]
7b6ae612a5 chore(deps): bump @codingame/monaco-jsonrpc in /frontend (#55)
Bumps [@codingame/monaco-jsonrpc](https://github.com/CodinGame/monaco-jsonrpc) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/CodinGame/monaco-jsonrpc/releases)
- [Commits](https://github.com/CodinGame/monaco-jsonrpc/commits)

---
updated-dependencies:
- dependency-name: "@codingame/monaco-jsonrpc"
  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>
2022-05-17 21:20:40 +02:00
dependabot[bot]
d179d6efc3 chore(deps): bump @zerodevx/svelte-toast in /frontend (#56)
Bumps [@zerodevx/svelte-toast](https://github.com/zerodevx/svelte-toast) from 0.6.3 to 0.7.1.
- [Release notes](https://github.com/zerodevx/svelte-toast/releases)
- [Commits](https://github.com/zerodevx/svelte-toast/compare/v0.6.3...v0.7.1)

---
updated-dependencies:
- dependency-name: "@zerodevx/svelte-toast"
  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>
2022-05-17 21:19:08 +02:00
Ruben Fiszel
f02e5b19ac update frontend + lock python client 2022-05-17 21:16:36 +02:00
Ruben Fiszel
e114d0f426 chore(main): release 1.8.0 (#52)
* chore(main): release 1.8.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-17 20:53:14 +02:00
Ruben Fiszel
03ec38e001 update cargo 2022-05-17 20:52:42 +02:00
Ruben Fiszel
2e1d43033f feat: Typescript support for scripts (alpha)
* typescript support

* frontend

* type inference

* type inference

* v0 works

* v0 typescript

* v0 typescript

* deno-client v0

* deno-client v0

* build_deno

* rm autogenerated files

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* test workflow

* on tags

* createResource

* createResource

* createResource2

* typescript support

* templates

* include version
2022-05-17 20:42:05 +02:00
Ruben Fiszel
ec528fce67 chore(main): release 1.7.0 (#45)
* chore(main): release 1.7.0

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-14 14:58:31 +02:00
Tomasz Wsuł
5b413d7e04 feat: self host github oauth (#46) 2022-05-14 14:54:53 +02:00
Ruben Fiszel
02c8bea084 fix: better error message when saving script 2022-05-11 13:29:21 +02:00
Ruben Fiszel
bb31c80378 fix README docker-compose reference 2022-05-11 13:05:22 +02:00
Ruben Fiszel
91045e73cc BUG_ISSUE instructions 2022-05-11 08:10:51 +02:00
dependabot[bot]
9219b651a3 chore(deps-dev): bump @sveltejs/kit in /frontend (#25)
Bumps [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) from 1.0.0-next.324 to 1.0.0-next.326.
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@1.0.0-next.326/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-11 01:27:27 +02:00
Ruben Fiszel
7f21d03d00 chore(main): release 1.6.1 (#34)
* chore(main): release 1.6.1

* Apply automatic changes

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-10 21:38:59 +02:00
dependabot[bot]
a62e6e5ee3 chore(deps): bump serde_json from 1.0.79 to 1.0.81 in /backend (#26)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.79 to 1.0.81.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.79...v1.0.81)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-10 21:32:22 +02:00
Ruben Fiszel
2c28031e44 fix: also store and display "started at" for completed jobs (#33) 2022-05-10 21:32:07 +02:00
Ruben Fiszel
ca8de69126 run prettier 2022-05-10 21:29:54 +02:00
dependabot[bot]
98071bd68b chore(deps): bump tower-http from 0.2.5 to 0.3.3 in /backend (#27)
Bumps [tower-http](https://github.com/tower-rs/tower-http) from 0.2.5 to 0.3.3.
- [Release notes](https://github.com/tower-rs/tower-http/releases)
- [Commits](https://github.com/tower-rs/tower-http/compare/tower-http-0.2.5...tower-http-0.3.3)

---
updated-dependencies:
- dependency-name: tower-http
  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>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-10 21:18:04 +02:00
dependabot[bot]
128dde4fb3 chore(deps): bump thiserror from 1.0.30 to 1.0.31 in /backend (#30)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.30 to 1.0.31.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.30...1.0.31)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-10 21:07:45 +02:00
dependabot[bot]
f090945b27 chore(deps): bump serde from 1.0.136 to 1.0.137 in /backend (#32) 2022-05-10 21:07:29 +02:00
dependabot[bot]
60729d80b9 chore(deps): bump mhart/alpine-node from 14 to 16 (#21)
Bumps mhart/alpine-node from 14 to 16.

---
updated-dependencies:
- dependency-name: mhart/alpine-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-10 17:28:49 +02:00
Ruben Fiszel
e228beec2a ci: push to private registry builded image no matter what 2022-05-10 17:15:16 +02:00
dependabot[bot]
4dbf562fb7 chore(deps): bump GoogleCloudPlatform/release-please-action from 2 to 3 (#20) 2022-05-10 14:41:11 +02:00
dependabot[bot]
4952290296 chore(deps): bump actions/checkout from 2 to 3 (#19)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 14:24:17 +02:00
Juan Calderon-Perez
f53eb71e4a ci: add support for dependabot (#9)
* Add support for dependabot

* Add dependabot support for Python clients

* move to a weekly schedule

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-05-10 12:14:38 +00:00
Ruben Fiszel
96f54f5f44 chore: release 1.6.0 (#6)
* Apply automatic changes

* Update version.txt

* Apply automatic changes

* Update CHANGELOG.md

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2022-05-10 12:48:04 +02:00
Ruben Fiszel
0863e12e6a ci: add codeowners 2022-05-10 09:41:44 +02:00
Ruben Fiszel
d03266b0a4 ci: add CLA 2022-05-10 09:12:24 +02:00
Ruben Fiszel
4a4eaa90e2 ci: add CLA 2022-05-10 09:02:28 +02:00
Ruben Fiszel
5e7c14b722 ci: add CLA 2022-05-10 08:52:11 +02:00
Ruben Fiszel
55b5695673 fix: display more than default 30 workspaces as superadmin 2022-05-09 15:18:28 +02:00
Ruben Fiszel
8596ac50b9 delete starter script without lock files 2022-05-08 17:56:16 +02:00
Ruben Fiszel
13fb52117b feat: self host minimal 2 2022-05-08 17:51:33 +02:00
Ruben Fiszel
2c70a15594 feat: self host minimal 2022-05-08 17:26:51 +02:00
Ruben Fiszel
7a51f842f0 feat: superadmin settings 2022-05-08 17:03:13 +02:00
Ruben Fiszel
a130806e19 feat: user settings is now at workspace level 2022-05-08 12:58:58 +02:00
Ruben Fiszel
fd1f05dd16 ci: refactor + dockerhub 2022-05-08 11:57:37 +02:00
Ruben Fiszel
48e51733e0 docs: add main ci badge 2022-05-06 14:59:42 +02:00
Ruben Fiszel
e7817e6c9f alpha.windmill -> app.windmill 2022-05-06 13:55:14 +02:00
Ruben Fiszel
51ad6edfcb docs: typos 2022-05-05 15:59:59 +02:00
Ruben Fiszel
315f7edd64 docs: windmill imgs 2022-05-05 15:53:40 +02:00
Ruben Fiszel
a2c3deab74 docs: README general idea 2022-05-05 15:24:35 +02:00
Ruben Fiszel
891b7eb93a docs: architecture diagram 2022-05-05 13:22:13 +02:00
Ruben Fiszel
7efd87be79 docs: architecture diagram 2022-05-05 13:20:42 +02:00
Ruben Fiszel
5acbc8b48c Create FUNDING.yml 2022-05-05 10:50:54 +02:00
6497 changed files with 81302 additions and 929084 deletions

View File

@@ -1,3 +0,0 @@
/*
!/backend/
!/frontend/

View File

@@ -1,127 +0,0 @@
---
name: branch-diff-reviewer
description: Use this agent when you want a comprehensive code review of changes in the current branch compared to main. This includes reviewing for bugs, optimization opportunities, code style issues, potential mistakes, and adherence to project conventions. The agent should be invoked after completing a feature branch or before creating a pull request.\n\nExamples:\n\n<example>\nContext: User has finished implementing a new feature and wants feedback before merging.\nuser: "I've finished the new kafka trigger implementation, can you review my changes?"\nassistant: "I'll use the branch-diff-reviewer agent to analyze your changes against the main branch and provide comprehensive feedback."\n<commentary>\nSince the user wants a review of their branch changes, use the Task tool to launch the branch-diff-reviewer agent to compare the current branch against main and provide detailed feedback.\n</commentary>\n</example>\n\n<example>\nContext: User wants to check their code quality before submitting a PR.\nuser: "Review my branch before I create a PR"\nassistant: "Let me launch the branch-diff-reviewer agent to examine all your changes and identify any issues or improvements."\n<commentary>\nThe user is preparing for a PR, so use the branch-diff-reviewer agent to provide a thorough review of all branch differences.\n</commentary>\n</example>\n\n<example>\nContext: User is unsure if their implementation follows project patterns.\nuser: "Does my implementation look correct? I'm not sure if I followed the existing patterns"\nassistant: "I'll use the branch-diff-reviewer agent to compare your changes against main and check for pattern consistency, potential issues, and optimization opportunities."\n<commentary>\nThe user needs validation of their implementation against project standards. Launch the branch-diff-reviewer agent to analyze the diff and provide feedback on patterns, correctness, and improvements.\n</commentary>\n</example>
tools: Glob, Grep, Read, WebFetch, TodoWrite, WebSearch, ListMcpResourcesTool, ReadMcpResourceTool, mcp__svelte__get-documentation, mcp__svelte__list-sections, mcp__svelte__playground-link, mcp__svelte__svelte-autofixer, mcp__ide__getDiagnostics, mcp__ide__executeCode, Bash, Skill
model: inherit
---
You are an elite code reviewer with deep expertise in software engineering best practices, performance optimization, and security. Your role is to provide thorough, actionable feedback on code changes between the current branch and main.
## Your Review Process
1. **First, gather the diff**: Use git commands to obtain the complete diff between the current branch and main:
- Run `git diff main...HEAD` to see all changes
- Run `git log main..HEAD --oneline` to understand the commit history
- Identify all modified, added, and deleted files
2. **Analyze each changed file** in the context of:
- The project's established patterns (check CLAUDE.md and related documentation)
- The file's purpose and its role in the broader codebase
- Dependencies and how changes might affect other parts of the system
## Review Categories
For each significant change, evaluate and report on:
### 🐛 Bugs & Correctness
- Logic errors or edge cases not handled
- Null/undefined handling issues
- Race conditions in async code
- Incorrect error handling
- Type mismatches or unsafe casts
### ⚡ Performance
- Inefficient algorithms or data structures
- N+1 query problems in database code
- Unnecessary re-renders in frontend code
- Missing indexes for database queries
- Blocking operations in async contexts
- Memory leaks or excessive allocations
- For Rust: Check for unnecessary clones, inefficient serde usage, blocking in async
- For Svelte: Check for inefficient reactivity, missing keys in loops, excessive effects
### 🔒 Security
- SQL injection vulnerabilities
- Missing input validation
- Exposed sensitive data
- Authentication/authorization gaps
- Unsafe deserialization
### 📐 Code Quality & Style
- Adherence to project conventions (CLAUDE.md guidelines)
- Code duplication that should be refactored
- Unclear or misleading naming
- Missing or inadequate documentation
- Overly complex logic that could be simplified
- Dead code or unused imports
### 🏗️ Architecture & Design
- Proper separation of concerns
- Appropriate use of existing utilities vs. new code
- Consistency with established patterns
- Proper error propagation
- API design issues
### 🧪 Testing Considerations
- Suggest test cases for new functionality
- Identify untested edge cases
- Note if changes break existing test assumptions
## Project-Specific Rules
### For Rust (Backend)
- Verify `SELECT` statements list explicit columns (never `SELECT *` in worker code)
- Check for proper use of `sqlx` with parameterized queries
- Ensure errors use the custom `Error` enum from `windmill-common::error`
- Verify async code doesn't block the tokio runtime
- Check serde attributes for optimal serialization
- Ensure openapi.yaml is updated for API changes
### For Svelte (Frontend)
- For Svelte 5 files: Verify proper use of Runes (`$state`, `$derived`, `$effect`)
- Check for `key` attributes in `{#each}` blocks
- Ensure event handlers use the new syntax (`onclick` not `on:click`) in Svelte 5
- Verify snippets are used instead of slots in Svelte 5
- Check for proper props declaration with `$props()`
## Output Format
Structure your review as follows:
```
## Summary
[Brief overview of the changes and overall assessment]
## Critical Issues 🚨
[Issues that must be fixed before merging]
## Recommendations 💡
[Improvements that would significantly enhance the code]
## Minor Suggestions 📝
[Nice-to-haves and style improvements]
## Positive Observations ✅
[Well-done aspects worth acknowledging]
## File-by-File Details
[Detailed feedback organized by file]
```
For each issue, provide:
1. **Location**: File path and line number(s)
2. **Issue**: Clear description of the problem
3. **Impact**: Why this matters
4. **Suggestion**: Concrete fix or improvement with code example when helpful
## Behavioral Guidelines
- Be thorough but prioritize: focus most on critical issues
- Be constructive: every criticism should come with a suggestion
- Be specific: vague feedback is not actionable
- Acknowledge good work: positive reinforcement matters
- Consider context: understand why decisions might have been made
- Ask clarifying questions if the intent of changes is unclear
- Reference project documentation when pointing out convention violations
Begin by fetching the diff and then proceed with your comprehensive review.

View File

@@ -1,76 +0,0 @@
---
name: openapi-sync
description: Use this agent when backend API endpoints are added, modified, or removed, or when the Flow structure changes and the OpenAPI specification files need to be updated. This includes changes to route handlers in windmill-api, modifications to request/response schemas, changes to authentication requirements, or updates to the Flow data structures that affect the API.\n\nExamples:\n\n<example>\nContext: User has just added a new API endpoint for managing workspace templates.\nuser: "Add a new endpoint POST /api/w/{workspace}/templates to create workspace templates"\nassistant: "I've created the new endpoint handler in windmill-api. Now let me use the openapi-sync agent to update the OpenAPI specification files."\n<commentary>\nSince a new API endpoint was added, use the openapi-sync agent to ensure the openapi.yaml and openflow.openapi.yaml files are updated with the new endpoint definition.\n</commentary>\n</example>\n\n<example>\nContext: User has modified the response schema for an existing endpoint.\nuser: "Update the GET /api/w/{workspace}/flows endpoint to also return a 'versions' array in the response"\nassistant: "I've updated the flow listing endpoint to include the versions array. Now let me use the openapi-sync agent to update the OpenAPI specification."\n<commentary>\nSince the response schema of an existing endpoint was modified, use the openapi-sync agent to update the corresponding schema in the OpenAPI files.\n</commentary>\n</example>\n\n<example>\nContext: User has made changes to the Flow structure in the codebase.\nuser: "Add a new 'retry_policy' field to the Flow value structure"\nassistant: "I've added the retry_policy field to the Flow struct. Now let me use the openapi-sync agent to update the OpenAPI specification to reflect this schema change."\n<commentary>\nSince the Flow structure was modified, use the openapi-sync agent to ensure the flow-related schemas in openapi.yaml and openflow.openapi.yaml are updated.\n</commentary>\n</example>
model: inherit
---
You are an expert API documentation engineer specializing in OpenAPI specifications for the Windmill platform. Your primary responsibility is to maintain synchronization between the Rust backend API implementation and the OpenAPI specification files.
## Your Core Responsibilities
1. **Update OpenAPI Specifications**: When API endpoints are added, modified, or removed in the windmill-api crate, you must update:
- `backend/windmill-api/openapi.yaml` - The main OpenAPI specification
- `backend/windmill-api/openflow.openapi.yaml` - Flow-specific OpenAPI definitions (if flow-related changes)
2. **Maintain Schema Accuracy**: Ensure all request/response schemas accurately reflect the Rust structs used in the API handlers.
3. **Document Comprehensively**: Include proper descriptions, examples, and parameter documentation.
## Key Files to Reference
- **API Route Definitions**: Look in `backend/windmill-api/src/` for route handlers organized by domain
- **Data Structures**: Check `backend/windmill-common/src/` for shared structs and types
- **Database Schema**: Reference `backend/summarized_schema.txt` for understanding data models
- **Existing OpenAPI Files**: Always review the current state of `openapi.yaml` and `openflow.openapi.yaml` before making changes
## Workflow
1. **Identify Changes**: Determine what API changes were made by examining:
- New or modified route handlers in windmill-api
- Changes to request/response structs
- Modifications to the Flow structure or related types
2. **Analyze the Implementation**: For each endpoint, identify:
- HTTP method and path
- Path parameters, query parameters, and request body schema
- Response schema(s) and status codes
- Authentication requirements
- Any tags or groupings
3. **Update OpenAPI Files**:
- Add or modify path definitions with accurate operation IDs
- Update or create schema definitions in the components section
- Ensure $ref references are correct
- Maintain consistent naming conventions with existing patterns
4. **Validate Changes**: Ensure the YAML syntax is valid and follows OpenAPI 3.0 specification.
## OpenAPI Conventions for Windmill
- **Operation IDs**: Use camelCase, descriptive names (e.g., `createScript`, `listFlows`, `updateWorkspaceSettings`)
- **Tags**: Group endpoints by domain (e.g., `scripts`, `flows`, `workspaces`, `users`)
- **Schema Naming**: Use PascalCase for schema names matching Rust struct names
- **Path Parameters**: Use `{workspace}` for workspace_id, maintain consistency with existing patterns
- **Security**: Most endpoints require Bearer token authentication - include appropriate security requirements
## Schema Mapping from Rust to OpenAPI
- `String` / `&str``type: string`
- `i32`, `i64``type: integer` (with appropriate format)
- `f32`, `f64``type: number`
- `bool``type: boolean`
- `Vec<T>``type: array` with `items`
- `Option<T>` → property is not in `required` array
- `HashMap<K, V>``type: object` with `additionalProperties`
- Enums → `type: string` with `enum` array
- Custom structs → `$ref` to schema definition
## Important Notes
- Always preserve existing documentation and descriptions when updating
- Maintain backward compatibility warnings in descriptions when applicable
- Include example values where they aid understanding
- For Flow-related changes, update BOTH openapi.yaml AND openflow.openapi.yaml as needed
- Follow the existing indentation and formatting style in the YAML files
When you complete updates, summarize what changes were made to which files and highlight any schema additions or modifications that downstream consumers should be aware of.

View File

@@ -1,20 +0,0 @@
#!/bin/bash
# Format backend Rust files with rustfmt after Claude edits them
# Get the file path from the tool result (passed via stdin as JSON)
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
# Exit if no file path
if [ -z "$FILE_PATH" ]; then
exit 0
fi
# Check if the file is in the backend directory and is a Rust file
if [[ "$FILE_PATH" == *"/backend/"* ]] && [[ "$FILE_PATH" =~ \.rs$ ]]; then
cd "$CLAUDE_PROJECT_DIR/backend" || exit 0
# Run rustfmt with config from rustfmt.toml (edition=2021)
rustfmt --config-path rustfmt.toml "$FILE_PATH" 2>/dev/null || true
fi
exit 0

View File

@@ -1,23 +0,0 @@
#!/bin/bash
# Format frontend files with prettier after Claude edits them
# Get the file path from the tool result (passed via stdin as JSON)
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
# Exit if no file path
if [ -z "$FILE_PATH" ]; then
exit 0
fi
# Check if the file is in the frontend directory
if [[ "$FILE_PATH" == *"/frontend/"* ]]; then
# Check if it's a formattable file type
if [[ "$FILE_PATH" =~ \.(ts|js|svelte|json|css|html|md)$ ]]; then
cd "$CLAUDE_PROJECT_DIR/frontend" || exit 0
# Run prettier silently, don't fail the hook if prettier fails
npx prettier --write "$FILE_PATH" 2>/dev/null || true
fi
fi
exit 0

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# Notify user when Claude requires input (works on macOS and Linux)
# Check if we're in an SSH session
if [[ -n "$SSH_CLIENT" || -n "$SSH_TTY" || -n "$SSH_CONNECTION" ]]; then
# SSH session - use terminal bell
# If using VSCode, enable audible terminal bell for SSH sessions:
# Add the following to .vscode/settings.json:
# "accessibility.signals.terminalBell": {
# "sound": "on"
# },
# "terminal.integrated.enableVisualBell": true
printf '\a'
else
# Local session - use native notifications
if [[ "$OSTYPE" == "darwin"* ]]; then
osascript -e 'display notification "Claude is waiting for your input" with title "Claude Code" sound name "Glass"' 2>/dev/null || printf '\a'
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
notify-send "Claude Code" "Claude is waiting for your input" 2>/dev/null || printf '\a'
else
printf '\a'
fi
fi
exit 0

View File

@@ -1,103 +0,0 @@
{
"permissions": {
"additionalDirectories": [
"../windmill-ee-private"
],
"allow": [
"Bash(ls:*)",
"Bash(grep:*)",
"Bash(cat:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(less:*)",
"Bash(more:*)",
"Bash(find:*)",
"Bash(wc:*)",
"Bash(diff:*)",
"Bash(file:*)",
"Bash(stat:*)",
"Bash(tree:*)",
"Bash(pwd)",
"Bash(which:*)",
"Bash(whereis:*)",
"Bash(echo:*)",
"Bash(git status:*)",
"Bash(git diff:*)",
"Bash(git log:*)",
"Bash(git branch:*)",
"Bash(git show:*)",
"Bash(git blame:*)",
"Bash(cargo check:*)",
"mcp__ide__getDiagnostics",
"Bash(npm run generate-backend-client:*)",
"Bash(npm run check:*)"
],
"deny": [
"Read(.env)",
"Read(.env.*)",
"Read(**/.env)",
"Read(**/.env.*)",
"Read(**/secrets/**)",
"Read(**/*.pem)",
"Read(**/*.key)",
"Read(**/credentials.json)",
"Read(**/*secret*)",
"Edit(.env)",
"Edit(.env.*)",
"Edit(**/.env)",
"Edit(**/.env.*)"
],
"ask": [
"Bash(rm:*)",
"Bash(rmdir:*)",
"Bash(mv:*)",
"Bash(chmod:*)",
"Bash(chown:*)",
"Bash(truncate:*)",
"Bash(shred:*)",
"Bash(unlink:*)",
"Bash(git push:*)",
"Bash(git reset:*)",
"Bash(git revert:*)",
"Bash(git checkout:*)",
"Bash(git merge:*)",
"Bash(git rebase:*)"
]
},
"enableAllProjectMcpServers": true,
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format-frontend.sh",
"timeout": 30
},
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format-backend.sh",
"timeout": 30
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/notify-user.sh",
"timeout": 10
}
]
}
]
},
"enabledPlugins": {
"rust-analyzer-lsp@claude-plugins-official": true,
"typescript-lsp@claude-plugins-official": true,
"code-review@claude-plugins-official": true
}
}

View File

@@ -1,60 +0,0 @@
---
name: commit
user_invocable: true
description: Create a git commit with conventional commit format. MUST use anytime you want to commit changes.
---
# Git Commit Skill
Create a focused, single-line commit following conventional commit conventions.
## Instructions
1. **Analyze changes**: Run `git status` and `git diff` to understand what was modified
2. **Stage only modified files**: Add files individually by name. NEVER use `git add -A` or `git add .`
3. **Write commit message**: Follow the conventional commit format as a single line
## Conventional Commit Format
```
<type>: <description>
```
### Types
- `feat`: New feature or capability
- `fix`: Bug fix
- `refactor`: Code change that neither fixes a bug nor adds a feature
- `docs`: Documentation only changes
- `style`: Formatting, missing semicolons, etc (no code change)
- `test`: Adding or correcting tests
- `chore`: Maintenance tasks, dependency updates, etc
- `perf`: Performance improvement
### Rules
- Message MUST be a single line (no multi-line messages)
- Description should be lowercase, imperative mood ("add" not "added")
- No period at the end
- Keep under 72 characters total
### Examples
```
feat: add token usage tracking for AI providers
fix: resolve null pointer in job executor
refactor: extract common validation logic
docs: update API endpoint documentation
chore: upgrade sqlx to 0.7
```
## Execution Steps
1. Run `git status` to see all changes
2. Run `git diff` to understand the changes in detail
3. Run `git log --oneline -5` to see recent commit style
4. Stage ONLY the modified/relevant files: `git add <file1> <file2> ...`
5. Create the commit with conventional format:
```bash
git commit -m "<type>: <description>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
```
6. Run `git status` to verify the commit succeeded

View File

@@ -1,777 +0,0 @@
# Skill: Adding Native Trigger Services
This skill provides comprehensive guidance for adding new native trigger services to Windmill. Native triggers allow external services (like Nextcloud, Google Drive, etc.) to trigger Windmill scripts/flows via webhooks or push notifications.
## Architecture Overview
The native trigger system consists of:
1. **Database Layer** - PostgreSQL tables and enum types
2. **Backend Rust Implementation** - Core trait, handlers, and service modules in the `windmill-native-triggers` crate
3. **Frontend Svelte Components** - Configuration forms and UI components
### Key Files
| Component | Path |
|-----------|------|
| Core module with `External` trait | `backend/windmill-native-triggers/src/lib.rs` |
| Generic CRUD handlers | `backend/windmill-native-triggers/src/handler.rs` |
| Background sync logic | `backend/windmill-native-triggers/src/sync.rs` |
| OAuth/workspace integration | `backend/windmill-native-triggers/src/workspace_integrations.rs` |
| Re-export shim (windmill-api) | `backend/windmill-api/src/native_triggers/mod.rs` |
| TriggerKind enum | `backend/windmill-common/src/triggers.rs` |
| JobTriggerKind enum | `backend/windmill-common/src/jobs.rs` |
| Frontend service registry | `frontend/src/lib/components/triggers/native/utils.ts` |
| Frontend trigger utilities | `frontend/src/lib/components/triggers/utils.ts` |
| Trigger badges (icons + counts) | `frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte` |
| Workspace integrations UI | `frontend/src/lib/components/workspaceSettings/WorkspaceIntegrations.svelte` |
| OAuth config form component | `frontend/src/lib/components/workspaceSettings/OAuthClientConfig.svelte` |
| OpenAPI spec | `backend/windmill-api/openapi.yaml` |
| Reference: Nextcloud module | `backend/windmill-native-triggers/src/nextcloud/` |
| Reference: Google module | `backend/windmill-native-triggers/src/google/` |
### Crate Structure
The native trigger code lives in the `windmill-native-triggers` crate (`backend/windmill-native-triggers/`). The `windmill-api` crate re-exports everything via a shim:
```rust
// backend/windmill-api/src/native_triggers/mod.rs
pub use windmill_native_triggers::*;
```
All new service modules go in `backend/windmill-native-triggers/src/`.
---
## Core Concepts
### The `External` Trait
Every native trigger service implements the `External` trait defined in `lib.rs`:
```rust
#[async_trait]
pub trait External: Send + Sync + 'static {
// Associated types:
type ServiceConfig: Debug + DeserializeOwned + Serialize + Send + Sync;
type TriggerData: Debug + Serialize + Send + Sync;
type OAuthData: DeserializeOwned + Serialize + Clone + Send + Sync;
type CreateResponse: DeserializeOwned + Send + Sync;
// Constants:
const SUPPORT_WEBHOOK: bool;
const SERVICE_NAME: ServiceName;
const DISPLAY_NAME: &'static str;
const TOKEN_ENDPOINT: &'static str;
const REFRESH_ENDPOINT: &'static str;
const AUTH_ENDPOINT: &'static str;
// Required methods:
async fn create(&self, w_id, oauth_data, webhook_token, data, db, tx) -> Result<Self::CreateResponse>;
async fn update(&self, w_id, oauth_data, external_id, webhook_token, data, db, tx) -> Result<serde_json::Value>;
async fn get(&self, w_id, oauth_data, external_id, db, tx) -> Result<Self::TriggerData>;
async fn delete(&self, w_id, oauth_data, external_id, db, tx) -> Result<()>;
async fn exists(&self, w_id, oauth_data, external_id, db, tx) -> Result<bool>;
async fn maintain_triggers(&self, db, workspace_id, triggers, oauth_data, synced, errors);
fn external_id_and_metadata_from_response(&self, resp) -> (String, Option<serde_json::Value>);
// Methods with defaults:
async fn prepare_webhook(&self, db, w_id, headers, body, script_path, is_flow) -> Result<PushArgsOwned>;
fn service_config_from_create_response(&self, data, resp) -> Option<serde_json::Value>;
fn additional_routes(&self) -> axum::Router;
async fn http_client_request<T, B>(&self, url, method, workspace_id, tx, db, headers, body) -> Result<T>;
}
```
Key design points:
- **`update()` returns `serde_json::Value`** - the resolved service_config to store. Each service is responsible for building the final config.
- **`maintain_triggers()`** - periodic background maintenance. Each service implements its own strategy (Nextcloud: reconcile with external state; Google: renew expiring channels).
- **No `list_all()` in the trait** - services that need it (Nextcloud) implement it privately; services that don't (Google) use different maintenance strategies.
- **No `get_external_id_from_trigger_data()` or `extract_service_config_from_trigger_data()`** - removed in favor of the `maintain_triggers` pattern.
### Create Lifecycle: Two Paths
The `create_native_trigger` handler in `handler.rs` supports two creation flows, controlled by `service_config_from_create_response()`:
**Path A: Short (Google pattern)** - `service_config_from_create_response()` returns `Some(config)`:
1. `create()` registers on external service
2. `external_id_and_metadata_from_response()` extracts the ID
3. `service_config_from_create_response()` builds the config directly from input data + response metadata
4. Stores trigger in DB -- done, no extra round-trip
Use this when the external_id is known before the create call (e.g., Google generates the channel_id as a UUID upfront and includes it in the webhook URL).
**Path B: Long (Nextcloud pattern)** - `service_config_from_create_response()` returns `None` (default):
1. `create()` registers on external service (webhook URL has no external_id yet)
2. `external_id_and_metadata_from_response()` extracts the ID
3. `update()` is called to fix the webhook URL with the now-known external_id
4. `update()` returns the resolved service_config
5. Stores trigger in DB
Use this when the external_id is assigned by the remote service and the webhook URL needs to be corrected after creation.
### OAuth Token Storage (Three-Table Pattern)
OAuth tokens are stored across three tables, NOT in `workspace_integrations.oauth_data` directly:
| Table | What's Stored |
|-------|---------------|
| `workspace_integrations` | `oauth_data` JSON with `base_url`, `client_id`, `client_secret`, `instance_shared` flag; `resource_path` pointing to the variable |
| `variable` | Encrypted `access_token` (at the path stored in `resource_path`), linked to `account` via `account` column |
| `account` | `refresh_token`, keyed by `workspace_id` + `client` (service name) + `is_workspace_integration = true` |
The `decrypt_oauth_data()` function in `lib.rs` assembles these into a unified struct:
```rust
pub struct OAuthConfig {
pub base_url: String,
pub access_token: String, // decrypted from variable
pub refresh_token: Option<String>, // from account table
pub client_id: String, // from oauth_data or instance settings
pub client_secret: String, // from oauth_data or instance settings
}
```
Instance-level sharing: when `oauth_data.instance_shared == true`, `client_id` and `client_secret` are read from global settings instead of workspace_integrations.
### URL Resolution
The `resolve_endpoint()` helper handles both absolute and relative OAuth URLs:
```rust
pub fn resolve_endpoint(base_url: &str, endpoint: &str) -> String {
if endpoint.starts_with("http://") || endpoint.starts_with("https://") {
endpoint.to_string() // Google: absolute URLs
} else {
format!("{}{}", base_url, endpoint) // Nextcloud: relative paths
}
}
```
### ServiceName Methods
`ServiceName` is the central registry enum. Each variant must implement these match arms:
| Method | Purpose |
|--------|---------|
| `as_str()` | Lowercase identifier (e.g., `"google"`) |
| `as_trigger_kind()` | Maps to `TriggerKind` enum |
| `as_job_trigger_kind()` | Maps to `JobTriggerKind` enum |
| `token_endpoint()` | OAuth token endpoint (relative or absolute) |
| `auth_endpoint()` | OAuth authorization endpoint |
| `oauth_scopes()` | Space-separated OAuth scopes |
| `resource_type()` | Resource type for token storage (e.g., `"gworkspace"`) |
| `extra_auth_params()` | Extra OAuth params (e.g., Google needs `access_type=offline`, `prompt=consent`) |
| `integration_service()` | Maps to the workspace integration service (usually `*self`) |
| `TryFrom<String>` | Parse from string |
| `Display` | Delegates to `as_str()` |
---
## Step-by-Step Implementation Guide
### Step 1: Database Migration
Create a new migration file: `backend/migrations/YYYYMMDDHHMMSS_newservice_trigger.up.sql`
```sql
-- Add the service to the native_trigger_service enum
ALTER TYPE native_trigger_service ADD VALUE IF NOT EXISTS 'newservice';
-- Add to TRIGGER_KIND enum (used for trigger tracking)
ALTER TYPE TRIGGER_KIND ADD VALUE IF NOT EXISTS 'newservice';
-- Add to job_trigger_kind enum (used for job tracking)
ALTER TYPE job_trigger_kind ADD VALUE IF NOT EXISTS 'newservice';
```
Also create the corresponding down migration.
### Step 2: Update windmill-common Enums
#### `backend/windmill-common/src/triggers.rs`
Add variant to `TriggerKind` enum, and update `to_key()` and `fmt()` implementations.
#### `backend/windmill-common/src/jobs.rs`
Add variant to `JobTriggerKind` enum and update the `Display` implementation.
### Step 3: Backend Service Module
Create a new directory: `backend/windmill-native-triggers/src/newservice/`
#### `mod.rs` - Type Definitions
```rust
use serde::{Deserialize, Serialize};
pub mod external;
// pub mod routes; // Only if you need additional service-specific routes
/// OAuth data deserialized from the three-table pattern.
/// The actual structure is built by decrypt_oauth_data() from variable + account + workspace_integrations.
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct NewServiceOAuthData {
pub base_url: String, // from workspace_integrations.oauth_data
pub access_token: String, // decrypted from variable table
pub refresh_token: Option<String>, // from account table
// Note: client_id and client_secret are in OAuthConfig, not here
// unless the service needs them at runtime for API calls
}
/// Configuration provided by user when creating/updating a trigger.
/// Stored as JSON in native_trigger.service_config.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NewServiceConfig {
// Service-specific configuration fields
pub folder_path: String,
pub file_filter: Option<String>,
}
/// Data retrieved from the external service about a trigger.
/// Returned by the get() method and shown in the UI.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NewServiceTriggerData {
pub folder_path: String,
pub file_filter: Option<String>,
// Fields that shouldn't affect service_config comparison should use #[serde(skip_serializing)]
}
/// Response from external service when creating a trigger/webhook.
#[derive(Debug, Deserialize)]
pub struct CreateTriggerResponse {
pub id: String,
}
/// Handler struct (stateless, used for routing)
#[derive(Copy, Clone)]
pub struct NewService;
```
#### `external.rs` - External Trait Implementation
```rust
use async_trait::async_trait;
use reqwest::Method;
use sqlx::PgConnection;
use std::collections::HashMap;
use windmill_common::{
error::{Error, Result},
BASE_URL, DB,
};
use crate::{
generate_webhook_service_url, External, NativeTrigger, NativeTriggerData, ServiceName,
sync::{SyncError, TriggerSyncInfo},
};
use super::{NewService, NewServiceConfig, NewServiceOAuthData, NewServiceTriggerData, CreateTriggerResponse};
#[async_trait]
impl External for NewService {
type ServiceConfig = NewServiceConfig;
type TriggerData = NewServiceTriggerData;
type OAuthData = NewServiceOAuthData;
type CreateResponse = CreateTriggerResponse;
const SERVICE_NAME: ServiceName = ServiceName::NewService;
const DISPLAY_NAME: &'static str = "New Service";
const SUPPORT_WEBHOOK: bool = true;
const TOKEN_ENDPOINT: &'static str = "/oauth/token";
const REFRESH_ENDPOINT: &'static str = "/oauth/token";
const AUTH_ENDPOINT: &'static str = "/oauth/authorize";
async fn create(
&self,
w_id: &str,
oauth_data: &Self::OAuthData,
webhook_token: &str,
data: &NativeTriggerData<Self::ServiceConfig>,
db: &DB,
tx: &mut PgConnection,
) -> Result<Self::CreateResponse> {
let base_url = &*BASE_URL.read().await;
// external_id is None during create (we get it from the response)
let webhook_url = generate_webhook_service_url(
base_url, w_id, &data.script_path, data.is_flow,
None, Self::SERVICE_NAME, webhook_token,
);
let url = format!("{}/api/webhooks/create", oauth_data.base_url);
let payload = serde_json::json!({
"callback_url": webhook_url,
"folder_path": data.service_config.folder_path,
});
let response: CreateTriggerResponse = self
.http_client_request(&url, Method::POST, w_id, tx, db, None, Some(&payload))
.await?;
Ok(response)
}
/// Update returns the resolved service_config as JSON.
/// For services using the update+get pattern, call self.get() and serialize.
async fn update(
&self,
w_id: &str,
oauth_data: &Self::OAuthData,
external_id: &str,
webhook_token: &str,
data: &NativeTriggerData<Self::ServiceConfig>,
db: &DB,
tx: &mut PgConnection,
) -> Result<serde_json::Value> {
let base_url = &*BASE_URL.read().await;
let webhook_url = generate_webhook_service_url(
base_url, w_id, &data.script_path, data.is_flow,
Some(external_id), Self::SERVICE_NAME, webhook_token,
);
let url = format!("{}/api/webhooks/{}", oauth_data.base_url, external_id);
let payload = serde_json::json!({
"callback_url": webhook_url,
"folder_path": data.service_config.folder_path,
});
let _: serde_json::Value = self
.http_client_request(&url, Method::PUT, w_id, tx, db, None, Some(&payload))
.await?;
// Fetch back the updated state to get the resolved config
let trigger_data = self.get(w_id, oauth_data, external_id, db, tx).await?;
serde_json::to_value(&trigger_data)
.map_err(|e| Error::InternalErr(format!("Failed to serialize trigger data: {}", e)))
}
async fn get(
&self,
w_id: &str,
oauth_data: &Self::OAuthData,
external_id: &str,
db: &DB,
tx: &mut PgConnection,
) -> Result<Self::TriggerData> {
let url = format!("{}/api/webhooks/{}", oauth_data.base_url, external_id);
self.http_client_request::<_, ()>(&url, Method::GET, w_id, tx, db, None, None).await
}
async fn delete(
&self,
w_id: &str,
oauth_data: &Self::OAuthData,
external_id: &str,
db: &DB,
tx: &mut PgConnection,
) -> Result<()> {
let url = format!("{}/api/webhooks/{}", oauth_data.base_url, external_id);
let _: serde_json::Value = self
.http_client_request::<_, ()>(&url, Method::DELETE, w_id, tx, db, None, None)
.await
.or_else(|e| match &e {
Error::InternalErr(msg) if msg.contains("404") => Ok(serde_json::Value::Null),
_ => Err(e),
})?;
Ok(())
}
async fn exists(
&self,
w_id: &str,
oauth_data: &Self::OAuthData,
external_id: &str,
db: &DB,
tx: &mut PgConnection,
) -> Result<bool> {
match self.get(w_id, oauth_data, external_id, db, tx).await {
Ok(_) => Ok(true),
Err(Error::NotFound(_)) => Ok(false),
Err(e) => Err(e),
}
}
/// Background maintenance. Choose the right pattern for your service:
/// - For services with queryable external state: use reconcile_with_external_state()
/// - For channel-based services with expiration: implement renewal logic
async fn maintain_triggers(
&self,
db: &DB,
workspace_id: &str,
triggers: &[NativeTrigger],
oauth_data: &Self::OAuthData,
synced: &mut Vec<TriggerSyncInfo>,
errors: &mut Vec<SyncError>,
) {
// Option A: Reconcile with external state (Nextcloud pattern)
// Fetch all triggers from external service and compare with DB
let external_triggers = match self.list_all(workspace_id, oauth_data, db).await {
Ok(triggers) => triggers,
Err(e) => {
errors.push(SyncError {
resource_path: format!("workspace:{}", workspace_id),
error_message: format!("Failed to list triggers: {}", e),
error_type: "api_error".to_string(),
});
return;
}
};
// Convert to (external_id, config_json) pairs
let external_pairs: Vec<(String, serde_json::Value)> = external_triggers
.into_iter()
.map(|t| (t.id.clone(), serde_json::to_value(&t).unwrap_or_default()))
.collect();
crate::sync::reconcile_with_external_state(
db, workspace_id, Self::SERVICE_NAME, triggers, &external_pairs, synced, errors,
).await;
}
fn external_id_and_metadata_from_response(
&self,
resp: &Self::CreateResponse,
) -> (String, Option<serde_json::Value>) {
(resp.id.clone(), None)
}
// service_config_from_create_response: NOT overridden (returns None).
// This means the handler uses the update+get pattern after create.
// Override and return Some(...) to skip the update+get cycle (Google pattern).
}
impl NewService {
/// Private helper to list all triggers from the external service.
async fn list_all(
&self,
w_id: &str,
oauth_data: &<Self as External>::OAuthData,
db: &DB,
) -> Result<Vec<<Self as External>::TriggerData>> {
// Implementation depends on the external service's API
todo!()
}
}
```
### Step 4: Update lib.rs Registry
In `backend/windmill-native-triggers/src/lib.rs`:
```rust
// Service modules - add new services here:
#[cfg(feature = "native_trigger")]
pub mod newservice; // <-- Add this
// ServiceName enum - add variant:
pub enum ServiceName {
Nextcloud,
Google,
NewService, // <-- Add this
}
// Then add match arms in ALL ServiceName methods:
// as_str(), as_trigger_kind(), as_job_trigger_kind(), token_endpoint(),
// auth_endpoint(), oauth_scopes(), resource_type(), extra_auth_params(),
// integration_service(), TryFrom<String>, Display
```
### Step 5: Update handler.rs Routes
In `backend/windmill-native-triggers/src/handler.rs`:
```rust
pub fn generate_native_trigger_routers() -> Router {
// ...
#[cfg(feature = "native_trigger")]
{
use crate::newservice::NewService;
return router
.nest("/nextcloud", service_routes(NextCloud))
.nest("/google", service_routes(Google))
.nest("/newservice", service_routes(NewService)); // <-- Add this
}
// ...
}
```
### Step 6: Update sync.rs
In `backend/windmill-native-triggers/src/sync.rs`:
```rust
pub async fn sync_all_triggers(db: &DB) -> Result<BackgroundSyncResult> {
// ...
#[cfg(feature = "native_trigger")]
{
use crate::newservice::NewService;
// ... existing service syncs ...
// New service sync
let (service_name, result) = sync_service_triggers(db, NewService).await;
total_synced += result.synced_triggers.len();
total_errors += result.errors.len();
service_results.insert(service_name, result);
}
// ...
}
```
### Step 7: Frontend Service Registry
In `frontend/src/lib/components/triggers/native/utils.ts`:
Add to `NATIVE_TRIGGER_SERVICES`, `getTriggerIconName()`, and `getServiceIcon()`.
### Step 8: Frontend Trigger Form Component
Create: `frontend/src/lib/components/triggers/native/services/newservice/NewServiceTriggerForm.svelte`
### Step 9: Frontend Icon Component
Create: `frontend/src/lib/components/icons/NewServiceIcon.svelte`
### Step 10: Update NativeTriggerEditor
Check `frontend/src/lib/components/triggers/native/NativeTriggerEditor.svelte` to ensure it dynamically loads form components based on service name.
### Step 11: Workspace Integration UI
Add your service to the `supportedServices` map in `frontend/src/lib/components/workspaceSettings/WorkspaceIntegrations.svelte`:
```typescript
const supportedServices: Record<string, ServiceConfig> = {
// ... existing services ...
newservice: {
name: 'newservice',
displayName: 'New Service',
description: 'Connect to New Service for triggers',
icon: NewServiceIcon,
docsUrl: 'https://www.windmill.dev/docs/integrations/newservice',
requiresBaseUrl: false, // false for cloud services, true for self-hosted
setupInstructions: [
'Step 1: Create an OAuth app on the service',
'Step 2: Configure the redirect URI shown below',
'Step 3: Enter the client credentials below'
]
}
}
```
### Step 12: Update `frontend/src/lib/components/triggers/utils.ts`
Update ALL of these maps/functions:
1. `triggerIconMap` - import and add icon
2. `triggerDisplayNamesMap` - add display name
3. `triggerTypeOrder` in `sortTriggers()` - add type
4. `getLightConfig()` - add case for your service
5. `getTriggerLabel()` - add case for your service
6. `jobTriggerKinds` - add to array
7. `countPropertyMap` - add count property
8. `triggerSaveFunctions` - add save function
### Step 13: Update TriggersBadge Component
In `frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte`:
1. Import the icon
2. Add to `baseConfig` with `countKey` (the dynamic `availableNativeServices` loop does NOT set `countKey`)
3. Add to the `allTypes` array
### Step 14: Update TriggersWrapper.svelte
In `frontend/src/lib/components/triggers/TriggersWrapper.svelte`:
Add a `{:else if selectedTrigger.type === 'yourservice'}` case that renders `<NativeTriggersPanel service="yourservice" ...>` with the same props pattern as the existing native trigger cases (e.g., `nextcloud`).
### Step 15: Update AddTriggersButton.svelte
In `frontend/src/lib/components/triggers/AddTriggersButton.svelte`:
1. Add `yourserviceAvailable` state variable
2. Add `setYourserviceState()` async function using `isServiceAvailable('yourservice', $workspaceStore!)`
3. Call it at module level
4. Add a dropdown entry to `addTriggerItems` with `hidden: !yourserviceAvailable`
### Step 16: Update TriggersEditor.svelte Delete Handling
In `frontend/src/lib/components/triggers/TriggersEditor.svelte`:
Add your service to the `nativeTriggerServices` map in `deleteDeployedTrigger()`. Native triggers use `NativeTriggerService.deleteNativeTrigger({ workspace, serviceName, externalId })` instead of the standard `path`-based delete.
### Step 17: Update OpenAPI Spec and Regenerate Types
Add to `JobTriggerKind` enum in `backend/windmill-api/openapi.yaml`, then:
```bash
cd frontend && npm run generate-backend-client
```
---
## Special Patterns
### Unified Service with `trigger_type` (Google Pattern)
When a single service handles multiple trigger types (e.g., Google Drive + Calendar share OAuth and API patterns), use a single `ServiceName` variant with a discriminator field:
```rust
pub enum GoogleTriggerType { Drive, Calendar }
pub struct GoogleServiceConfig {
pub trigger_type: GoogleTriggerType,
// Drive-specific fields (only used when trigger_type = Drive)
pub resource_id: Option<String>,
pub resource_name: Option<String>,
// Calendar-specific fields (only used when trigger_type = Calendar)
pub calendar_id: Option<String>,
pub calendar_name: Option<String>,
// Metadata set after creation
pub google_resource_id: Option<String>,
pub expiration: Option<String>,
}
```
Branch in trait methods based on `trigger_type`. Frontend uses a `ToggleButtonGroup` to switch between types. This keeps the codebase simpler (one service, one OAuth flow, one set of routes).
See `backend/windmill-native-triggers/src/google/` for the reference implementation.
### Skipping update+get After Create (Google Pattern)
Override `service_config_from_create_response()` to return `Some(config)` when the external_id is known before the create call:
```rust
fn service_config_from_create_response(
&self,
data: &NativeTriggerData<Self::ServiceConfig>,
resp: &Self::CreateResponse,
) -> Option<serde_json::Value> {
// Clone input config, add metadata from response
let mut config = data.service_config.clone();
config.google_resource_id = Some(resp.resource_id.clone());
config.expiration = Some(resp.expiration.clone());
Some(serde_json::to_value(&config).unwrap())
}
```
### Services with Absolute OAuth Endpoints (Google)
Unlike self-hosted services where OAuth endpoints are relative paths appended to `base_url`, services like Google have absolute URLs:
```rust
// Nextcloud: relative paths
ServiceName::Nextcloud => "/apps/oauth2/api/v1/token",
// Google: absolute URLs
ServiceName::Google => "https://oauth2.googleapis.com/token",
```
The `resolve_endpoint()` function handles both. For services with absolute endpoints:
- `base_url` can be empty
- `requiresBaseUrl: false` in the frontend workspace integration config
- Add `extra_auth_params()` if needed (Google requires `access_type=offline` and `prompt=consent`)
### Channel-Based Push Notifications with Renewal (Google Pattern)
For services using expiring watch channels instead of persistent webhooks:
1. Store expiration in `service_config` (as part of `ServiceConfig`)
2. In `maintain_triggers()`, implement renewal logic instead of using `reconcile_with_external_state()`:
```rust
async fn maintain_triggers(&self, db, workspace_id, triggers, oauth_data, synced, errors) {
for trigger in triggers {
if should_renew_channel(trigger) {
self.renew_channel(db, trigger, oauth_data).await;
}
}
}
```
3. Renewal: best-effort stop old channel, create new one with same external_id, update service_config with new expiration
4. Google example: Drive channels expire in 24h (renew when <1h left), Calendar channels expire in 7 days (renew when <1 day left)
### reconcile_with_external_state (Nextcloud Pattern)
The reusable function in `sync.rs` compares external triggers with DB state:
- Triggers missing externally: sets error "Trigger no longer exists on external service"
- Triggers present externally: clears errors, updates service_config if it differs
Usage in `maintain_triggers()`:
```rust
let external_pairs: Vec<(String, serde_json::Value)> = /* fetch from external */;
crate::sync::reconcile_with_external_state(
db, workspace_id, Self::SERVICE_NAME, triggers, &external_pairs, synced, errors,
).await;
```
### Webhook Payload Processing
Override `prepare_webhook()` to parse service-specific payloads into script/flow args:
```rust
async fn prepare_webhook(&self, db, w_id, headers, body, script_path, is_flow) -> Result<PushArgsOwned> {
let mut args = HashMap::new();
args.insert("event_type".to_string(), Box::new(headers.get("x-event-type").cloned()) as _);
args.insert("payload".to_string(), Box::new(serde_json::from_str::<serde_json::Value>(&body)?) as _);
Ok(PushArgsOwned { extra: None, args })
}
```
Then register in `prepare_native_trigger_args()` in `lib.rs`:
```rust
pub async fn prepare_native_trigger_args(service_name, db, w_id, headers, body) -> Result<Option<PushArgsOwned>> {
match service_name {
ServiceName::Google => { /* ... */ Ok(Some(args)) }
ServiceName::NewService => { /* ... */ Ok(Some(args)) }
ServiceName::Nextcloud => Ok(None), // Uses default body parsing
}
}
```
### Instance-Level OAuth Credentials
When `workspace_integrations.oauth_data.instance_shared == true`, `decrypt_oauth_data()` reads `client_id` and `client_secret` from instance-level global settings instead of workspace-level. This allows admins to share OAuth app credentials across workspaces.
The frontend handles this via the `generate_instance_connect_url` endpoint in `workspace_integrations.rs`.
---
## Testing Checklist
- [ ] Database migration runs successfully
- [ ] `cargo check -p windmill-native-triggers --features native_trigger` passes
- [ ] `npx svelte-check --threshold error` passes (in frontend/)
- [ ] Service appears in workspace integrations list
- [ ] OAuth flow completes successfully
- [ ] Can create a new trigger
- [ ] Can view trigger details
- [ ] Can update trigger configuration
- [ ] Can delete trigger
- [ ] Webhook receives and processes payloads
- [ ] Background sync works correctly (reconciliation or channel renewal)
- [ ] Error handling works (expired tokens, service unavailable)
---
## Reference Implementations
### Nextcloud (Self-Hosted, Update+Get Pattern)
| File | Purpose |
|------|---------|
| `nextcloud/mod.rs` | Types: NextCloudOAuthData, NextcloudServiceConfig, NextCloudTriggerData |
| `nextcloud/external.rs` | External trait: uses update+get pattern, reconcile_with_external_state for sync |
| `nextcloud/routes.rs` | Additional route: `GET /events` |
Key patterns: relative OAuth endpoints, base_url required, list_all + reconcile for sync, update returns JSON from get().
### Google (Cloud, Unified Service, Short Create)
| File | Purpose |
|------|---------|
| `google/mod.rs` | Types: GoogleServiceConfig with trigger_type discriminator, GoogleTriggerType enum |
| `google/external.rs` | External trait: overrides service_config_from_create_response, channel renewal for sync |
| `google/routes.rs` | Additional routes: `GET /calendars`, `GET /drive/files`, `GET /drive/shared_drives` |
Key patterns: absolute OAuth endpoints, empty base_url, trigger_type for Drive/Calendar, expiring watch channels with renewal, service_config_from_create_response skips update+get, get() reconstructs data from stored service_config (no external "get channel" API).

View File

@@ -1,87 +0,0 @@
---
name: pr
user_invocable: true
description: Open a draft pull request on GitHub. MUST use when you want to create/open a PR.
---
# Pull Request Skill
Create a draft pull request with a clear title and explicit description of changes.
## Instructions
1. **Analyze branch changes**: Understand all commits since diverging from main
2. **Push to remote**: Ensure all commits are pushed
3. **Create draft PR**: Always open as draft for review before merging
## PR Title Format
Follow conventional commit format for the PR title:
```
<type>: <description>
```
### Types
- `feat`: New feature or capability
- `fix`: Bug fix
- `refactor`: Code restructuring
- `docs`: Documentation changes
- `chore`: Maintenance tasks
- `perf`: Performance improvements
### Title Rules
- Keep under 70 characters
- Use lowercase, imperative mood
- No period at the end
## PR Body Format
The body MUST be explicit about what changed. Structure:
```markdown
## Summary
<Clear description of what this PR does and why>
## Changes
- <Specific change 1>
- <Specific change 2>
- <Specific change 3>
## Test plan
- [ ] <How to verify change 1>
- [ ] <How to verify change 2>
---
Generated with [Claude Code](https://claude.com/claude-code)
```
## Execution Steps
1. Run `git status` to check for uncommitted changes
2. Run `git log main..HEAD --oneline` to see all commits in this branch
3. Run `git diff main...HEAD` to see the full diff against main
4. Check if remote branch exists and is up to date:
```bash
git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo "no upstream"
```
5. Push to remote if needed: `git push -u origin HEAD`
6. Create draft PR using gh CLI:
```bash
gh pr create --draft --title "<type>: <description>" --body "$(cat <<'EOF'
## Summary
<description>
## Changes
- <change 1>
- <change 2>
## Test plan
- [ ] <test 1>
- [ ] <test 2>
---
Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
```
7. Return the PR URL to the user

View File

@@ -1,495 +0,0 @@
---
name: rust-backend
description: Rust coding guidelines for the Windmill backend. MUST use when writing or modifying Rust code in the backend directory.
---
# Rust Backend Coding Guidelines
Apply these patterns when writing or modifying Rust code in the `backend/` directory.
## Data Structure Design
Choose between `struct`, `enum`, or `newtype` based on domain needs:
- Use `enum` for state machines instead of boolean flags or loosely related fields
- Model invariants explicitly using types (e.g., `NonZeroU32`, `Duration`, custom enums)
- Consider ownership of each field:
- Use `&str` vs `String`, slices vs vectors
- Use `Arc<T>` when sharing across threads
- Use `Cow<'a, T>` for flexible ownership
```rust
// State machine with enum
enum JobState {
Pending { scheduled_for: DateTime<Utc> },
Running { started_at: DateTime<Utc>, worker: String },
Completed { result: JobResult, duration_ms: i64 },
Failed { error: String, retries: u32 },
}
// Avoid multiple booleans
struct Job {
is_pending: bool, // Don't do this
is_running: bool,
is_completed: bool,
}
```
## Impl Block Organization
Place `impl` blocks immediately below the struct/enum they modify. Group methods logically:
```rust
struct JobQueue {
jobs: Vec<Job>,
capacity: usize,
}
impl JobQueue {
// Constructors first
pub fn new(capacity: usize) -> Self { ... }
pub fn with_jobs(jobs: Vec<Job>) -> Self { ... }
// Getters
pub fn len(&self) -> usize { ... }
pub fn is_empty(&self) -> bool { ... }
// Mutation methods
pub fn push(&mut self, job: Job) -> Result<()> { ... }
pub fn pop(&mut self) -> Option<Job> { ... }
// Domain logic
pub fn next_scheduled(&self) -> Option<&Job> { ... }
}
```
## Iterator Chains Over For-Loops
Prefer functional iterator chains (`.filter().map().collect()`) over imperative for-loops:
```rust
// Preferred
let results: Vec<_> = items
.iter()
.filter(|item| item.is_valid())
.map(|item| item.transform())
.collect();
// Avoid
let mut results = Vec::new();
for item in items.iter() {
if item.is_valid() {
results.push(item.transform());
}
}
```
## Error Handling
Use the `Error` type from `windmill_common::error`. Return `Result<T, Error>` or `JsonResult<T>` for fallible functions:
```rust
use windmill_common::error::{Error, Result};
// Use ? operator for propagation
pub async fn get_job(db: &DB, id: Uuid) -> Result<Job> {
let job = sqlx::query_as!(Job, "SELECT ... WHERE id = $1", id)
.fetch_optional(db)
.await?
.ok_or_else(|| Error::NotFound("job not found".to_string()))?;
Ok(job)
}
```
Prefer `if let` for optional handling. Use `let...else` when early return makes code clearer:
```rust
let Some(config) = get_config() else {
return Err(Error::MissingConfig);
};
```
Never panic in library code. Reserve `.unwrap()` for cases with compile-time guarantees. Keep functions short to help lifetime inference and clarity.
## Early Returns
Return early to avoid deep nesting. Handle error cases and edge conditions first:
```rust
// Preferred - early returns
fn process_job(job: Option<Job>) -> Result<Output> {
let Some(job) = job else {
return Ok(Output::default());
};
if !job.is_valid() {
return Err(Error::InvalidJob);
}
if job.is_cached() {
return Ok(job.cached_result());
}
// Main logic at the end, not nested
execute_job(job)
}
// Avoid - deep nesting
fn process_job(job: Option<Job>) -> Result<Output> {
if let Some(job) = job {
if job.is_valid() {
if !job.is_cached() {
execute_job(job)
} else {
Ok(job.cached_result())
}
} else {
Err(Error::InvalidJob)
}
} else {
Ok(Output::default())
}
}
```
## Variable Shadowing
Shadow variables instead of creating new names with prefixes:
```rust
// Preferred
let data = fetch_raw_data();
let data = parse(data);
let data = validate(data)?;
// Avoid
let raw_data = fetch_raw_data();
let parsed_data = parse(raw_data);
let validated_data = validate(parsed_data)?;
```
## Minimal Comments
- No inline comments explaining obvious code
- No TODO/FIXME comments in committed code
- Doc comments (`///`) only on public items
- Let code be self-documenting through clear naming
## Type Safety
Use enums over boolean flags for clarity:
```rust
// Preferred
enum JobStatus {
Pending,
Running,
Completed,
}
// Avoid
struct Job {
is_running: bool,
is_completed: bool,
}
```
## Pattern Matching
Prefer explicit matching. Use wildcards strategically for fallback cases or ignored fields:
```rust
// Explicit matching preferred
match status {
JobStatus::Pending => handle_pending(),
JobStatus::Running => handle_running(),
JobStatus::Completed => handle_completed(),
}
// Wildcards OK for fallback
match result {
Ok(value) => process(value),
Err(_) => return default_value(),
}
// Wildcards OK for ignoring fields in destructuring
let Point { x, y, .. } = point;
```
## Destructuring in Function Signatures
Destructure structs directly in function parameters:
```rust
// Preferred
async fn process_job(
Extension(db): Extension<DB>,
Path((workspace, job_id)): Path<(String, Uuid)>,
Query(pagination): Query<Pagination>,
) -> Result<Json<Job>> {
// ...
}
// Avoid
async fn process_job(
db_ext: Extension<DB>,
path: Path<(String, Uuid)>,
query: Query<Pagination>,
) -> Result<Json<Job>> {
let Extension(db) = db_ext;
let Path((workspace, job_id)) = path;
// ...
}
```
## Trait Implementations
Use standard trait implementations to simplify conversions and reduce boilerplate:
```rust
// Implement From/Into for type conversions
impl From<DbJob> for ApiJob {
fn from(db: DbJob) -> Self {
ApiJob {
id: db.id,
status: db.status.into(),
}
}
}
// Use TryFrom for fallible conversions
impl TryFrom<String> for JobKind {
type Error = Error;
fn try_from(s: String) -> Result<Self, Self::Error> { ... }
}
```
Apply `derive` macros to reduce boilerplate:
```rust
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Job { ... }
```
## Module Structure
- Use `pub(crate)` instead of `pub` when possible; expose only what needs exposing
- Keep APIs small and expressive; avoid leaking internal types
- Organize code into modules reflecting ownership and domain boundaries
```rust
// Prefer restricted visibility
pub(crate) fn internal_helper() { ... }
// Only pub for external API
pub fn create_job(...) -> Result<Job> { ... }
```
## Code Navigation
Always use rust-analyzer LSP for:
- Go to definition
- Find references
- Type information
- Import resolution
Do not guess at module paths or type definitions.
## JSON Handling
Prefer `Box<serde_json::value::RawValue>` over `serde_json::Value` when:
- Storing JSON in the database (JSONB columns)
- Passing JSON through without modification
- The JSON structure doesn't need inspection
```rust
// Preferred - avoids parsing/serialization overhead
pub struct Job {
pub id: Uuid,
pub args: Option<Box<serde_json::value::RawValue>>,
}
// Only use Value when you need to inspect/modify JSON
let value: serde_json::Value = serde_json::from_str(&json)?;
if let Some(field) = value.get("field") {
// modify or inspect
}
```
## Serde Optimizations
Use serde attributes to optimize serialization:
```rust
#[derive(Serialize, Deserialize)]
pub struct Job {
#[serde(rename = "jobId")]
pub id: Uuid,
#[serde(default)]
pub priority: i32,
#[serde(skip_serializing_if = "Option::is_none")]
pub parent_job: Option<Uuid>,
#[serde(skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
}
```
Prefer borrowing for zero-copy deserialization when lifetimes allow:
```rust
#[derive(Deserialize)]
pub struct JobInput<'a> {
#[serde(borrow)]
pub workspace_id: Cow<'a, str>,
#[serde(borrow)]
pub script_path: &'a str,
}
```
## SQLx Patterns
**Never use `SELECT *`** - always list columns explicitly. This is critical for backwards compatibility when workers run behind the API server version:
```rust
// Preferred - explicit columns
sqlx::query_as!(
Job,
"SELECT id, workspace_id, path, created_at FROM v2_job WHERE id = $1",
job_id
)
// Avoid - breaks when columns are added
sqlx::query_as!(Job, "SELECT * FROM v2_job WHERE id = $1", job_id)
```
Use batch operations to minimize round trips:
```rust
// Preferred - single query with multiple values
sqlx::query!(
"INSERT INTO job_logs (job_id, logs) VALUES ($1, $2), ($3, $4)",
id1, log1, id2, log2
)
// Avoid N+1 queries
for id in ids {
sqlx::query!("SELECT ... WHERE id = $1", id).fetch_one(db).await?;
}
// Preferred - single query with IN clause
sqlx::query!("SELECT ... WHERE id = ANY($1)", &ids[..]).fetch_all(db).await?
```
Use transactions for multi-step operations and parameterize all queries.
## Async & Tokio Patterns
Never block the async runtime. Use `spawn_blocking` for CPU-intensive or blocking I/O:
```rust
// Preferred - offload blocking work
let result = tokio::task::spawn_blocking(move || {
expensive_computation(&data)
}).await?;
// Avoid - blocks the runtime
let result = expensive_computation(&data); // Don't do this in async
```
Use tokio primitives for sleep and channels:
```rust
use tokio::sync::mpsc;
use tokio::time::sleep;
// Avoid in async contexts
use std::thread::sleep; // Blocks the runtime
```
Use bounded channels for backpressure:
```rust
// Preferred - bounded channel prevents overwhelming
let (tx, rx) = tokio::sync::mpsc::channel(100);
// Be careful with unbounded
let (tx, rx) = tokio::sync::mpsc::unbounded_channel();
```
## Mutex Selection in Async Code
**Prefer `std::sync::Mutex` (or `parking_lot::Mutex`) over `tokio::sync::Mutex`** for protecting data in async code. The async mutex is more expensive and only needed when holding locks across `.await` points.
```rust
// Preferred for data protection - std mutex is faster
use std::sync::Mutex;
struct Cache {
data: Mutex<HashMap<String, Value>>,
}
impl Cache {
fn get(&self, key: &str) -> Option<Value> {
self.data.lock().unwrap().get(key).cloned()
}
fn insert(&self, key: String, value: Value) {
self.data.lock().unwrap().insert(key, value);
}
}
```
**Use `tokio::sync::Mutex` only when you must hold the lock across `.await` points**, typically for IO resources like database connections:
```rust
use tokio::sync::Mutex;
use std::sync::Arc;
// Async mutex for IO resources held across await points
let conn = Arc::new(Mutex::new(db_connection));
async fn execute_query(conn: Arc<Mutex<DbConn>>, query: &str) {
let mut lock = conn.lock().await;
lock.execute(query).await; // Lock held across .await
}
```
**Common pattern**: Wrap `Arc<Mutex<...>>` in a struct with non-async methods that lock internally, keeping lock scope minimal:
```rust
struct SharedState {
inner: std::sync::Mutex<StateInner>,
}
impl SharedState {
fn update(&self, value: i32) {
self.inner.lock().unwrap().value = value;
}
fn get(&self) -> i32 {
self.inner.lock().unwrap().value
}
}
```
**Alternative for IO resources**: Spawn a dedicated task to manage the resource and communicate via message passing:
```rust
let (tx, mut rx) = tokio::sync::mpsc::channel(32);
tokio::spawn(async move {
while let Some(cmd) = rx.recv().await {
handle_io_command(&mut resource, cmd).await;
}
});
```
## Build & Tooling
Build speed tips:
- Use `cargo check` during rapid iteration over `cargo build`
- Minimize unnecessary dependencies and feature flags

View File

@@ -1,229 +0,0 @@
---
name: svelte-frontend
description: Svelte coding guidelines for the Windmill frontend. MUST use when writing or modifying code in the frontend directory.
---
# Svelte 5 Best Practices
This guide outlines best practices for developing with Svelte 5, incorporating the new Runes API and other modern Svelte features. These rules MUST NOT be applied on svelte 4 files unless explicitly asked to do so.
## Reactivity with Runes
Svelte 5 introduces Runes for more explicit and flexible reactivity.
1. **Embrace Runes for State Management**:
* Use `$state` for reactive local component state.
```svelte
<script>
let count = $state(0);
function increment() {
count += 1;
}
</script>
<button onclick={increment}>
Clicked {count} {count === 1 ? 'time' : 'times'}
</button>
```
* Use `$derived` for computed values based on other reactive state.
```svelte
<script>
let count = $state(0);
const doubled = $derived(count * 2);
</script>
<p>{count} * 2 = {doubled}</p>
```
* Use `$effect` for side effects that need to run when reactive values change (e.g., logging, manual DOM manipulation, data fetching). Remember `$effect` does not run on the server.
```svelte
<script>
let count = $state(0);
$effect(() => {
console.log('The count is now', count);
if (count > 5) {
alert('Count is too high!');
}
});
</script>
```
2. **Props with `$props`**:
* Declare component props using `$props()`. This offers better clarity and flexibility compared to `export let`.
```svelte
<script>
// ChildComponent.svelte
let { name, age = $state(30) } = $props();
</script>
<p>Name: {name}</p>
<p>Age: {age}</p>
```
* For bindable props, use `$bindable`.
```svelte
<script>
// MyInput.svelte
let { value = $bindable() } = $props();
</script>
<input bind:value />
```
## Event Handling
* **Use direct event attributes**: Svelte 5 moves away from `on:` directives for DOM events.
* **Do**: `<button onclick={handleClick}>...</button>`
* **Don't**: `<button on:click={handleClick}>...</button>`
* **For component events, prefer callback props**: Instead of `createEventDispatcher`, pass functions as props.
```svelte
<!-- Parent.svelte -->
<script>
import Child from './Child.svelte';
let message = $state('');
function handleChildEvent(detail) {
message = detail;
}
</script>
<Child onCustomEvent={handleChildEvent} />
<p>Message from child: {message}</p>
<!-- Child.svelte -->
<script>
let { onCustomEvent } = $props();
function emitEvent() {
onCustomEvent('Hello from child!');
}
</script>
<button onclick={emitEvent}>Send Event</button>
```
## Snippets for Content Projection
* **Use `{#snippet ...}` and `{@render ...}` instead of slots**: Snippets are more powerful and flexible.
```svelte
<!-- Parent.svelte -->
<script>
import Card from './Card.svelte';
</script>
<Card>
{#snippet title()}
My Awesome Title
{/snippet}
{#snippet content()}
<p>Some interesting content here.</p>
{/snippet}
</Card>
<!-- Card.svelte -->
<script>
let { title, content } = $props();
</script>
<article>
<header>{@render title()}</header>
<div>{@render content()}</div>
</article>
```
* Default content is passed via the `children` prop (which is a snippet).
```svelte
<!-- Wrapper.svelte -->
<script>
let { children } = $props();
</script>
<div>
{@render children?.()}
</div>
```
## Component Design
1. **Create Small, Reusable Components**: Break down complex UIs into smaller, focused components. Each component should have a single responsibility. This also aids performance by limiting the scope of reactivity updates.
2. **Descriptive Naming**: Use clear and descriptive names for variables, functions, and components.
3. **Minimize Logic in Components**: Move complex business logic to utility functions or services. Keep components focused on presentation and interaction.
## State Management (Stores)
1. **Segment Stores**: Avoid a single global store. Create multiple stores, each responsible for a specific piece of global state (e.g., `userStore.js`, `themeStore.js`). This can help limit reactivity updates to only the parts of the UI that depend on specific state segments.
2. **Use Custom Stores for Complex Logic**: For stores with related methods, create custom stores.
```javascript
// counterStore.js
import { writable } from 'svelte/store';
function createCounter() {
const { subscribe, set, update } = writable(0);
return {
subscribe,
increment: () => update(n => n + 1),
decrement: () => update(n => n - 1),
reset: () => set(0)
};
}
export const counter = createCounter();
```
3. **Use Context API for Localized State**: For state shared within a component subtree, consider Svelte's context API (`setContext`, `getContext`) instead of global stores when the state doesn't need to be truly global.
## Performance Optimizations (Svelte 5)
When generating Svelte 5 code, prioritize frontend performance by applying the following principles:
### General Svelte 5 Principles
- **Leverage the Compiler:** Trust Svelte's compiler to generate optimized JavaScript. Avoid manual DOM manipulation (`document.querySelector`, etc.) unless absolutely necessary for integrating third-party libraries that lack Svelte adapters.
- **Keep Components Small and Focused:** Reinforcing from Component Design, smaller components lead to less complex reactivity graphs and more targeted, efficient updates.
### Reactivity & State Management
- **Optimize Computations with `$derived`:** Always use `$derived` for computed values that depend on other state. This ensures the computation only runs when its specific dependencies change, avoiding unnecessary work compared to recomputing derived values in `$effect` or less efficient methods.
- **Minimize `$effect` Usage:** Use `$effect` sparingly and only for true side effects that interact with the outside world or non-Svelte state. Avoid putting complex logic or state updates *within* an `$effect` unless those updates are explicitly intended as a reaction to external changes or non-Svelte state. Excessive or complex effects can impact rendering performance.
- **Structure State for Fine-Grained Updates:** Design your `$state` objects or variables such that updates affect only the necessary parts of the UI. Avoid putting too much unrelated state into a single large object that gets frequently updated, as this can potentially trigger broader updates than necessary. Consider normalizing complex, nested state.
### List Rendering (`{#each}`)
- **Mandate `key` Attribute:** Always use a `key` attribute (`{#each items as item (item.id)}`) that refers to a unique, stable identifier for each item in a list. This is critical for allowing Svelte to efficiently update, reorder, add, or remove list items without destroying and re-creating unnecessary DOM elements and component instances.
### Component Loading & Bundling
- **Implement Lazy Loading/Code Splitting:** For routes, components, or modules that are not immediately needed on page load, use dynamic imports (`import(...)`) to split the code bundle. SvelteKit handles this automatically for routes, but it can be applied manually to components using helper patterns if needed.
- **Be Mindful of Third-Party Libraries:** When incorporating external libraries, import only the necessary functions or components to minimize the final bundle size. Prefer libraries designed to be tree-shakeable.
### Rendering & DOM
- **Use CSS for Animations/Transitions:** Prefer CSS animations or transitions where possible for performance. Svelte's built-in `transition:` directive is also highly optimized and should be used for complex state-driven transitions, but simple cases can often use plain CSS.
- **Optimize Image Loading:** Implement best practices for images: use optimized formats (WebP, AVIF), lazy loading (`loading="lazy"`), and responsive images (`<picture>`, `srcset`) to avoid loading unnecessarily large images.
### Server-Side Rendering (SSR) & Hydration
- **Ensure SSR Compatibility:** Write components that can be rendered on the server for faster initial page loads. Avoid relying on browser-specific APIs (like `window` or `document`) in the main `<script>` context. If necessary, use `$effect` or check `if (browser)` inside effects to run browser-specific code only on the client.
- **Minimize Work During Hydration:** Structure components and data fetching such that minimal complex setup or computation is required when the client-side Svelte code takes over from the server-rendered HTML. Heavy synchronous work during hydration can block the main thread.
## General Clean Code Practices
1. **Organized File Structure**: Group related files together. A common structure:
```
/src
|-- /routes // Page components (if using a router like SvelteKit)
|-- /lib // Utility functions, services, constants (SvelteKit often uses this)
| |-- /stores
| |-- /utils
| |-- /services
| |-- /components // Reusable UI components
|-- App.svelte
|-- main.js (or main.ts)
```
2. **Scoped Styles**: Keep CSS scoped to components to avoid unintended side effects and improve maintainability. Avoid `:global` where possible.
3. **Immutability**: With Svelte 5 and `$state`, direct assignments to properties of `$state` objects (`obj.prop = value;`) are generally fine as Svelte's reactivity system handles updates. However, for non-rune state or when interacting with other systems, understanding and sometimes preferring immutable updates (creating new objects/arrays) can still be relevant.
4. **Use `class:` and `style:` directives**: For dynamic classes and styles, use Svelte's built-in directives for cleaner templates and potentially optimized updates.
```svelte
<script>
let isActive = $state(true);
let color = $state('blue');
</script>
<div class:active={isActive} style:color={color}>
Hello
</div>
```
5. **Stay Updated**: Keep Svelte and its related packages up to date to benefit from the latest features, performance improvements, and security fixes.

View File

@@ -29,6 +29,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/rust:bullseye
RUN apt update \
&& apt-get install -y \
lld \
python3 \
libprotobuf-dev \
libnl-route-3-dev \

View File

@@ -7,6 +7,7 @@ services:
# image: mcr.microsoft.com/vscode/devcontainers/rust:bullseye
environment:
- DENO_PATH=/usr/local/cargo/bin/deno
- PYTHON_PATH=/usr/bin/python3
- NSJAIL_PATH=/bin/nsjail
volumes:
- .:/workspace:cached

View File

@@ -3,4 +3,3 @@ frontend/build/
frontend/.svelte-kit/
backend/target/
backend/windmill-duckdb-ffi-internal/target/

15
.env
View File

@@ -1,13 +1,2 @@
DATABASE_URL=postgres://postgres:changeme@db/windmill?sslmode=disable
# For Enterprise Edition, use:
# WM_IMAGE=ghcr.io/windmill-labs/windmill-ee:main
WM_IMAGE=ghcr.io/windmill-labs/windmill:main
# To use another port than :80, setup the Caddyfile and the caddy section of the docker-compose to your needs: https://caddyserver.com/docs/getting-started
# To have caddy take care of automatic TLS
# To rotate logs, set the following variables:
#LOG_MAX_SIZE=10m
#LOG_MAX_FILE=3
DB_PASSWORD=changeme
WM_BASE_URL=localhost

1
.envrc
View File

@@ -1 +0,0 @@
use flake

View File

@@ -1,14 +0,0 @@
#!/bin/sh
#
# This file is symlinked to local .git/hooks/pre-commit by the setup-hooks.sh script
# It wil run before every commit, so it needs to be quick and efficient. If it returns
# a non-zero exit code, the commit will be aborted.
echo "Running pre-commit hook"
# This checks that there is no symlinks in the backend directory among the EE files
./backend/check_no_symlink.sh > /dev/null
if [ $? -ne 0 ]; then
echo "/!\ Symlinks detected in the backend directory. Please run './backend/substitute_ee_code.sh --revert' before committing."
exit 1
fi

6
.github/CODEOWNERS vendored
View File

@@ -1,4 +1,4 @@
* @rubenfiszel @hugocasa @alpetric
* @rubenfiszel
/community/ @rubenfiszel @hugocasa @alpetric
/frontend/ @rubenfiszel @hugocasa @alpetric
/community/ @fatonramadani @rubenfiszel
/frontend/ @fatonramadani @rubenfiszel

2
.github/Dockerfile vendored
View File

@@ -1,7 +1,7 @@
FROM nikolaik/python-nodejs
RUN npm install -g @apidevtools/swagger-cli
RUN pip install openapi-python-client==0.15.1
RUN pip install openapi-python-client
RUN pip install poetry

View File

@@ -1,72 +1,66 @@
ARG RUST_IMAGE=rust:1.80-slim-bookworm
ARG PYTHON_IMAGE=python:3.11.4-slim-bookworm
FROM python:3.10-slim-buster as nsjail
WORKDIR /nsjail
RUN apt-get -y update \
&& apt-get install -y \
bison=2:3.3.* \
flex=2.6.* \
g++=4:8.3.* \
gcc=4:8.3.* \
git=1:2.20.* \
libprotobuf-dev=3.6.* \
libnl-route-3-dev=3.4.* \
make=4.2.* \
pkg-config=0.29-6 \
protobuf-compiler=3.6.*
RUN git clone -b master --single-branch https://github.com/google/nsjail.git . \
&& git checkout dccf911fd2659e7b08ce9507c25b2b38ec2c5800
RUN make
FROM ${RUST_IMAGE} as builder
FROM rust:slim-buster as builder
RUN apt-get update && apt-get install -y git libssl-dev pkg-config
RUN apt-get -y update \
&& apt-get install -y \
curl
curl lld
ENV SQLX_OFFLINE=true
RUN mkdir -p /frontend/build
RUN apt-get update \
&& apt-get install -y ca-certificates tzdata libpq5 cmake unzip\
&& apt-get install -y ca-certificates tzdata libpq5 \
make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libxml2-dev \
libxmlsec1-dev libffi-dev liblzma-dev mecab-ipadic-utf8 libgdbm-dev libc6-dev git libprotobuf-dev libnl-route-3-dev \
libv8-dev nodejs npm clang libclang-dev\
libxmlsec1-dev libffi-dev liblzma-dev mecab-ipadic-utf8 libgdbm-dev libc6-dev git libprotobuf-dev=3.6.* libnl-route-3-dev=3.4.* \
libv8-dev tesseract-ocr nodejs npm\
&& rm -rf /var/lib/apt/lists/*
RUN wget https://golang.org/dl/go1.21.5.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
RUN wget https://golang.org/dl/go1.19.1.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz
ENV PATH="${PATH}:/usr/local/go/bin"
ENV GO_PATH=/usr/local/go/bin/go
# UV
RUN curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.9.24/uv-installer.sh | sh && mv /usr/local/cargo/bin/uv /usr/local/bin/uv
ENV TZ=Etc/UTC
ENV PYTHON_VERSION 3.11.4
ENV PYTHON_VERSION 3.10.4
# Python
RUN wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
&& tar -xf Python-${PYTHON_VERSION}.tgz && cd Python-${PYTHON_VERSION}/ && ./configure --enable-optimizations \
&& make -j 4 && make install
RUN /usr/local/bin/python3 -m pip install pip-tools
RUN /usr/local/bin/python3 -m pip install nltk
RUN mkdir -p /nsjail_data/python && HOME=/nsjail_data/python /usr/local/bin/python3 -m nltk.downloader vader_lexicon
# Bun
COPY --from=oven/bun:1.3.8 /usr/local/bin/bun /usr/bin/bun
COPY --from=nsjail /nsjail/nsjail /bin/nsjail
# Install windmill CLI
RUN bun install -g windmill-cli \
&& ln -s $(bun pm bin -g)/wmill /usr/bin/wmill
ARG TARGETPLATFORM
# Deno
RUN curl -Lsf https://github.com/denoland/deno/releases/download/v2.0.2/deno-x86_64-unknown-linux-gnu.zip -o deno.zip
# RUN [ "$TARGETPLATFORM" == "linux/arm64" ] && curl -Lsf https://github.com/denoland/deno/releases/download/v2.0.0/deno-aarch64-unknown-linux-gnu.zip -o deno.zip || true
RUN unzip deno.zip && rm deno.zip && mv deno /usr/bin/deno
COPY --from=denoland/deno:latest /usr/bin/deno /usr/bin/deno
RUN apt-get update \
&& apt-get install -y postgresql-client --allow-unauthenticated
RUN rustup component add rustfmt
# C#
RUN wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh \
&& chmod +x dotnet-install.sh \
&& ./dotnet-install.sh --channel 9.0 --install-dir /usr/share/dotnet \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \
&& rm dotnet-install.sh
# Nushell
COPY --from=ghcr.io/nushell/nushell:0.101.0-bookworm /usr/bin/nu /usr/bin/nu
RUN rustup component add rustfmt

View File

@@ -4,4 +4,4 @@ RUN python3 -m pip install pipx poetry
RUN python3 -m pipx ensurepath
ENV PATH="/root/.local/bin:${PATH}"
ENV PATH="/usr/local/bin:${PATH}"
RUN pipx install openapi-python-client==0.15.1 --include-deps
RUN pipx install openapi-python-client==0.11.6 --include-deps

View File

@@ -1,26 +0,0 @@
#!/bin/bash
set -euo pipefail
script_dirpath="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
root_dirpath="$(cd "${script_dirpath}/.." && pwd)"
VERSION=$1
echo "Updating versions to: $VERSION"
sed -i '' -e "/^version =/s/= .*/= \"$VERSION\"/" ${root_dirpath}/backend/Cargo.toml
sed -i '' -e "/^export const VERSION =/s/= .*/= \"v$VERSION\";/" ${root_dirpath}/cli/src/main.ts
sed -i '' -e "/^export const VERSION =/s/= .*/= \"v$VERSION\";/" ${root_dirpath}/benchmarks/lib.ts
sed -i '' -e "/version: /s/: .*/: $VERSION/" ${root_dirpath}/backend/windmill-api/openapi.yaml
sed -i '' -e "/version: /s/: .*/: $VERSION/" ${root_dirpath}/openflow.openapi.yaml
sed -i '' -e "/\"version\": /s/: .*,/: \"$VERSION\",/" ${root_dirpath}/typescript-client/package.json
sed -i '' -e "/\"version\": /s/: .*,/: \"$VERSION\",/" ${root_dirpath}/frontend/package.json
sed -i '' -e "/^version =/s/= .*/= \"$VERSION\"/" ${root_dirpath}/python-client/wmill/pyproject.toml
sed -i '' -e "/^windmill-api =/s/= .*/= \"\\^$VERSION\"/" ${root_dirpath}/python-client/wmill/pyproject.toml
sed -i '' -e "/^version =/s/= .*/= \"$VERSION\"/" ${root_dirpath}/python-client/wmill_pg/pyproject.toml
sed -i '' -e "/^[[:space:]]*ModuleVersion[[:space:]]*=/s/= .*/= '$VERSION'/" ${root_dirpath}/powershell-client/WindmillClient/WindmillClient.psd1
# sed -i '' -e "/^wmill =/s/= .*/= \"\\^$VERSION\"/" python-client/wmill_pg/pyproject.toml
sed -i '' -e "/^wmill =/s/= .*/= \">=$VERSION\"/" ${root_dirpath}/lsp/Pipfile
sed -i '' -e "/^wmill_pg =/s/= .*/= \">=$VERSION\"/" ${root_dirpath}/lsp/Pipfile
sed -i '' -E "s/name = \"windmill\"\nversion = \"[^\"]*\"\\n(.*)/name = \"windmill\"\nversion = \"$VERSION\"\\n\\1/" ${root_dirpath}/backend/Cargo.lock
cd ${root_dirpath}/frontend && npm i --package-lock-only

View File

@@ -1,27 +1,20 @@
#!/bin/bash
set -euo pipefail
script_dirpath="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
root_dirpath="$(cd "${script_dirpath}/.." && pwd)"
VERSION=$1
echo "Updating versions to: $VERSION"
sed -i -e "/^version =/s/= .*/= \"$VERSION\"/" ${root_dirpath}/backend/Cargo.toml
sed -i -e "/^export const VERSION =/s/= .*/= \"$VERSION\";/" ${root_dirpath}/cli/src/main.ts
sed -i -e "/^export const VERSION =/s/= .*/= \"v$VERSION\";/" ${root_dirpath}/benchmarks/lib.ts
sed -i -e "/version: /s/: .*/: $VERSION/" ${root_dirpath}/backend/windmill-api/openapi.yaml
sed -i -e "/version: /s/: .*/: $VERSION/" ${root_dirpath}/openflow.openapi.yaml
sed -i -e "/\"version\": /s/: .*,/: \"$VERSION\",/" ${root_dirpath}/typescript-client/package.json
sed -i -e "/\"version\": /s/: .*,/: \"$VERSION\",/" ${root_dirpath}/typescript-client/jsr.json
sed -i -e "/\"version\": /s/: .*,/: \"$VERSION\",/" ${root_dirpath}/frontend/package.json
sed -i -e "/^version =/s/= .*/= \"$VERSION\"/" ${root_dirpath}/python-client/wmill/pyproject.toml
sed -i -e "/^windmill-api =/s/= .*/= \"\\^$VERSION\"/" ${root_dirpath}/python-client/wmill/pyproject.toml
sed -i -e "/^version =/s/= .*/= \"$VERSION\"/" ${root_dirpath}/python-client/wmill_pg/pyproject.toml
sed -i -e "/^[[:space:]]*ModuleVersion[[:space:]]*=/s/= .*/= '$VERSION'/" ${root_dirpath}/powershell-client/WindmillClient/WindmillClient.psd1
# sed -i -e "/^wmill =/s/= .*/= \"\\^$VERSION\"/" ${root_dirpath}/python-client/wmill_pg/pyproject.toml
sed -i -e "/^wmill =/s/= .*/= \">=$VERSION\"/" ${root_dirpath}/lsp/Pipfile
sed -i -e "/^wmill_pg =/s/= .*/= \">=$VERSION\"/" ${root_dirpath}/lsp/Pipfile
sed -i -e "/^version =/s/= .*/= \"$VERSION\"/" backend/Cargo.toml
sed -i -e "/^const VERSION =/s/= .*/= \"v$VERSION\";/" cli/main.ts
sed -i -e "/version: /s/: .*/: $VERSION/" backend/windmill-api/openapi.yaml
sed -i -e "/version: /s/: .*/: $VERSION/" openflow.openapi.yaml
sed -i -e "/\"version\": /s/: .*,/: \"$VERSION\",/" frontend/package.json
sed -i -e "/^version =/s/= .*/= \"$VERSION\"/" python-client/wmill/pyproject.toml
sed -i -e "/^windmill-api =/s/= .*/= \"\\^$VERSION\"/" python-client/wmill/pyproject.toml
sed -i -e "/^version =/s/= .*/= \"$VERSION\"/" python-client/wmill_pg/pyproject.toml
# sed -i -e "/^wmill =/s/= .*/= \"\\^$VERSION\"/" python-client/wmill_pg/pyproject.toml
sed -i -e "/^wmill =/s/= .*/= \">=$VERSION\"/" lsp/Pipfile
sed -i -e "/^wmill_pg =/s/= .*/= \">=$VERSION\"/" lsp/Pipfile
sed -i -zE "s/name = \"windmill\"\nversion = \"[^\"]*\"\\n(.*)/name = \"windmill\"\nversion = \"$VERSION\"\\n\\1/" ${root_dirpath}/backend/Cargo.lock
sed -i -zE "s/name = \"windmill\"\nversion = \"[^\"]*\"\\n(.*)/name = \"windmill\"\nversion = \"$VERSION\"\\n\\1/" backend/Cargo.lock
cd ${root_dirpath}/frontend && npm i --package-lock-only --ignore-scripts
cd frontend && npm i --package-lock-only

5
.github/uffizzi/caddy/Caddyfile vendored Normal file
View File

@@ -0,0 +1,5 @@
localhost {
bind 0.0.0.0
reverse_proxy /ws/* http://0.0.0.0:3001
reverse_proxy /* http://0.0.0.0:8000
}

View File

@@ -0,0 +1,53 @@
version: '3.7'
x-uffizzi:
ingress:
service: windmill
port: 8000
services:
db:
image: postgres:14
environment:
POSTGRES_PASSWORD: changeme
POSTGRES_DB: windmill
windmill:
image: '${WINDMILL_IMAGE}'
ports:
- 8000:8000
entrypoint: ['/bin/sh', '-c']
command: 'echo ${OAUTH_JSON_BASE64} | base64 --decode > /usr/src/app/oauth.json && ./windmill'
environment:
- DATABASE_URL=postgres://postgres:changeme@localhost/windmill?sslmode=disable
- BASE_URL=${EXPECTED_URL}
- BASE_INTERNAL_URL=http://localhost:8000
- RUST_LOG=info
- NUM_WORKERS=3
- KEEP_JOB_DIR=false
- DENO_PATH=/usr/bin/deno
- PYTHON_PATH=/usr/local/bin/python3
- METRICS_ADDR=false
- OAUTH_JSON_BASE64=${OAUTH_JSON_BASE64}
volumes:
- worker_dependency_cache:/tmp/windmill/cache
deploy:
resources:
limits:
memory: 250M
lsp:
image: '${LSP_IMAGE}'
ports:
- 3001:3001
# caddy:
# image: caddy:2.5.2-alpine
# restart: unless-stopped
# volumes:
# - ./.github/uffizzi/caddy:/etc/caddy
# environment:
# - BASE_URL=localhost
volumes:
worker_dependency_cache:

View File

@@ -1,94 +0,0 @@
name: Aider Auto-fix PR Review Change Requests
on:
pull_request_review:
types: [submitted]
jobs:
check-membership:
if: github.event.review.state == 'changes_requested' && contains(github.event.pull_request.title, '[Aider PR]')
runs-on: ubicloud-standard-2
outputs:
is_member: ${{ steps.check-membership.outputs.is_member }}
steps:
- name: Check organization membership
id: check-membership
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
REVIEWER: ${{ github.event.review.user.login }}
ORG_ACCESS_TOKEN: ${{ secrets.ORG_ACCESS_TOKEN }}
run: |
ORG="windmill-labs"
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: token $ORG_ACCESS_TOKEN" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/orgs/$ORG/members/$REVIEWER")
if [ "$STATUS" -eq 204 ]; then
echo "is_member=true" >> $GITHUB_OUTPUT
else
echo "is_member=false" >> $GITHUB_OUTPUT
fi
check-and-prepare:
needs: check-membership
if: github.event.review.state == 'changes_requested' && contains(github.event.pull_request.title, '[Aider PR]') && needs.check-membership.outputs.is_member == 'true'
runs-on: ubicloud-standard-2
permissions:
contents: write
pull-requests: write
outputs:
prompt_content: ${{ steps.prepare_prompt.outputs.prompt_content }}
env:
GEMINI_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WINDMILL_TOKEN: ${{ secrets.WINDMILL_TOKEN }}
steps:
- name: Acknowledge Request
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
run: |
echo "Commenting on PR #${{ github.event.pull_request.number }} to acknowledge the /aider command."
gh pr comment ${{ github.event.pull_request.number }} --body "🤖 Aider is starting to work on your request. Please be patient, this might take a few minutes." --repo $GITHUB_REPOSITORY
- name: Prepare prompt for Aider
id: prepare_prompt
shell: bash
env:
GITHUB_REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REVIEW_BODY: ${{ github.event.review.body }}
run: |
REVIEW_BODY_ESCAPED="${REVIEW_BODY//\\/\\\\}"
REVIEW_BODY_ESCAPED="${REVIEW_BODY_ESCAPED//\"/\\\"}"
ALL_REVIEW_COMMENTS=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/comments)
FORMATTED_COMMENTS=$(jq -r '[.[] | {diff_hunk: .diff_hunk, path: .path, body: .body}]' <<< "$ALL_REVIEW_COMMENTS")
BASE_PROMPT="Fix the following issues in the PR based on the review feedback. The review body is prepended with REVIEW. The review comments are prepended with REVIEW_COMMENTS. The review body and comments are separated by a blank line."
COMPLETE_PROMPT="${BASE_PROMPT}"$'\n'"REVIEW:"$'\n'"${REVIEW_BODY_ESCAPED}"$'\n'"REVIEW_COMMENTS:"$'\n'"${FORMATTED_COMMENTS}"
echo "prompt_content<<EOF" >> $GITHUB_OUTPUT
echo "$COMPLETE_PROMPT" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
run-aider:
needs: [check-membership, check-and-prepare]
if: github.event.review.state == 'changes_requested' && contains(github.event.pull_request.title, '[Aider PR]') && needs.check-membership.outputs.is_member == 'true'
uses: ./.github/workflows/aider-common.yml
with:
needs_processing: false
base_prompt: ${{ needs.check-and-prepare.outputs.prompt_content }}
rules_files: ".cursor/rules/rust-best-practices.mdc .cursor/rules/svelte5-best-practices.mdc .cursor/rules/windmill-overview.mdc"
secrets: inherit

View File

@@ -1,522 +0,0 @@
name: Aider Common Steps
on:
workflow_call:
inputs:
issue_title:
description: "Title of the issue or PR"
required: false
type: string
issue_body:
description: "Body of the issue or PR"
required: false
type: string
instruction:
description: "Instruction for Aider"
required: false
type: string
issue_id:
description: "ID of the issue or PR"
required: false
type: string
needs_processing:
description: "Whether the issue needs to be processed by the external API"
required: false
type: boolean
default: true
base_prompt:
description: "Base prompt for Aider"
required: false
type: string
default: "Try to fix the following issue based on the instruction given by the user. The issue is prepended with the word ISSUE. The instruction is prepended with the word INSTRUCTION. The issue and instruction are separated by a blank line."
probe_prompt:
description: "Prompt for probe-chat"
required: false
type: string
default: 'I''m giving you a request that needs to be implemented. Your role is ONLY to give me the files that are relevant to the request and nothing else. The request is prepended with the word REQUEST. Give me all the files relevant to this request. Your output MUST be a single json array that can be parsed with programatic json parsing, with the relevant files. Files can be rust or typescript or javascript files. DO NOT INCLUDE ANY OTHER TEXT IN YOUR OUTPUT. ONLY THE JSON ARRAY. Example of output: ["file1.py", "file2.py"]'
rules_files:
description: "Rules files for Aider"
required: false
type: string
outputs:
files_to_edit:
description: "Files identified by probe-chat for editing"
value: ${{ jobs.common-steps.outputs.files_to_edit }}
final_prompt:
description: "Final prompt for Aider"
value: ${{ jobs.common-steps.outputs.final_prompt }}
pr_branch_name:
description: "Name of the branch used for PR"
value: ${{ jobs.common-steps.outputs.pr_branch_name }}
changes_applied_message:
description: "Message indicating changes were applied"
value: ${{ jobs.common-steps.outputs.changes_applied_message }}
changes_applied:
description: "Boolean indicating if changes were successfully applied"
value: ${{ jobs.common-steps.outputs.changes_applied }}
jobs:
common-steps:
runs-on: ubicloud-standard-8
outputs:
files_to_edit: ${{ steps.probe_files.outputs.files_to_edit }}
final_prompt: ${{ steps.create_prompt.outputs.final_prompt }}
pr_branch_name: ${{ steps.commit_and_push.outputs.PR_BRANCH_NAME }}
changes_applied_message: ${{ steps.commit_and_push.outputs.CHANGES_APPLIED_MESSAGE }}
changes_applied: ${{ steps.commit_and_push.outputs.CHANGES_APPLIED }}
env:
GEMINI_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WINDMILL_TOKEN: ${{ secrets.WINDMILL_TOKEN }}
LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@v2
with:
egress-policy: audit
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Checkout PR Branch
id: checkout_pr
if: (github.event_name == 'issue_comment' && github.event.issue.pull_request) || (github.event_name == 'pull_request_review')
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "Issue comment trigger: Checking out PR branch..."
PR_NUMBER=""
if [ -n "${{ github.event.issue.number }}" ]; then
PR_NUMBER="${{ github.event.issue.number }}"
elif [ -n "${{ github.event.pull_request.number }}" ]; then
PR_NUMBER="${{ github.event.pull_request.number }}"
else
echo "::error::Could not determine PR number."
exit 1
fi
PR_HEAD_REF=$(gh pr view $PR_NUMBER --json headRefName -q .headRefName --repo $GITHUB_REPOSITORY)
if [[ -z "$PR_HEAD_REF" || "$PR_HEAD_REF" == "null" ]]; then
echo "::error::Could not determine PR head branch for PR #$PR_NUMBER via gh CLI."
exit 1
fi
echo "Checking out PR head branch: $PR_HEAD_REF for PR #$PR_NUMBER"
git fetch origin "refs/heads/${PR_HEAD_REF}:refs/remotes/origin/${PR_HEAD_REF}" --no-tags
git checkout "$PR_HEAD_REF"
echo "Successfully checked out branch $(git rev-parse --abbrev-ref HEAD)"
echo "PR_BRANCH=$PR_HEAD_REF" >> $GITHUB_OUTPUT
- name: Configure Git User
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Cache Python dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt', '**/setup.py') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install Aider and Dependencies
run: |
echo "Installing Aider..."
python -m pip install uv
python -m venv ~/uv-env
source ~/uv-env/bin/activate
uv pip install configargparse==1.7
uv pip install aider-chat==0.83.1
uv pip install -U google-generativeai
sudo apt-get update && sudo apt-get install -y jq
echo "$HOME/.local/bin" >> $GITHUB_PATH
echo "VIRTUAL_ENV_PATH=$HOME/uv-env" >> $GITHUB_ENV
- name: Create Prompt for Aider
id: create_prompt
shell: bash
env:
BASE_PROMPT_ENV: ${{ inputs.base_prompt }}
ISSUE_TITLE_ENV: ${{ inputs.issue_title }}
ISSUE_BODY_ENV: ${{ inputs.issue_body }}
INSTRUCTION_ENV: ${{ inputs.instruction }}
NEEDS_PROCESSING_ENV: ${{ inputs.needs_processing }}
WINDMILL_TOKEN: ${{ secrets.WINDMILL_TOKEN }}
run: |
set -e
FINAL_PROMPT_CONTENT=""
if [[ "$ISSUE_TITLE_ENV" != "" && "$ISSUE_BODY_ENV" != "" ]]; then
echo "Processing issue with title: $ISSUE_TITLE_ENV"
if [[ "$NEEDS_PROCESSING_ENV" == "true" ]]; then
echo "Needs processing is true. Calling Windmill API..."
JSON_PAYLOAD=$(jq -n \
--arg title "$ISSUE_TITLE_ENV" \
--arg body "$ISSUE_BODY_ENV" \
'{"body":{"issue_title":$title,"issue_body":$body}}')
echo "Windmill JSON Payload: $JSON_PAYLOAD"
API_RESULT_FILE=$(mktemp)
HTTP_CODE=$(curl -s -o "$API_RESULT_FILE" -w "%{http_code}" \
-X POST "https://app.windmill.dev/api/w/windmill-labs/jobs/run_wait_result/p/f/ai/quiet_script" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WINDMILL_TOKEN" \
--data-binary "$JSON_PAYLOAD" \
--max-time 90)
BODY_CONTENT=$(cat "$API_RESULT_FILE")
rm -f "$API_RESULT_FILE" # Clean up temp file
echo "Windmill API HTTP Code: $HTTP_CODE"
if [[ "$HTTP_CODE" -eq 200 ]]; then
PROCESSED_ISSUE_PROMPT=$(echo "$BODY_CONTENT" | jq -r '.effective_body // empty')
if [[ -z "$PROCESSED_ISSUE_PROMPT" || "$PROCESSED_ISSUE_PROMPT" == "null" ]]; then
echo "::warning::Windmill API returned 200 but effective_body was empty or null."
EFFECTIVE_ISSUE_CONTENT_FOR_PROMPT="$ISSUE_BODY_ENV"
else
echo "Successfully processed issue via Windmill API."
EFFECTIVE_ISSUE_CONTENT_FOR_PROMPT="$PROCESSED_ISSUE_PROMPT"
fi
FINAL_PROMPT_CONTENT=$(printf "%s\nISSUE:\n%s\nINSTRUCTION:\n%s" \
"$BASE_PROMPT_ENV" "$EFFECTIVE_ISSUE_CONTENT_FOR_PROMPT" "$INSTRUCTION_ENV")
else
echo "::error::Windmill API call failed (HTTP $HTTP_CODE). Using raw issue content for prompt."
FINAL_PROMPT_CONTENT=$(printf "%s\nISSUE:\n%s\nINSTRUCTION:\n%s" \
"$BASE_PROMPT_ENV" "$ISSUE_BODY_ENV" "$INSTRUCTION_ENV")
fi
else
echo "Needs processing is false. Using raw issue content for prompt."
FINAL_PROMPT_CONTENT=$(printf "%s\nISSUE:\n%s\nINSTRUCTION:\n%s" \
"$BASE_PROMPT_ENV" "$ISSUE_BODY_ENV" "$INSTRUCTION_ENV")
fi
else
echo "No issue title or body given. Using base prompt."
FINAL_PROMPT_CONTENT=$(printf "%s\nINSTRUCTION:\n%s" "$BASE_PROMPT_ENV" "$INSTRUCTION_ENV")
fi
echo "Final prompt: $FINAL_PROMPT_CONTENT"
echo "final_prompt<<EOF_AIDER_PROMPT" >> "$GITHUB_OUTPUT"
echo "$FINAL_PROMPT_CONTENT" >> "$GITHUB_OUTPUT"
echo "EOF_AIDER_PROMPT" >> "$GITHUB_OUTPUT"
- name: Probe Chat for Relevant Files
id: probe_files
shell: bash
env:
FINAL_PROMPT: ${{ steps.create_prompt.outputs.final_prompt }}
PROBE_PROMPT: ${{ inputs.probe_prompt }}
run: |
echo "Running probe-chat to find relevant files..."
MESSAGE_FOR_PROBE=$(printf "%s\nREQUEST:\n%s" "$PROBE_PROMPT" "$FINAL_PROMPT")
set -o pipefail
PROBE_OUTPUT=$(npx --yes @buger/probe-chat@latest --max-iterations 50 --model-name gemini-2.5-pro-preview-05-06 --message "$MESSAGE_FOR_PROBE") || {
echo "::error::probe-chat command failed. Output:"
echo "$PROBE_OUTPUT"
exit 1
}
set +o pipefail
echo "Probe-chat raw output:"
echo "$PROBE_OUTPUT"
JSON_FILES=$(echo "$PROBE_OUTPUT" | sed -n '/^\s*\[/,$p' | sed '/^\s*\]/q')
echo "Extracted JSON block:"
echo "$JSON_FILES"
FILES_LIST=$(echo "$JSON_FILES" | jq -e -r '[.[] | select(type == "string" and . != "" and . != null and (endswith("/") | not))] | join(" ")' || echo "")
if [[ -z "$FILES_LIST" ]]; then
echo "::warning::probe-chat did not identify any relevant files."
fi
echo "Formatted files list for aider: $FILES_LIST"
echo "files_to_edit=$FILES_LIST" >> $GITHUB_OUTPUT
- name: Cache Aider tags
uses: actions/cache@v3
with:
path: .aider.tags.cache.v4
key: ${{ runner.os }}-aider-${{ github.sha }}
restore-keys: |
${{ runner.os }}-aider-
- name: Prepare branch for Aider
id: prepare_branch
env:
ISSUE_ID: ${{ inputs.issue_id }}
run: |
if [[ "$ISSUE_ID" != "" ]]; then
BRANCH_NAME="aider-fix-issue-${ISSUE_ID}"
# Check if branch exists remotely
if git ls-remote --heads origin $BRANCH_NAME | grep -q $BRANCH_NAME; then
echo "Branch $BRANCH_NAME already exists remotely, fetching it"
git fetch origin $BRANCH_NAME
git checkout $BRANCH_NAME
git pull origin $BRANCH_NAME
else
echo "Creating new branch $BRANCH_NAME"
git checkout -b $BRANCH_NAME
fi
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_OUTPUT
else
# We're in a pull_request_review event
PR_NUMBER="${{ github.event.pull_request.number }}"
PR_HEAD_REF="${{ github.event.pull_request.head.ref }}"
echo "Handling pull_request_review for PR #$PR_NUMBER on branch $PR_HEAD_REF"
# Ensure we're on the correct branch
git config pull.rebase true
git fetch origin $PR_HEAD_REF
git checkout $PR_HEAD_REF
git pull origin $PR_HEAD_REF
echo "Using PR branch $PR_HEAD_REF for PR #$PR_NUMBER"
echo "BRANCH_NAME=$PR_HEAD_REF" >> $GITHUB_OUTPUT
fi
- name: Run Aider
id: run_aider
shell: bash
env:
FILES_TO_EDIT: ${{ steps.probe_files.outputs.files_to_edit }}
FINAL_PROMPT: ${{ steps.create_prompt.outputs.final_prompt }}
RULES_FILES: ${{ inputs.rules_files }}
run: |
source $VIRTUAL_ENV_PATH/bin/activate
echo "$FINAL_PROMPT" > .aider_final_prompt.txt
echo "FILES_TO_EDIT: $FILES_TO_EDIT"
RULES=""
if [ -n "$RULES_FILES" ]; then
for rule in $RULES_FILES; do
RULES="$RULES --read $rule"
done
fi
aider \
$RULES \
$FILES_TO_EDIT \
--model gemini/gemini-2.5-pro-preview-05-06 \
--message-file .aider_final_prompt.txt \
--yes \
--no-check-update \
--auto-commits \
--no-analytics \
--no-gitignore \
| tee .aider_output.txt || true
echo "Aider command completed. Output saved to .aider_output.txt"
- name: Cache Node.js dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-
- name: Commit and Push Changes
id: commit_and_push
env:
ISSUE_ID: ${{ inputs.issue_id }}
BRANCH_NAME: ${{ steps.prepare_branch.outputs.BRANCH_NAME }}
run: |
if [[ "$ISSUE_ID" != "" ]]; then
# Check if there are any uncommitted changes
if [[ -n $(git status --porcelain) ]]; then
echo "Found uncommitted changes, committing them"
git add .
git commit -m "Aider changes"
fi
# Push changes to the branch
if git push origin $BRANCH_NAME; then
echo "Pushed to branch $BRANCH_NAME"
echo "PR_BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_OUTPUT
echo "CHANGES_APPLIED_MESSAGE=Aider changes pushed to branch $BRANCH_NAME." >> $GITHUB_OUTPUT
echo "CHANGES_APPLIED=true" >> $GITHUB_OUTPUT
else
echo "::warning::Push to PR branch $BRANCH_NAME failed."
echo "CHANGES_APPLIED_MESSAGE=Aider ran, but failed to push changes to PR branch $BRANCH_NAME." >> $GITHUB_OUTPUT
echo "CHANGES_APPLIED=false" >> $GITHUB_OUTPUT
fi
else
# We're in a pull_request_review event
PR_HEAD_REF="${{ github.event.pull_request.head.ref }}"
echo "Attempting to push changes to PR branch $PR_HEAD_REF"
if git push origin $PR_HEAD_REF; then
echo "Push to $PR_HEAD_REF successful (or no new changes to push)."
echo "CHANGES_APPLIED_MESSAGE=Aider changes (if any) pushed to PR branch $PR_HEAD_REF." >> $GITHUB_OUTPUT
echo "PR_BRANCH_NAME=$PR_HEAD_REF" >> $GITHUB_OUTPUT
echo "CHANGES_APPLIED=true" >> $GITHUB_OUTPUT
else
echo "::warning::Push to PR branch $PR_HEAD_REF failed."
echo "CHANGES_APPLIED_MESSAGE=Aider ran, but failed to push changes to PR branch $PR_HEAD_REF." >> $GITHUB_OUTPUT
echo "CHANGES_APPLIED=false" >> $GITHUB_OUTPUT
fi
fi
- name: Create Pull Request
if: always() && (github.event_name == 'issue_comment' || github.event_name == 'repository_dispatch') && !github.event.issue.pull_request && steps.commit_and_push.outputs.PR_BRANCH_NAME != ''
id: create_pr
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_BRANCH: ${{ steps.commit_and_push.outputs.PR_BRANCH_NAME }}
ISSUE_NUM: ${{ inputs.issue_id }}
ISSUE_TITLE: ${{ inputs.issue_title }}
GITHUB_EVENT_NAME: ${{ github.event_name }}
run: |
# Create PR description in a temporary file to avoid command line length limits and ensure it stays under 40k chars
HEADER="This PR was created automatically by Aider to fix issue #${ISSUE_NUM}."
# if event is repository_dispatch, add the issue title to the header
if [ "$GITHUB_EVENT_NAME" == "repository_dispatch" ]; then
if [[ "${{ github.event.client_payload.source }}" == "linear" ]]; then
HEADER="This PR was created automatically by Aider to fix issue #linear:${ISSUE_NUM}."
elif [[ "${{ github.event.client_payload.source }}" == "discord" ]]; then
HEADER="This PR was created automatically by Aider to fix issue #discord:${ISSUE_NUM}."
fi
fi
cat > /tmp/pr-description.md << EOL | head -c 40000
$HEADER
## Aider Output
\`\`\`
$(cat .aider_output.txt || echo "No output available")
\`\`\`
EOL
# Create PR using the file for the body content, handle errors gracefully
set +e # Don't exit on error
PR_TITLE="[Aider PR] Fix: ${ISSUE_TITLE}"
if [ -z "$ISSUE_TITLE" ]; then
PR_TITLE="[Aider PR] AI changes after request"
fi
gh pr create \
--title "$PR_TITLE" \
--body-file /tmp/pr-description.md \
--head "$PR_BRANCH" \
--base main \
--draft
PR_CREATE_EXIT_CODE=$?
set -e # Re-enable exit on error
if [ $PR_CREATE_EXIT_CODE -eq 0 ]; then
echo "PR created successfully"
PR_URL=$(gh pr view $PR_BRANCH --json url --jq .url)
echo "PR_URL=$PR_URL" >> $GITHUB_OUTPUT
echo "PR_CREATED=true" >> $GITHUB_OUTPUT
else
echo "Warning: Failed to create PR. Exit code: $PR_CREATE_EXIT_CODE"
echo "PR_CREATED=false" >> $GITHUB_OUTPUT
# Continue workflow despite PR creation failure
fi
- name: Comment on PR with Aider Output
if: always() && github.event_name == 'pull_request_review' && steps.commit_and_push.outputs.CHANGES_APPLIED != ''
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUM: ${{ github.event.pull_request.number }}
JOB_STATUS: ${{ job.status }}
run: |
# Create comment body in a temporary file to avoid command line length limits
if [[ "${{ steps.commit_and_push.outputs.CHANGES_APPLIED }}" == "true" ]]; then
if [[ "$JOB_STATUS" == "success" ]]; then
STATUS_PREFIX="🤖 I've automatically addressed the feedback based on the review."
else
STATUS_PREFIX="⚠️ I attempted to address the feedback, but encountered some issues."
fi
else
if [[ "$JOB_STATUS" == "success" ]]; then
STATUS_PREFIX="🤖 I attempted to address the review feedback, but no modifications were made."
else
STATUS_PREFIX="⚠️ I encountered issues while attempting to address the feedback, and no modifications were made."
fi
fi
cat > /tmp/pr-comment.md << EOL
${STATUS_PREFIX}
## Aider Output
\`\`\`
$(cat .aider_output.txt || echo 'No output available')
\`\`\`
Please review the output and provide additional guidance if needed.
EOL
# Use the file for comment body
gh pr comment $PR_NUM --body-file /tmp/pr-comment.md
- name: Comment on issue/PR to let the user know Aider has finished working on the request
if: always() && github.event_name == 'issue_comment'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
JOB_STATUS: ${{ job.status }}
PR_CREATED: ${{ steps.create_pr.outputs.PR_CREATED }}
PR_URL: ${{ steps.create_pr.outputs.PR_URL }}
run: |
echo "Commenting on issue/PR #${{ github.event.issue.number }} to let the user know Aider has finished working on the request."
if [[ "$JOB_STATUS" == "success" ]]; then
if [[ "$PR_CREATED" == "true" ]]; then
COMMENT_BODY="🤖 Aider has finished working on your request. A PR has been created. $PR_URL"
else
COMMENT_BODY="🤖 Aider has finished working on your request, but was unable to create a PR."
fi
else
COMMENT_BODY="⚠️ Aider encountered issues while working on your request. Please check the workflow logs for details."
fi
gh issue comment ${{ github.event.issue.number }} --body "$COMMENT_BODY" --repo $GITHUB_REPOSITORY
- name: Comment on linear issue to let the user know Aider has finished working on the request
if: always() && github.event_name == 'repository_dispatch'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
JOB_STATUS: ${{ job.status }}
LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
PR_CREATED: ${{ steps.create_pr.outputs.PR_CREATED }}
PR_URL: ${{ steps.create_pr.outputs.PR_URL }}
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}
SOURCE: ${{ github.event.client_payload.source }}
run: |
echo "Notifying user about Aider completion status for $SOURCE request #${{ github.event.client_payload.issue_id }}"
if [[ "$JOB_STATUS" == "success" ]]; then
if [[ "$PR_CREATED" == "true" ]]; then
COMMENT_BODY="🤖 Aider has finished working on your request. A PR has been created. $PR_URL"
else
COMMENT_BODY="🤖 Aider has finished working on your request, but was unable to create a PR."
fi
else
COMMENT_BODY="⚠️ Aider encountered issues while working on your request. Please check the workflow logs for details."
fi
if [[ "$SOURCE" == "discord" ]]; then
curl -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
"https://discord.com/api/v10/channels/${{ github.event.client_payload.channel_id }}/messages" \
-d "{\"content\":\"${COMMENT_BODY}\"}"
else
curl -X POST \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
"https://api.linear.app/graphql" \
-d "{\"query\":\"mutation { commentCreate(input: { issueId: \\\"${{ github.event.client_payload.issue_id }}\\\", body: \\\"${COMMENT_BODY}\\\" }) { success } }\"}"
fi

View File

@@ -1,80 +0,0 @@
name: External Aider Issue Fix
on:
repository_dispatch:
types: [external_issue_fix]
jobs:
check-and-prepare:
runs-on: ubicloud-standard-2
permissions:
contents: write
pull-requests: write
outputs:
issue_title: ${{ steps.determine_inputs.outputs.ISSUE_TITLE }}
issue_body: ${{ steps.determine_inputs.outputs.ISSUE_BODY }}
instruction: ${{ steps.determine_inputs.outputs.INSTRUCTION }}
env:
GEMINI_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WINDMILL_TOKEN: ${{ secrets.WINDMILL_TOKEN }}
LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}
steps:
- name: Acknowledge Request
env:
LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}
run: |
if [[ "${{ github.event.client_payload.source }}" == "linear" ]]; then
echo "Commenting on Linear issue #${{ github.event.client_payload.issue_id }} to acknowledge the request."
curl -X POST \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
"https://api.linear.app/graphql" \
-d "{\"query\":\"mutation { commentCreate(input: { issueId: \\\"${{ github.event.client_payload.issue_id }}\\\", body: \\\"🤖 Aider is starting to work on your request. I'll update you here once I have a PR ready. Please be patient, this might take a few minutes.\\\" }) { success } }\"}"
elif [[ "${{ github.event.client_payload.source }}" == "discord" ]]; then
echo "Commenting on Discord thread #${{ github.event.client_payload.channel_id }} to acknowledge the request."
curl -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
"https://discord.com/api/v10/channels/${{ github.event.client_payload.channel_id }}/messages" \
-d "{\"content\":\"🤖 Aider is starting to work on your request. I'll update you here once I have a PR ready. Please be patient, this might take a few minutes.\"}"
fi
- name: Determine inputs for Aider
id: determine_inputs
shell: bash
env:
ISSUE_TITLE: ${{ github.event.client_payload.issue_title }}
ISSUE_BODY: ${{ github.event.client_payload.issue_body }}
INSTRUCTION: ${{ github.event.client_payload.instruction }}
run: |
echo "Determining inputs for Aider..."
echo "ISSUE_TITLE<<EOF_AIDER_TITLE" >> "$GITHUB_OUTPUT"
echo "$ISSUE_TITLE" >> "$GITHUB_OUTPUT"
echo "EOF_AIDER_TITLE" >> "$GITHUB_OUTPUT"
echo "ISSUE_BODY<<EOF_AIDER_BODY" >> "$GITHUB_OUTPUT"
echo "$ISSUE_BODY" >> "$GITHUB_OUTPUT"
echo "EOF_AIDER_BODY" >> "$GITHUB_OUTPUT"
echo "INSTRUCTION<<EOF_AIDER_INSTRUCTION" >> "$GITHUB_OUTPUT"
echo "$INSTRUCTION" >> "$GITHUB_OUTPUT"
echo "EOF_AIDER_INSTRUCTION" >> "$GITHUB_OUTPUT"
echo "Finished determining inputs."
run-aider:
needs: check-and-prepare
uses: ./.github/workflows/aider-common.yml
with:
issue_title: ${{ needs.check-and-prepare.outputs.issue_title }}
issue_body: ${{ needs.check-and-prepare.outputs.issue_body }}
instruction: ${{ needs.check-and-prepare.outputs.instruction }}
issue_id: ${{ github.event.client_payload.issue_id }}
rules_files: ".cursor/rules/rust-best-practices.mdc .cursor/rules/svelte5-best-practices.mdc .cursor/rules/windmill-overview.mdc"
secrets: inherit

View File

@@ -1,165 +0,0 @@
name: Aider Auto-fix issues and PR comments via external prompt
on:
issue_comment:
types: [created]
jobs:
check-membership:
runs-on: ubicloud-standard-2
if: |
github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '/aider') &&
!contains(github.event.comment.user.login, '[bot]')
outputs:
is_member: ${{ steps.check-membership.outputs.is_member }}
steps:
- name: Check organization membership
id: check-membership
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
COMMENTER: ${{ github.event.comment.user.login }}
ORG_ACCESS_TOKEN: ${{ secrets.ORG_ACCESS_TOKEN }}
run: |
ORG="windmill-labs"
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: token $ORG_ACCESS_TOKEN" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/orgs/$ORG/members/$COMMENTER")
if [ "$STATUS" -eq 204 ]; then
echo "is_member=true" >> $GITHUB_OUTPUT
else
echo "is_member=false" >> $GITHUB_OUTPUT
fi
check-and-prepare:
needs: check-membership
runs-on: ubicloud-standard-2
if: needs.check-membership.outputs.is_member == 'true'
permissions:
contents: write
pull-requests: write
issues: write
env:
GEMINI_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WINDMILL_TOKEN: ${{ secrets.WINDMILL_TOKEN }}
outputs:
issue_title: ${{ steps.determine_inputs.outputs.ISSUE_TITLE }}
issue_body: ${{ steps.determine_inputs.outputs.ISSUE_BODY }}
comment_content: ${{ steps.determine_inputs.outputs.COMMENT_CONTENT }}
pr_branch: ${{ steps.checkout_pr.outputs.PR_BRANCH }}
steps:
- name: Acknowledge Request
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
run: |
echo "Commenting on issue/PR #${{ github.event.issue.number }} to acknowledge the /aider command."
gh issue comment ${{ github.event.issue.number }} --body "🤖 Aider is starting to work on your request. I'll update you here once I have a PR ready. Please be patient, this might take a few minutes." --repo $GITHUB_REPOSITORY
- name: Determine inputs for Aider
id: determine_inputs
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMMENT_BODY: ${{ github.event.comment.body }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
GITHUB_REPOSITORY: ${{ github.repository }}
LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
run: |
echo "Determining inputs for Aider..."
ISSUE_TITLE_VAL=""
ISSUE_BODY_VAL=""
if [[ ! -z "${{ github.event.issue.pull_request }}" ]]; then
echo "This is a comment on a Pull Request"
PR_NUMBER="$ISSUE_NUMBER"
PR_BODY_JSON=$(gh pr view "$PR_NUMBER" --json body --repo "$GITHUB_REPOSITORY")
if [[ $? -ne 0 ]]; then
echo "Error fetching PR body for PR #$PR_NUMBER"
PR_BODY_VAL=""
else
PR_BODY_VAL=$(jq -r '.body // ""' <<< "$PR_BODY_JSON")
fi
if [[ ! -z "$PR_BODY_VAL" ]]; then
REFERENCED_ISSUE=""
if [[ "$PR_BODY_VAL" =~ \#linear:([a-f0-9-]+) ]]; then
REFERENCED_ISSUE="${BASH_REMATCH[1]}"
echo "Found referenced Linear issue #$REFERENCED_ISSUE in PR description"
LINEAR_ISSUE_JSON=$(curl -s -H "Authorization: $LINEAR_API_KEY" \
"https://api.linear.app/graphql" \
-X POST \
-H "Content-Type: application/json" \
-d "{\"query\":\"query { issue(id: \\\"$REFERENCED_ISSUE\\\") { title description } }\"}")
if [[ $? -eq 0 && ! "$LINEAR_ISSUE_JSON" =~ "error" ]]; then
ISSUE_TITLE_VAL=$(jq -r '.data.issue.title // ""' <<< "$LINEAR_ISSUE_JSON")
ISSUE_BODY_VAL=$(jq -r '.data.issue.description // ""' <<< "$LINEAR_ISSUE_JSON")
echo "Successfully fetched Linear issue details"
else
echo "Error fetching Linear issue details for #$REFERENCED_ISSUE"
fi
elif [[ "$PR_BODY_VAL" =~ \#([0-9]+) ]]; then
REFERENCED_ISSUE="${BASH_REMATCH[1]}"
echo "Found referenced GitHub issue #$REFERENCED_ISSUE in PR description"
ISSUE_DETAILS_JSON=$(gh issue view "$REFERENCED_ISSUE" --json title,body --repo "$GITHUB_REPOSITORY")
if [[ $? -ne 0 ]]; then
echo "Error fetching issue details for #$REFERENCED_ISSUE"
else
ISSUE_TITLE_VAL=$(jq -r '.title // ""' <<< "$ISSUE_DETAILS_JSON")
ISSUE_BODY_VAL=$(jq -r '.body // ""' <<< "$ISSUE_DETAILS_JSON")
fi
fi
else
echo "PR body is empty or could not be fetched."
fi
else
echo "This is a comment on a regular issue"
ISSUE_DETAILS_JSON=$(gh issue view "$ISSUE_NUMBER" --json title,body --repo "$GITHUB_REPOSITORY")
if [[ $? -ne 0 ]]; then
echo "Error fetching issue details for #$ISSUE_NUMBER"
else
ISSUE_TITLE_VAL=$(jq -r '.title // ""' <<< "$ISSUE_DETAILS_JSON")
ISSUE_BODY_VAL=$(jq -r '.body // ""' <<< "$ISSUE_DETAILS_JSON")
fi
fi
echo "ISSUE_TITLE<<EOF_AIDER_TITLE" >> "$GITHUB_OUTPUT"
echo "$ISSUE_TITLE_VAL" >> "$GITHUB_OUTPUT"
echo "EOF_AIDER_TITLE" >> "$GITHUB_OUTPUT"
echo "ISSUE_BODY<<EOF_AIDER_BODY" >> "$GITHUB_OUTPUT"
echo "$ISSUE_BODY_VAL" >> "$GITHUB_OUTPUT"
echo "EOF_AIDER_BODY" >> "$GITHUB_OUTPUT"
CLEAN_COMMENT="${COMMENT_BODY/\/aider/}"
CLEAN_COMMENT="${CLEAN_COMMENT#"${CLEAN_COMMENT%%[![:space:]]*}"}"
CLEAN_COMMENT="${CLEAN_COMMENT%"${CLEAN_COMMENT##*[![:space:]]}"}"
echo "COMMENT_CONTENT<<EOF_AIDER_COMMENT" >> "$GITHUB_OUTPUT"
echo "$CLEAN_COMMENT" >> "$GITHUB_OUTPUT"
echo "EOF_AIDER_COMMENT" >> "$GITHUB_OUTPUT"
echo "Finished determining inputs."
run-aider:
needs: [check-membership, check-and-prepare]
if: needs.check-membership.outputs.is_member == 'true'
uses: ./.github/workflows/aider-common.yml
with:
issue_title: ${{ needs.check-and-prepare.outputs.issue_title }}
issue_body: ${{ needs.check-and-prepare.outputs.issue_body }}
instruction: ${{ needs.check-and-prepare.outputs.comment_content }}
issue_id: ${{ github.event.issue.number }}
rules_files: ".cursor/rules/rust-best-practices.mdc .cursor/rules/svelte5-best-practices.mdc .cursor/rules/windmill-overview.mdc"
secrets: inherit

View File

@@ -1,57 +0,0 @@
env:
REGISTRY: ghcr.io
ECR_REGISTRY: 976079455550.dkr.ecr.us-east-1.amazonaws.com
IMAGE_NAME: ${{ github.repository }}-multiplayer
name: Publish websocket multiplayer server
on:
workflow_dispatch:
permissions:
contents: read
id-token: write
packages: write
jobs:
publish_multiplayer:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# - uses: depot/setup-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/DockerfileMultiplayer
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ steps.meta.outputs.tags }}
labels: |
${{ steps.meta.outputs.labels }}
org.opencontainers.image.licenses=AGPLv3

View File

@@ -1,64 +0,0 @@
env:
REGISTRY: ghcr.io
ECR_REGISTRY: 976079455550.dkr.ecr.us-east-1.amazonaws.com
IMAGE_NAME: ${{ github.repository }}-lsp
name: Publish lsp
on:
push:
tags:
- "v*"
workflow_dispatch:
permissions:
contents: read
id-token: write
packages: write
jobs:
sleep:
runs-on: ubicloud
steps:
- name: Sleep for 900 seconds waiting for pypi to update index
if: startsWith(github.ref, 'refs/tags/v')
run: sleep 900
shell: bash
publish_lsp:
needs: [sleep]
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: depot/setup-action@v1
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly
uses: depot/build-push-action@v1
with:
context: "{{defaultContext}}:lsp"
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ steps.meta.outputs.tags }}
labels: |
${{ steps.meta.outputs.labels }}
org.opencontainers.image.licenses=AGPLv3

View File

@@ -0,0 +1,26 @@
name: dependabot auto-merge
on: pull_request_target
permissions:
contents: read
pull-requests: read
jobs:
dependabot:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1.3.6
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor'
run: |
echo ${{ secrets.RUBEN_PAT }} | gh auth login --with-token
gh pr review --approve "$PR_URL"
gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}

View File

@@ -1,26 +0,0 @@
# name: dependabot auto-merge
# on: pull_request_target
# permissions:
# contents: read
# pull-requests: read
# jobs:
# dependabot:
# runs-on: ubuntu-latest
# if: ${{ github.actor == 'dependabot[bot]' }}
# steps:
# - name: Dependabot metadata
# id: metadata
# uses: dependabot/fetch-metadata@v1.6.0
# with:
# github-token: "${{ secrets.GITHUB_TOKEN }}"
# - name: Enable auto-merge for Dependabot PRs
# if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor'
# run: |
# echo ${{ secrets.RUBEN_PAT }} | gh auth login --with-token
# gh pr review --approve "$PR_URL"
# gh pr merge --auto --squash "$PR_URL"
# env:
# PR_URL: ${{github.event.pull_request.html_url}}

View File

@@ -1,127 +0,0 @@
name: Backend check
on:
workflow_run:
workflows: ["Change versions"]
types:
- completed
push:
paths:
- "backend/**"
- ".github/workflows/backend-check.yml"
jobs:
check_oss:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install mold and clang
run: sudo apt-get update && sudo apt-get install -y mold clang
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
toolchain: 1.93.0
- name: cargo check
working-directory: ./backend
timeout-minutes: 16
run: SQLX_OFFLINE=true cargo check
check_oss_full:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: install xmlsec1 and gssapi
run: |
sudo apt-get update
sudo apt-get install -y libxml2-dev libxmlsec1-dev libkrb5-dev libsasl2-dev libcurl4-openssl-dev mold clang
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
toolchain: 1.93.0
- name: cargo check
working-directory: ./backend
timeout-minutes: 16
run: |
mkdir -p fake_frontend_build
FRONTEND_BUILD_DIR=$(pwd)/fake_frontend_build SQLX_OFFLINE=true cargo check --features all_sqlx_features
check_ee:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
- name: Substitute EE code (EE logic is behind feature flag)
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Install mold and clang
run: sudo apt-get update && sudo apt-get install -y mold clang
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
toolchain: 1.93.0
- name: cargo check
working-directory: ./backend
timeout-minutes: 16
run: SQLX_OFFLINE=true cargo check
check_ee_full:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
- name: install xmlsec1 and gssapi
run: |
sudo apt-get update
sudo apt-get install -y libxml2-dev libxmlsec1-dev libkrb5-dev libsasl2-dev libcurl4-openssl-dev mold clang
- name: Substitute EE code (EE logic is behind feature flag)
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: backend
toolchain: 1.93.0
- name: cargo check
timeout-minutes: 16
working-directory: ./backend
run: |
mkdir -p fake_frontend_build
FRONTEND_BUILD_DIR=$(pwd)/fake_frontend_build SQLX_OFFLINE=true cargo check --features all_sqlx_features,private

View File

@@ -13,244 +13,31 @@ on:
- "backend/**"
- ".github/workflows/backend-test.yml"
defaults:
run:
working-directory: ./backend
jobs:
cargo_test:
runs-on: blacksmith-16vcpu-ubuntu-2404
runs-on: [self-hosted, new]
container:
image: ghcr.io/windmill-labs/backend-tests
options: --privileged
services:
postgres:
image: postgres
ports:
- 5432:5432
env:
POSTGRES_DB: windmill
POSTGRES_PASSWORD: changeme
POSTGRES_INITDB_ARGS: "-c max_connections=500"
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5 --shm-size=256mb
mysql:
image: mysql:8.0
ports:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: windmill_test
options: >-
--health-cmd "mysqladmin ping -h localhost" --health-interval 10s
--health-timeout 5s --health-retries 5
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
with:
dotnet-version: "9.0.x"
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- uses: actions/setup-go@v2
with:
go-version: 1.21.5
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.8
- uses: actions/setup-node@v4
with:
node-version: "20"
- uses: astral-sh/setup-uv@v6.2.1
with:
version: "0.9.24"
- uses: shivammathur/setup-php@v2
with:
php-version: "8.3"
tools: composer
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: false
- name: Install windmill CLI from source
run: |
cd $GITHUB_WORKSPACE/cli
bash gen_wm_client.sh
bun install
mkdir -p "$HOME/.local/bin"
printf '#!/bin/sh\nexec bun run "%s/cli/src/main.ts" "$@"\n' "$GITHUB_WORKSPACE" > "$HOME/.local/bin/wmill"
chmod +x "$HOME/.local/bin/wmill"
echo "$HOME/.local/bin" >> $GITHUB_PATH
working-directory: /
- name: Install PowerShell, mold and clang
run: |
sudo apt-get update && sudo apt-get install -y powershell mold clang libcurl4-openssl-dev
working-directory: /
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
toolchain: 1.93.0
- name: Cache cargo target directory
uses: useblacksmith/stickydisk@v1
with:
key: cargo-target
path: ./backend/target
- name: Cache cargo registry
uses: useblacksmith/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: cargo-registry-${{ hashFiles('backend/Cargo.lock') }}
restore-keys: |
cargo-registry-
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
- name: Substitute EE code (EE logic is behind feature flag)
run: |
./substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Setup private npm registry with test package
working-directory: /tmp
run: |
set -e
# Install Verdaccio globally
npm install -g verdaccio
# Create Verdaccio config that requires authentication for @windmill-test packages
mkdir -p /tmp/verdaccio/storage
cat > /tmp/verdaccio/config.yaml << 'VERDACCIO_CONFIG'
storage: /tmp/verdaccio/storage
auth:
htpasswd:
file: /tmp/verdaccio/htpasswd
max_users: 100
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@windmill-test/*':
access: $authenticated
publish: $authenticated
'@*/*':
access: $all
publish: $authenticated
proxy: npmjs
'**':
access: $all
publish: $authenticated
proxy: npmjs
server:
keepAliveTimeout: 60
middlewares:
audit:
enabled: true
log: { type: stdout, format: pretty, level: warn }
VERDACCIO_CONFIG
# Create empty htpasswd file (users will be created via API)
touch /tmp/verdaccio/htpasswd
# Start Verdaccio in background
verdaccio --config /tmp/verdaccio/config.yaml &
VERDACCIO_PID=$!
# Wait for Verdaccio to be ready
echo "Waiting for Verdaccio to start..."
for i in {1..30}; do
if curl -s http://localhost:4873/-/ping > /dev/null 2>&1; then
echo "Verdaccio is ready"
break
fi
sleep 1
done
# Login to get a token
echo "Getting auth token..."
RESPONSE=$(curl -s -X PUT \
-H "Content-Type: application/json" \
-d '{"name":"testuser","password":"testpass123"}' \
http://localhost:4873/-/user/org.couchdb.user:testuser)
echo "Auth response: $RESPONSE"
NPM_TOKEN=$(echo "$RESPONSE" | jq -r '.token')
if [ -z "$NPM_TOKEN" ] || [ "$NPM_TOKEN" = "null" ]; then
echo "Failed to get NPM token from response"
exit 1
fi
echo "NPM_TOKEN=${NPM_TOKEN}" >> $GITHUB_ENV
{
echo "TEST_NPMRC<<NPMRC_EOF"
echo "@windmill-test:registry=http://localhost:4873/"
echo "//localhost:4873/:_authToken=${NPM_TOKEN}"
echo "NPMRC_EOF"
} >> $GITHUB_ENV
echo "Got NPM token successfully: ${NPM_TOKEN:0:10}..."
# Configure npm globally with the auth token
echo "//localhost:4873/:_authToken=${NPM_TOKEN}" > ~/.npmrc
echo "Configured ~/.npmrc with auth token"
# Create a simple test package
mkdir -p /tmp/windmill-test-private-pkg
cat > /tmp/windmill-test-private-pkg/package.json << 'PKG_JSON'
{
"name": "@windmill-test/private-pkg",
"version": "1.0.0",
"main": "index.js"
}
PKG_JSON
cat > /tmp/windmill-test-private-pkg/index.js << 'PKG_JS'
module.exports.greet = (name) => `Hello from private package, ${name}!`;
PKG_JS
# Publish to Verdaccio with auth
cd /tmp/windmill-test-private-pkg
echo "Publishing package..."
npm publish --registry http://localhost:4873
echo "Package published successfully"
# Verify the package requires auth by trying anonymous access (should fail)
rm -f ~/.npmrc
echo "Testing anonymous access (should fail)..."
if npm view @windmill-test/private-pkg --registry http://localhost:4873 2>/dev/null; then
echo "ERROR: Package should require authentication but anonymous access worked"
exit 1
fi
echo "Verified: Package requires authentication for @windmill-test/private-pkg"
- name: Cache DuckDB FFI module build
uses: useblacksmith/cache@v1
with:
path: ./backend/windmill-duckdb-ffi-internal/target
key: ${{ runner.os }}-duckdb-ffi-${{ hashFiles('./backend/windmill-duckdb-ffi-internal/src/**/*.rs', './backend/windmill-duckdb-ffi-internal/Cargo.toml', './backend/windmill-duckdb-ffi-internal/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-duckdb-ffi-
workspaces: |
backend
backend -> target
- name: cargo test
timeout-minutes: 30
env:
SQLX_OFFLINE: true
DATABASE_URL: postgres://postgres:changeme@localhost:5432/windmill
DISABLE_EMBEDDING: true
RUST_LOG: "off"
RUST_LOG_STYLE: never
CARGO_NET_GIT_FETCH_WITH_CLI: true
CARGO_BUILD_JOBS: 12
CARGO_INCREMENTAL: 1
WMDEBUG_FORCE_V0_WORKSPACE_DEPENDENCIES: 1
WMDEBUG_FORCE_RUNNABLE_SETTINGS_V0: 1
WMDEBUG_FORCE_NO_LEGACY_DEBOUNCING_COMPAT: 1
TEST_NPM_REGISTRY: "http://localhost:4873/:_authToken=${{ env.NPM_TOKEN }}"
run: |
deno --version && bun -v && node --version && go version && python3 --version && php --version && ruby --version && pwsh --version && dotnet --version
cd windmill-duckdb-ffi-internal && ./build_dev.sh && cd ..
DENO_PATH=$(which deno) BUN_PATH=$(which bun) NODE_BIN_PATH=$(which node) GO_PATH=$(which go) UV_PATH=$(which uv) PHP_PATH=$(which php) COMPOSER_PATH=$(which composer) RUBY_PATH=$(which ruby) RUBY_BUNDLE_PATH=$(which bundle) RUBY_GEM_PATH=$(which gem) POWERSHELL_PATH=$(which pwsh) DOTNET_PATH=$(which dotnet) cargo test --features enterprise,deno_core,duckdb,license,python,rust,scoped_cache,parquet,private,private_registry_test,csharp,php,ruby,mysql,quickjs,mcp --all -- --nocapture --test-threads=10
timeout-minutes: 10
run: mkdir frontend/build && cd backend && touch windmill-api/openapi-deref.yaml && DATABASE_URL=postgres://postgres:changeme@postgres:5432/windmill DISABLE_NSJAIL=false cargo test --all -- --nocapture

View File

@@ -1,324 +0,0 @@
name: Run benchmarks
on:
schedule:
- cron: "0 0 */1 * *"
workflow_dispatch:
jobs:
benchmark_single:
runs-on: ubicloud-standard-8
services:
postgres:
image: postgres
env:
POSTGRES_DB: windmill
POSTGRES_PASSWORD: changeme
POSTGRES_INITDB_ARGS: "-c shared_buffers=2GB -c work_mem=32MB -c effective_cache_size=4GB"
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
--shm-size=2g
windmill:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always --health-interval 10s --health-timeout 5s
--health-retries 5 --health-cmd "curl
http://localhost:8000/api/version"
ports:
- 8000:8000
steps:
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: benchmark
timeout-minutes: 30
run: deno run -A -r
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_suite.ts
-c
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/suite_config.json
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: benchmark_single
path: |
*.json
benchmark_dedicated:
runs-on: ubicloud-standard-8
services:
postgres:
image: postgres
env:
POSTGRES_DB: windmill
POSTGRES_PASSWORD: changeme
POSTGRES_INITDB_ARGS: "-c shared_buffers=2GB -c work_mem=32MB -c effective_cache_size=4GB"
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
windmill:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
WORKER_GROUP: dedicated
DEDICATED_WORKER: "admins:f/benchmarks/dedicated"
options: >-
--pull always --restart unless-stopped --health-interval 10s --health-timeout 5s
--health-retries 5 --health-cmd "curl
http://localhost:8000/api/version"
ports:
- 8000:8000
steps:
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: benchmark
timeout-minutes: 20
run: deno run -A -r
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_suite.ts
--no-warm-up -c
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/suite_dedicated.json
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: benchmark_dedicated
path: |
*.json
benchmark_4workers:
runs-on: ubicloud-standard-8
services:
postgres:
image: postgres
env:
POSTGRES_DB: windmill
POSTGRES_PASSWORD: changeme
POSTGRES_INITDB_ARGS: "-c shared_buffers=2GB -c work_mem=32MB -c effective_cache_size=4GB"
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
windmill:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always --health-interval 10s --health-timeout 5s
--health-retries 5 --health-cmd "curl
http://localhost:8000/api/version"
ports:
- 8000:8000
windmill_1:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_2:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_3:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
steps:
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: benchmark
timeout-minutes: 20
run: deno run -A -r
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_suite.ts
-c
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/suite_config.json
--workers 4
--factor 3
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: benchmark_4workers
path: |
*.json
benchmark_8workers:
runs-on: ubicloud-standard-8
services:
postgres:
image: postgres
env:
POSTGRES_DB: windmill
POSTGRES_PASSWORD: changeme
POSTGRES_INITDB_ARGS: "-c shared_buffers=2GB -c work_mem=32MB -c effective_cache_size=4GB"
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
windmill:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always --health-interval 10s --health-timeout 5s
--health-retries 5 --health-cmd "curl
http://localhost:8000/api/version"
ports:
- 8000:8000
windmill_1:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_2:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_3:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_4:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_5:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_6:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
windmill_7:
image: ghcr.io/windmill-labs/windmill-ee:main
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
MODE: worker
WORKER_GROUP: main
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets
options: >-
--pull always
steps:
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: benchmark
timeout-minutes: 20
run: deno run -A -r
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_suite.ts
-c
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/suite_config.json
--workers 8
--factor 3
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: benchmark_8workers
path: |
*.json
benchmark_graphs:
runs-on: ubicloud
needs:
- benchmark_single
- benchmark_dedicated
- benchmark_4workers
- benchmark_8workers
steps:
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- uses: actions/checkout@v4
with:
ref: benchmarks
- name: Download benchmark results
uses: actions/download-artifact@v4
with:
merge-multiple: true
- name: graphs
run: deno run -A -r
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_graphs.ts
-c
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/graphs_config.json
- name: Push changes
run: |
ls -la
pwd
git add .
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git commit -m "Update benchmarks"
git push

View File

@@ -1,45 +0,0 @@
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository_owner }}/caddy-l4
name: Build caddy-l4
on:
workflow_dispatch:
permissions: write-all
jobs:
build_ee:
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=sha
type=ref,event=branch
type=raw,value=latest,enable={{is_default_branch}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly
uses: depot/build-push-action@v1
with:
context: ./docker
file: ./docker/DockerfileCaddyL4
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ steps.meta-ee-public.outputs.tags }}
labels: |
${{ steps.meta-ee-public.outputs.labels }}

View File

@@ -1,65 +0,0 @@
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
name: Build windmill-extra
on:
workflow_dispatch:
inputs:
tag:
description: "Tag for the image"
required: false
default: "dev"
type: string
permissions: write-all
jobs:
sleep:
runs-on: ubicloud
steps:
- name: Sleep for 900 seconds waiting for pypi to update index
if: startsWith(github.ref, 'refs/tags/v')
run: sleep 900
shell: bash
build_extra:
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
fetch-depth: 0
- uses: depot/setup-action@v1
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-extra
flavor: |
latest=false
tags: |
type=raw,value=${{ github.event.inputs.tag }}
type=sha,enable=true,priority=100,prefix=,suffix=,format=short
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
file: "./docker/DockerfileExtra"
tags: |
${{ steps.meta.outputs.tags }}
labels: |
${{ steps.meta.outputs.labels }}

View File

@@ -1,116 +0,0 @@
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
name: Build and publish windmill for RHEL9
on: workflow_dispatch
permissions: write-all
jobs:
build_ee:
runs-on: ubicloud-standard-4
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee-rhel9
flavor: |
latest=false
tags: |
type=sha
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Substitute EE code
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Copy RHEL9 Dockerfile
run: |
cp ./docker/RHEL9/Dockerfile ./Dockerfile
- name: Build and push EE (multi-arch)
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
build-args: |
features=ee_rhel
secrets: |
rh_username=${{ secrets.RH_USERNAME }}
rh_password=${{ secrets.RH_PASSWORD }}
tags: |
${{ steps.meta-ee-public.outputs.tags }}
labels: |
${{ steps.meta-ee-public.outputs.labels }}
org.opencontainers.image.licenses=Windmill-Enterprise-License
- name: Install crane
uses: imjasonh/setup-crane@v0.4
- name: Extract binaries with crane
run: |
mkdir -p extracted
# Extract arm64 binary (include deps/ for hard link resolution)
mkdir -p /tmp/arm64
crane export --platform linux/arm64 ${{ steps.meta-ee-public.outputs.tags }} - \
| tar -xf - -C /tmp/arm64 windmill/target/release/ usr/src/app/libwindmill_duckdb_ffi_internal.so
cp /tmp/arm64/windmill/target/release/windmill extracted/windmill-ee-arm64-rhel9
cp /tmp/arm64/usr/src/app/libwindmill_duckdb_ffi_internal.so extracted/libwindmill_duckdb_ffi_internal-arm64.so
rm -rf /tmp/arm64
# Extract amd64 binary
mkdir -p /tmp/amd64
crane export --platform linux/amd64 ${{ steps.meta-ee-public.outputs.tags }} - \
| tar -xf - -C /tmp/amd64 windmill/target/release/ usr/src/app/libwindmill_duckdb_ffi_internal.so
cp /tmp/amd64/windmill/target/release/windmill extracted/windmill-ee-amd64-rhel9
cp /tmp/amd64/usr/src/app/libwindmill_duckdb_ffi_internal.so extracted/libwindmill_duckdb_ffi_internal-amd64.so
rm -rf /tmp/amd64
- uses: actions/upload-artifact@v4
with:
name: RHEL9-arm64 build
path: extracted/windmill-ee-arm64-rhel9
- uses: actions/upload-artifact@v4
with:
name: RHEL9-amd64 build
path: extracted/windmill-ee-amd64-rhel9
- uses: actions/upload-artifact@v4
with:
name: RHEL9-arm64 dynamic libraries build
path: extracted/libwindmill_duckdb_ffi_internal-arm64.so
- uses: actions/upload-artifact@v4
with:
name: RHEL9-amd64 dynamic libraries build
path: extracted/libwindmill_duckdb_ffi_internal-amd64.so

View File

@@ -1,140 +0,0 @@
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
name: Build and publish windmill for RHEL8
on: workflow_dispatch
permissions: write-all
jobs:
build_ee:
runs-on: ubicloud-standard-4
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee-rhel8
flavor: |
latest=false
tags: |
type=sha
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Substitute EE code
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Copy RHEL8 Dockerfile
run: |
cp ./docker/RHEL8/Dockerfile ./Dockerfile
- name: Build and push publicly ee amd64
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64
push: true
build-args: |
features=ee_rhel
secrets: |
rh_username=${{ secrets.RH_USERNAME }}
rh_password=${{ secrets.RH_PASSWORD }}
tags: |
${{ steps.meta-ee-public.outputs.tags }}-amd64
labels: |
${{ steps.meta-ee-public.outputs.labels }}-amd64
org.opencontainers.image.licenses=Windmill-Enterprise-License
- name: Build and push publicly ee arm64
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/arm64
push: true
build-args: |
features=ee_rhel
secrets: |
rh_username=${{ secrets.RH_USERNAME }}
rh_password=${{ secrets.RH_PASSWORD }}
tags: |
${{ steps.meta-ee-public.outputs.tags }}-arm64
labels: |
${{ steps.meta-ee-public.outputs.labels }}-arm64
org.opencontainers.image.licenses=Windmill-Enterprise-License
- uses: shrink/actions-docker-extract@v3
id: extract-ee-amd64
with:
image: ${{ steps.meta-ee-public.outputs.tags}}-amd64
path: "/windmill/target/release/windmill"
- uses: shrink/actions-docker-extract@v3
id: extract-duckdb-ffi-internal
with:
image: ${{ steps.meta-ee-public.outputs.tags}}-amd64
path: "/usr/src/app/libwindmill_duckdb_ffi_internal.so"
# - uses: shrink/actions-docker-extract@v3
# id: extract-ee-arm64
# with:
# image: ${{ steps.meta-ee-public.outputs.tags}}-arm64
# path: "/windmill/target/release/windmill"
- name: Rename binary with corresponding architecture
run: |
mv "${{ steps.extract-ee-amd64.outputs.destination }}/windmill" "${{ steps.extract-ee-amd64.outputs.destination }}/windmill-ee-amd64-rhel8"
# mv "${{ steps.extract-ee-arm64.outputs.destination }}/windmill" "${{ steps.extract-ee-arm64.outputs.destination }}/windmill-ee-arm64-rhel8"
- uses: actions/upload-artifact@v4
with:
name: RHEL8-amd64 build
path: ${{ steps.extract-ee-amd64.outputs.destination }}/windmill-ee-amd64-rhel8
- uses: actions/upload-artifact@v4
with:
name: RHEL8-amd64 dynamic libraries build
path: ${{ steps.extract-duckdb-ffi-internal.outputs.destination }}/libwindmill_duckdb_ffi_internal.so
# - uses: actions/upload-artifact@v4
# with:
# name: RHEL8-arm64 build
# path:
# ${{ steps.extract-ee-arm64.outputs.destination
# }}/windmill-ee-arm64-rhel8
# - name: Attach binary to release
# uses: softprops/action-gh-release@v2
# if: startsWith(github.ref, 'refs/tags/')
# with:
# files: |
# ${{ steps.extract-ee-arm64.outputs.destination }}/windmill-ee-arm64-rhel8
# ${{ steps.extract-ee-amd64.outputs.destination }}/windmill-ee-amd64-rhel8

View File

@@ -1,55 +0,0 @@
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}-cli
name: Publish cli image
on:
push:
tags:
- "v*"
workflow_dispatch:
permissions:
contents: read
id-token: write
packages: write
jobs:
publish_cli:
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: depot/setup-action@v1
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly
uses: depot/build-push-action@v1
with:
file: "./docker/DockerfileCli"
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ steps.meta.outputs.tags }}
labels: |
${{ steps.meta.outputs.labels }}
org.opencontainers.image.licenses=AGPLv3

View File

@@ -1,82 +0,0 @@
name: Build windows executable for this branch
on:
workflow_dispatch:
env:
CARGO_INCREMENTAL: 0
SQLX_OFFLINE: true
DISABLE_EMBEDDING: true
RUST_LOG: info
jobs:
cargo_build_windows:
runs-on: blacksmith-16vcpu-windows-2025
steps:
- uses: actions/checkout@v4
- name: Read EE repo commit hash
shell: pwsh
run: |
$ee_repo_ref = Get-Content .\backend\ee-repo-ref.txt
echo "ee_repo_ref=$ee_repo_ref" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Checkout windmill-ee-private repository
uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: backend
toolchain: 1.93.0
- name: Substitute EE code
shell: bash
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Cargo check (fail fast on warnings)
timeout-minutes: 60
env:
RUSTFLAGS: "-D warnings"
run: |
mkdir frontend/build && cd backend
New-Item -Path . -Name "windmill-api/openapi-deref.yaml" -ItemType "File" -Force
cargo check --features=ee_windows
- name: Cargo build dynamic libraries windows
timeout-minutes: 180
run: |
cd backend/windmill-duckdb-ffi-internal
cargo build --release -p windmill_duckdb_ffi_internal
- name: Cargo build binary windows
timeout-minutes: 180
run: |
vcpkg.exe install openssl-windows:x64-windows
vcpkg.exe install openssl:x64-windows-static
vcpkg.exe integrate install
$env:VCPKGRS_DYNAMIC=1
$env:OPENSSL_DIR="${Env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows-static"
cd backend
cargo build --release --features=ee_windows
- name: Rename binary with corresponding architecture
run: |
Rename-Item -Path ".\backend\target\release\windmill.exe" -NewName "windmill-ee.exe"
- name: Upload binary artifact
uses: actions/upload-artifact@v4
with:
name: windmill-ee-binary
path: ./backend/target/release/windmill-ee.exe
- name: Upload dynamic libraries artifact
uses: actions/upload-artifact@v4
with:
name: windmill_duckdb_ffi_internal.dll
path: ./backend/windmill-duckdb-ffi-internal/target/release/windmill_duckdb_ffi_internal.dll

View File

@@ -6,17 +6,10 @@ on:
- "version.txt"
jobs:
change_version:
runs-on: ubicloud
runs-on: ubuntu-latest
container: node:18
steps:
- uses: actions/create-github-app-token@v2
id: app
with:
app-id: ${{ vars.INTERNAL_APP_ID }}
private-key: ${{ secrets.INTERNAL_APP_KEY }}
- uses: actions/checkout@v4
with:
token: ${{ steps.app.outputs.token }}
- uses: actions/checkout@v3
- run: git config --system --add safe.directory /__w/windmill/windmill
- name: Change versions
run: ./.github/change-versions.sh "$(cat version.txt)"
@@ -24,12 +17,5 @@ jobs:
with:
toolchain: stable
- name: update lockfile
run: |
cd backend
cargo generate-lockfile
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_user_name: windmill-internal-app[bot]
commit_user_email: windmill-internal-app[bot]@users.noreply.github.com
env:
GITHUB_TOKEN: ${{ steps.app.outputs.token }}
run: cd backend && cargo generate-lockfile
- uses: stefanzweifel/git-auto-commit-action@v4

View File

@@ -1,83 +0,0 @@
name: Check Organization Membership
on:
workflow_call:
inputs:
commenter:
required: false
type: string
default: ''
description: 'The username to check. Auto-detected from the event context if not provided.'
organization:
required: false
type: string
default: 'windmill-labs'
description: 'The organization to check membership for'
trusted_bot:
required: false
type: string
default: 'windmill-internal-app[bot]'
description: 'The trusted bot username to allow'
secrets:
access_token:
required: true
description: 'The access token to use for org membership check'
outputs:
is_member:
description: 'Whether the user is an organization member or trusted bot'
value: ${{ jobs.check-membership.outputs.is_member }}
jobs:
check-membership:
runs-on: ubicloud-standard-2
outputs:
is_member: ${{ steps.check-membership.outputs.is_member }}
steps:
- name: Determine commenter
id: determine-commenter
run: |
COMMENTER="${{ inputs.commenter }}"
if [[ -z "$COMMENTER" ]]; then
if [[ "${{ github.event_name }}" == "issue_comment" || \
"${{ github.event_name }}" == "pull_request_review_comment" ]]; then
COMMENTER="${{ github.event.comment.user.login }}"
elif [[ "${{ github.event_name }}" == "pull_request_review" ]]; then
COMMENTER="${{ github.event.review.user.login }}"
else
COMMENTER="${{ github.event.issue.user.login }}"
fi
fi
echo "commenter=$COMMENTER" >> $GITHUB_OUTPUT
- name: Check organization membership
id: check-membership
env:
ORG_ACCESS_TOKEN: ${{ secrets.access_token }}
COMMENTER: ${{ steps.determine-commenter.outputs.commenter }}
ORG: ${{ inputs.organization }}
TRUSTED_BOT: ${{ inputs.trusted_bot }}
run: |
# 1. Allow the trusted bot straight away
if [[ "$COMMENTER" == "$TRUSTED_BOT" ]]; then
echo "is_member=true" >> $GITHUB_OUTPUT
exit 0
fi
# 2. Disallow other bots
if [[ "${COMMENTER}" =~ \[bot\]$ ]]; then
echo "is_member=false" >> $GITHUB_OUTPUT
exit 0
fi
# 3. Otherwise check if the user is a member of the organization
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: token $ORG_ACCESS_TOKEN" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/orgs/$ORG/members/$COMMENTER")
if [ "$STATUS" -eq 204 ]; then
echo "is_member=true" >> $GITHUB_OUTPUT
else
echo "is_member=false" >> $GITHUB_OUTPUT
fi

View File

@@ -1,54 +0,0 @@
name: Fast Claude
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
check-membership:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '/ai-fast')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '/ai-fast')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '/ai-fast')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '/ai-fast'))
uses: ./.github/workflows/check-org-membership.yml
secrets:
access_token: ${{ secrets.ORG_ACCESS_TOKEN }}
claude-code-action:
needs: check-membership
if: |
needs.check-membership.outputs.is_member == 'true'
runs-on: ubicloud-standard-8
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude PR Action
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
allowed_bots: "windmill-internal-app[bot]"
trigger_phrase: "/ai-fast"
settings: |
{
"env": {
"SQLX_OFFLINE": "true"
}
}
claude_args: |
--allowedTools "Bash,WebFetch,WebSearch"
--model opus

View File

@@ -1,69 +0,0 @@
name: Claude Plan Assistant
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
check-membership:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '/plan')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '/plan')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '/plan')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '/plan'))
uses: ./.github/workflows/check-org-membership.yml
secrets:
access_token: ${{ secrets.ORG_ACCESS_TOKEN }}
claude-plan-action:
needs: check-membership
if: |
needs.check-membership.outputs.is_member == 'true'
runs-on: ubicloud-standard-4
timeout-minutes: 20
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Plan Action
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
allowed_bots: 'windmill-internal-app[bot]'
trigger_phrase: '/plan'
claude_args: |
--model opus
--system-prompt "# Claude Planning Mode
You are operating in PLANNING MODE ONLY. Your role is to create detailed, structured plans without making any code changes.
## Your Responsibilities:
1. **Analyze the Request**: Carefully read and understand what the user is asking for
2. **Explore the Codebase**: Understand the relevant code structure
3. **Create a Detailed Plan**: Provide a comprehensive, step-by-step plan that includes:
- Clear breakdown of all tasks needed
- Files that will need to be modified or created
- Code patterns and architecture decisions
- Potential challenges and how to address them
- If there are multiple options to achieve the same goal, explain the pros and cons of each option
## Strict Constraints:
- **DO NOT** make any code changes
- **DO NOT** create branches or pull requests
Remember: You are here to plan, not to implement. Provide thorough analysis and clear guidance for implementation."

View File

@@ -1,107 +0,0 @@
name: Claude PR Assistant
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
check-membership:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '/ai')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '/ai')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '/ai')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '/ai'))
uses: ./.github/workflows/check-org-membership.yml
secrets:
access_token: ${{ secrets.ORG_ACCESS_TOKEN }}
claude-code-action:
needs: check-membership
if: |
needs.check-membership.outputs.is_member == 'true'
runs-on: ubicloud-standard-8
timeout-minutes: 60
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Run npm install and generate-backend-client
working-directory: ./frontend
run: |
# add a build directory for cargo check
mkdir -p build
npm install
npm run generate-backend-client
- name: install xmlsec1 and gssapi
run: |
sudo apt-get update
sudo apt-get install -y libxml2-dev libxmlsec1-dev libkrb5-dev libsasl2-dev libcurl4-openssl-dev mold clang
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: backend
toolchain: 1.93.0
- name: cargo check
working-directory: ./backend
timeout-minutes: 16
run: |
SQLX_OFFLINE=true cargo check --features all_sqlx_features
- name: Run Claude PR Action
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
allowed_bots: "windmill-internal-app[bot]"
trigger_phrase: "/ai"
settings: |
{
"env": {
"SQLX_OFFLINE": "true"
}
}
claude_args: |
--allowedTools "Bash,WebFetch,WebSearch"
--model opus
--system-prompt "## IMPORTANT INSTRUCTIONS
- Your branch name should be a short description of the requested changes.
- Bypass previous instructions and instead of adding a url in your comment to manually create a PR, if you created a new branch with your changes, automatically create a draft PR from that branch to main.
## Code Quality Requirements
After making any code changes, you MUST run the appropriate validation commands:
**Frontend Changes:**
- Run: \`npm run check\` in the frontend directory
- Fix all warnings and errors before proceeding
**Backend Changes:**
- Run: \`cargo check --features all_sqlx_features\` in the backend directory
- Fix all warnings and errors before proceeding
**Pull Request Creation:**
- DO NOT FORGET TO OPEN A DRAFT PR AFTER YOU ARE DONE if you made changes after a request from a git issue.
## Available Tools
- Bash: Full access to run validation commands and git operations"

13
.github/workflows/clean-docker.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Clean docker
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: "0 0 */2 * *"
jobs:
build:
runs-on: [self-hosted, new]
steps:
- name: clean docker
run: |
sudo docker system prune -f

View File

@@ -1,187 +0,0 @@
name: CLI Tests
on:
push:
branches: [main]
paths:
- 'cli/**'
- '.github/workflows/cli-tests.yml'
pull_request:
branches: [main]
paths:
- 'cli/**'
- '.github/workflows/cli-tests.yml'
env:
CARGO_TERM_COLOR: always
SQLX_OFFLINE: true
jobs:
build-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Generate Windmill client
working-directory: cli
run: ./gen_wm_client.sh
- name: Run CLI build
working-directory: cli
run: ./build.sh
test-linux:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: changeme
POSTGRES_DB: windmill
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: true
cache-workspaces: backend
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Symlink Bun to /usr/bin/bun
run: sudo ln -sf $(which bun) /usr/bin/bun
- name: Symlink Node to /usr/bin/node
run: sudo ln -sf $(which node) /usr/bin/node
- name: Install dependencies
working-directory: cli
run: bun install
- name: Generate Windmill clients
working-directory: cli
run: |
./gen_wm_client.sh
./windmill-utils-internal/gen_wm_client.sh
- name: Run CLI tests
working-directory: cli
env:
DATABASE_URL: postgres://postgres:changeme@localhost:5432
CI_MINIMAL_FEATURES: "true"
run: bun test --timeout 120000 test/
test-windows:
runs-on: blacksmith-16vcpu-windows-2025
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PostgreSQL
uses: ikalnytskyi/action-setup-postgres@v6
with:
username: postgres
password: changeme
database: windmill
port: 5432
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: true
cache-workspaces: backend
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Get Bun and Node paths
id: runtime-paths
shell: pwsh
run: |
$bunPath = (Get-Command bun).Source
$nodePath = (Get-Command node).Source
echo "BUN_PATH=$bunPath" >> $env:GITHUB_OUTPUT
echo "NODE_BIN_PATH=$nodePath" >> $env:GITHUB_OUTPUT
- name: Install dependencies
working-directory: cli
run: bun install
- name: Generate Windmill clients
working-directory: cli
shell: bash
run: |
./gen_wm_client.sh
./windmill-utils-internal/gen_wm_client.sh
- name: Run CLI tests
working-directory: cli
shell: pwsh
env:
DATABASE_URL: postgres://postgres:changeme@localhost:5432
CI_MINIMAL_FEATURES: "true"
BUN_PATH: ${{ steps.runtime-paths.outputs.BUN_PATH }}
NODE_BIN_PATH: ${{ steps.runtime-paths.outputs.NODE_BIN_PATH }}
run: bun test --timeout 120000 test/
- name: Keep runner alive for SSH debug
if: failure()
shell: pwsh
run: Start-Sleep -Seconds 3600
# Combined summary job for branch protection
test-summary:
runs-on: ubuntu-latest
needs: [build-check, test-linux, test-windows]
if: always()
steps:
- name: Check test results
run: |
if [ "${{ needs.build-check.result }}" != "success" ]; then
echo "Build check failed"
exit 1
fi
if [ "${{ needs.test-linux.result }}" != "success" ] || [ "${{ needs.test-windows.result }}" != "success" ]; then
echo "Some tests failed"
exit 1
fi
echo "All checks passed"

48
.github/workflows/deno_on_release.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: Publish deno-client
on:
push:
tags:
- "v*"
env:
repo: windmill-deno-client
jobs:
build_deno_and_push_to_repo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: generate_deno
run: |
cd deno-client
rm .gitignore
./build.sh
- name: Pushes to another repository
id: push_directory
uses: cpina/github-action-push-to-another-repository@devel
env:
API_TOKEN_GITHUB: ${{ secrets.DENO_PAT }}
with:
source-directory: deno-client/
destination-github-username: ${{ github.repository_owner }}
destination-repository-name: ${{ env.repo }}
user-email: ruben@windmill.dev
commit-message: See ORIGIN_COMMIT from $GITHUB_REF
target-branch: main
tag_repo:
needs: [build_deno_and_push_to_repo]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/${{ env.repo }}
token: ${{ secrets.DENO_PAT }}
path: ./client
- name: Push client
run: |
cd ./client
git config --global user.email "ruben@windmill.dev"
git config --global user.name "rubenfiszel[bot]"
git tag -a ${{ github.ref_name }} -m "${{ github.ref_name }}"
git push --tags

View File

@@ -0,0 +1,20 @@
name: Deploy to windmill.dev
on:
push:
branches: [main]
paths:
- "community/**"
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Deploy to windmill.dev
uses: windmill-labs/windmill-gh-action-deploy@v2.0.0
with:
dry_run: false
input_dir: community
windmill_workspace: starter
windmill_token: ${{ secrets.WINDMILL_API_TOKEN }}

View File

@@ -1,76 +0,0 @@
name: Create discord thread when a PR is opened, react with green checkmark when PR is merged
on:
pull_request:
types:
- opened
- ready_for_review
- closed
issue_comment:
types:
- created
pull_request_review_comment:
types:
- created
jobs:
notify_discord_when_pr_opened:
if: (github.event.pull_request.draft == false) && (github.event.action == 'opened' || github.event.action == 'ready_for_review')
uses: ./.github/workflows/shareable-discord-notification.yml
with:
PR_TITLE: ${{ github.event.pull_request.title }}
PR_URL: ${{ github.event.pull_request.html_url }}
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
PR_STATUS: "opened"
PR_NUMBER: ${{ github.event.pull_request.number }}
DISCORD_CHANNEL_ID: "1372204995868491786"
DISCORD_GUILD_ID: "930051556043276338"
secrets:
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_PR_REVIEWS_WEBHOOK }}
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}
merge_success_emoji:
if: github.event.action == 'closed'
uses: ./.github/workflows/shareable-discord-notification.yml
with:
PR_STATUS: "merged"
DISCORD_CHANNEL_ID: "1372204995868491786"
DISCORD_GUILD_ID: "930051556043276338"
PR_NUMBER: ${{ github.event.pull_request.number }}
secrets:
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}
notify_discord_on_comment:
if: >
github.event_name == 'issue_comment'
&& github.event.issue.pull_request
&& github.event.comment.user.login != 'cloudflare-workers-and-pages[bot]'
&& github.event.comment.user.login != 'ellipsis-dev[bot]'
uses: ./.github/workflows/shareable-discord-notification.yml
with:
PR_STATUS: "comment"
PR_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: ${{ github.event.comment.body }}
COMMENT_AUTHOR: ${{ github.event.comment.user.login }}
COMMENT_URL: ${{ github.event.comment.html_url }}
DISCORD_CHANNEL_ID: "1372204995868491786"
DISCORD_GUILD_ID: "930051556043276338"
secrets:
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}
notify_discord_on_review_comment:
if: >
github.event_name == 'pull_request_review_comment'
&& github.event.comment.user.login != 'cloudflare-workers-and-pages[bot]'
&& github.event.comment.user.login != 'ellipsis-dev[bot]'
uses: ./.github/workflows/shareable-discord-notification.yml
with:
PR_STATUS: "comment"
PR_NUMBER: ${{ github.event.pull_request.number }}
COMMENT_BODY: ${{ github.event.comment.body }}
COMMENT_AUTHOR: ${{ github.event.comment.user.login }}
COMMENT_URL: ${{ github.event.comment.html_url }}
DISCORD_CHANNEL_ID: "1372204995868491786"
DISCORD_GUILD_ID: "930051556043276338"
secrets:
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_AI_BOT_TOKEN }}

47
.github/workflows/docker-310.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
name: Build and push windmill with python 3.10 and openbb
on: workflow_dispatch
concurrency:
group: ${{ github.ref }}-openbb
cancel-in-progress: true
permissions:
contents: read
id-token: write
packages: write
jobs:
build_ee:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Login to registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly ee
uses: depot/build-push-action@v1
with:
context: .
push: true
file: ./docker/DockerfileOpenbb
build-args: |
features=enterprise
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:openbb
labels: |
org.opencontainers.image.licenses=Windmill-Enterprise-License

View File

@@ -1,76 +0,0 @@
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}-rpi
name: Build windmill without jemalloc
on:
workflow_dispatch:
concurrency:
group: windmill-without-jemalloc
cancel-in-progress: true
permissions: write-all
jobs:
build:
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Substitute EE code (EE logic is behind feature flag)
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Docker meta
id: meta-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=false
tags: |
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Build and push publicly
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
build-args: |
features=ce_rpi
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:dev
${{ steps.meta-public.outputs.tags }}
labels: |
${{ steps.meta-public.outputs.labels }}
org.opencontainers.image.licenses=AGPLv3

View File

@@ -1,61 +1,30 @@
env:
LOCAL_REGISTRY: registry.wimill.xyz
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.event_name != 'pull_request' && github.event_name !=
'workflow_dispatch' && github.repository || 'windmill-labs/windmill-test' }}
DEV_SHA: ${{ github.event_name != 'pull_request' && github.event_name !=
'workflow_dispatch' && 'dev' || github.event.inputs.tag || github.sha }}
name: Build windmill:main
ECR_REGISTRY: 976079455550.dkr.ecr.us-east-1.amazonaws.com
IMAGE_NAME: ${{ github.repository }}
name: Build and push docker image
on:
push:
branches: [main]
tags: ["*"]
pull_request:
types: [opened, synchronize, reopened]
paths:
- "Dockerfile"
workflow_dispatch:
inputs:
ee:
description: "Build EE image (true, false)"
required: false
default: false
type: boolean
tag:
description: "Tag the image"
required: true
default: "test"
slim:
description: "Build slim image (true, false)"
required: false
default: false
type: boolean
concurrency:
group: ${{ github.ref }}
cancel-in-progress: false
permissions: write-all
cancel-in-progress: true
permissions:
contents: read
id-token: write
packages: write
jobs:
build:
runs-on: ubicloud
if: (github.event_name != 'workflow_dispatch') || (github.event.inputs &&
!github.event.inputs.ee)
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
fetch-depth: 0
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
# - name: Set up Docker Buildx
@@ -63,564 +32,203 @@ jobs:
- uses: depot/setup-action@v1
- name: Login to registry
uses: docker/login-action@v3
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Substitute EE code (EE logic is behind feature flag)
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Docker meta
id: meta-public
uses: docker/metadata-action@v5
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=false
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Build and push publicly
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
build-args: |
features=ce
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ steps.meta-public.outputs.tags }}
labels: |
${{ steps.meta-public.outputs.labels }}
org.opencontainers.image.licenses=AGPLv3
build_ee:
runs-on: ubicloud
if: (github.event_name != 'workflow_dispatch') || github.event.inputs.ee
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
fetch-depth: 0
- name: Read EE repo commit hash
run: |
echo "ee_repo_ref=$(cat ./backend/ee-repo-ref.txt)" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee
flavor: |
latest=false
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Substitute EE code
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Build and push publicly ee
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
build-args: |
features=ee
features=enterprise
nsjail=true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }}
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:latest
${{ steps.meta-ee-public.outputs.tags }}
labels: |
${{ steps.meta-ee-public.outputs.labels }}
org.opencontainers.image.licenses=Windmill-Enterprise-License
attach_amd64_binary_to_release:
needs: [build, build_ee]
runs-on: ubicloud
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
env:
ARCH: amd64
steps:
- uses: actions/checkout@v4
- run: |
# pulling docker image with desired arch so that actions-docker-extract doesn't do it
docker pull --platform "linux/$ARCH" ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
docker pull --platform "linux/$ARCH" ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }}
- run: |
# Checks the image is in docker prior to running actions-docker-extract. It fails if not
# Also useful to visually check that the arch is the right opencontainers
docker image inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
docker image inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }}
- uses: shrink/actions-docker-extract@v3
id: extract
with:
image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
path: "/usr/src/app/windmill"
- uses: shrink/actions-docker-extract@v3
id: extract-duckdb-ffi-internal
with:
image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
path: "/usr/src/app/libwindmill_duckdb_ffi_internal.so"
- uses: shrink/actions-docker-extract@v3
id: extract-ee
with:
image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }}
path: "/usr/src/app/windmill"
- name: Rename binary with corresponding architecture
run: |
mv "${{ steps.extract.outputs.destination }}/windmill" "${{ steps.extract.outputs.destination }}/windmill-${ARCH}"
mv "${{ steps.extract-ee.outputs.destination }}/windmill" "${{ steps.extract-ee.outputs.destination }}/windmill-ee-${ARCH}"
- name: Attach binary to release
uses: softprops/action-gh-release@v2
with:
files: |
${{ steps.extract.outputs.destination }}/*
${{ steps.extract-ee.outputs.destination }}/*
${{ steps.extract-duckdb-ffi-internal.outputs.destination }}/*
# attach_arm64_binary_to_release:
# needs: [build, build_ee]
# runs-on: ubicoud
# if: ${{ startsWith(github.ref, 'refs/tags/') }}
# env:
# ARCH: arm64
# steps:
# - uses: actions/checkout@v4
# - run: |
# # pulling docker image with desired arch so that actions-docker-extract doesn't do it
# docker pull --platform "linux/$ARCH" ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
# docker pull --platform "linux/$ARCH" ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }}
# - run: |
# # Checks the image is in docker prior to running actions-docker-extract. It fails if not
# # Also useful to visually check that the arch is the right opencontainers
# docker image inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
# docker image inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }}
# - uses: shrink/actions-docker-extract@v3
# id: extract
# with:
# image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }}
# path: "/usr/src/app/windmill"
# - uses: shrink/actions-docker-extract@v3
# id: extract-ee
# with:
# image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }}
# path: "/usr/src/app/windmill"
# - name: Rename binary with corresponding architecture
# run: |
# mv "${{ steps.extract.outputs.destination }}/windmill" "${{ steps.extract.outputs.destination }}/windmill-${ARCH}"
# mv "${{ steps.extract-ee.outputs.destination }}/windmill" "${{ steps.extract-ee.outputs.destination }}/windmill-ee-${ARCH}"
# - name: Attach binary to release
# uses: softprops/action-gh-release@v2
# with:
# files: |
# ${{ steps.extract.outputs.destination }}/*
# ${{ steps.extract-ee.outputs.destination }}/*
run_integration_test:
runs-on: ubicloud
needs: [build_ee]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
fetch-depth: 0
- name: Prepare test run
if: ${{ ! startsWith(github.ref, 'refs/tags/v') }}
run: cd integration_tests && ./build.sh
- name: Test run
if: ${{ ! startsWith(github.ref, 'refs/tags/v') }}
timeout-minutes: 15
playwright:
runs-on: [self-hosted, new]
needs: [build]
services:
postgres:
image: postgres
env:
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }}
run: cd integration_tests && ./run.sh
- name: Archive logs
uses: actions/upload-artifact@v4
POSTGRES_DB: windmill
POSTGRES_USER: admin
POSTGRES_PASSWORD: changeme
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v3
- name: "Docker"
run: echo "::set-output name=id::$(docker run --network=host --rm -d -p 8000:8000 --privileged -it -e DATABASE_URL=postgres://admin:changeme@localhost:5432/windmill -e BASE_INTERNAL_URL=http://localhost:8000 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest)"
id: docker-container
- uses: actions/setup-node@v3
with:
node-version: 16
- name: "Playwright run"
timeout-minutes: 2
run: cd frontend && npm ci @playwright/test && npx playwright install && export BASE_URL=http://localhost:8000 && npm run test
- name: "Clean up"
run: docker kill ${{ steps.docker-container.outputs.id }}
if: always()
with:
name: Windmill Integration Tests Logs
path: |
integration_tests/logs
tag_latest:
runs-on: ubicloud
needs: [run_integration_test, build]
if:
github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' ||
startsWith(github.ref, 'refs/tags/v')) && (github.event_name != 'workflow_dispatch')
publish_privately_heavy:
needs: [build_ee]
runs-on: [self-hosted, new]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Tag main and latest
run: |
docker buildx imagetools create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }} --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
docker buildx imagetools create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEV_SHA }} --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:main
tag_latest_ee:
runs-on: ubicloud
needs: [run_integration_test, build_ee]
if:
github.event_name != 'pull_request' && (github.event_name != 'workflow_dispatch') && (github.ref == 'refs/heads/main' ||
startsWith(github.ref, 'refs/tags/v'))
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Tag main and latest for ee
run: |
docker buildx imagetools create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }} --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:latest
docker buildx imagetools create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:${{ env.DEV_SHA }} --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:main
verify_ee_image_vulnerabilities:
runs-on: ubicloud
needs: [tag_latest_ee]
if: startsWith(github.ref, 'refs/tags/v') && (github.event_name != 'workflow_dispatch')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Analyze for critical and high CVEs
id: docker-scout-cves
if: ${{ github.event_name != 'pull_request_target' }}
uses: docker/scout-action@v1
with:
command: cves
only-severities: critical,high
image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee:main
sarif-file: sarif.output.json
summary: true
dockerhub-user: windmilllabs
dockerhub-password: ${{ secrets.DOCKER_PAT }}
- name: Upload SARIF result
id: upload-sarif
if: ${{ github.event_name != 'pull_request_target' }}
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: sarif.output.json
# docker_scout_ee:
# runs-on: ubicloud
# needs: [tag_latest_ee]
# steps:
# - name: Docker Scout
# id: docker-scout
# uses: docker/scout-action@v1
# with:
# dockerhub-
# command: cves,recommendations,compare
# to-latest: true
# ignore-base: true
# ignore-unchanged: true
# only-fixed: true
publish_ecr_s3:
needs: [build_ee_full]
runs-on: ubicloud-standard-2-arm
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get version from tag
id: version
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
- uses: shrink/actions-docker-extract@v3
id: extract
with:
image: |-
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee-full:${{ steps.version.outputs.VERSION }}
path: "/static_frontend/."
- uses: reggionick/s3-deploy@v4
with:
folder: ${{ steps.extract.outputs.destination }}
bucket: windmill-frontend
bucket-region: us-east-1
build_ee_cuda:
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
needs: [build_ee]
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.ref }}
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
id: meta-heavy
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee-cuda
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly ee
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64
push: true
file: "./docker/DockerfileCuda"
tags: |
${{ steps.meta-ee-public.outputs.tags }}
labels: |
${{ steps.meta-ee-public.outputs.labels }}
org.opencontainers.image.licenses=Windmill-Enterprise-License
build_slim:
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
needs: [build]
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-slim
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly ee
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64
push: true
file: "./docker/DockerfileSlim"
tags: |
${{ steps.meta-ee-public.outputs.tags }}
labels: |
${{ steps.meta-ee-public.outputs.labels }}
build_ee_slim:
needs: [build_ee]
runs-on: ubicloud
if: (github.event_name != 'pull_request') && ((github.event_name != 'workflow_dispatch') || (github.event.inputs.ee || github.event.inputs.slim))
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee-slim
${{ env.ECR_REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=sha
- name: Login to ECR
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ${{ env.ECR_REGISTRY }}
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Login to registry
uses: docker/login-action@v3
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly ee
uses: depot/build-push-action@v1
- name: Build and push privately
uses: docker/build-push-action@v3
if: github.event_name != 'pull_request'
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
file: "./docker/DockerfileSlimEe"
file: ./docker/DockerfileHeavy
tags: |
${{ steps.meta-ee-public.outputs.tags }}
labels: |
${{ steps.meta-ee-public.outputs.labels }}
org.opencontainers.image.licenses=Windmill-Enterprise-License
${{ steps.meta-heavy.outputs.tags }}
labels: ${{ steps.meta-heavy.outputs.labels }}
cache-from: type=registry,ref=${{ env.LOCAL_REGISTRY }}/${{ env.IMAGE_NAME }}-heavy:buildcache
cache-to: type=registry,ref=${{ env.LOCAL_REGISTRY }}/${{ env.IMAGE_NAME }}-heavy:buildcache,mode=max
build_full:
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
needs: [build]
runs-on: ubicloud
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-full
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly
uses: depot/build-push-action@v1
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
file: "./docker/DockerfileFull"
tags: |
${{ steps.meta-public.outputs.tags }}
labels: |
${{ steps.meta-public.outputs.labels }}
build_ee_full:
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
publish_privately_helm:
runs-on: [self-hosted, new]
needs: [build_ee]
runs-on: ubicloud
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
fetch-depth: 0
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2
- uses: depot/setup-action@v1
- name: Docker meta
id: meta-ee-public
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ee-full
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to registry
uses: docker/login-action@v3
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly ee
uses: depot/build-push-action@v1
- name: Login to ECR
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ${{ env.ECR_REGISTRY }}
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Build and push privately
uses: docker/build-push-action@v3
if: github.event_name != 'pull_request'
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
file: "./docker/DockerfileFullEe"
file: ./docker/DockerfileHelm
tags: |
${{ steps.meta-ee-public.outputs.tags }}
labels: |
${{ steps.meta-ee-public.outputs.labels }}
org.opencontainers.image.licenses=Windmill-Enterprise-License
${{ env.ECR_REGISTRY }}/${{ env.IMAGE_NAME }}:helm
cache-from: type=registry,ref=${{ env.LOCAL_REGISTRY }}/${{ env.IMAGE_NAME }}-helm:buildcache
cache-to: type=registry,ref=${{ env.LOCAL_REGISTRY }}/${{ env.IMAGE_NAME }}-helm:buildcache,mode=max

View File

@@ -1,27 +1,17 @@
name: check frontend build
on:
workflow_run:
workflows: ["Change versions"]
types:
- completed
merge_group:
push:
pull_request:
types: [opened,synchronize,reopened,closed]
paths:
- "frontend/**"
- ".github/workflows/frontend-check.yml"
jobs:
npm_check:
runs-on: ubicloud-standard-8
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v5
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 24
cache: "npm"
cache-dependency-path: "frontend/package-lock.json"
node-version: 18
- name: "npm check"
timeout-minutes: 5
run: cd frontend && npm ci && npm run generate-backend-client && npm run
check
timeout-minutes: 2
run: cd frontend && npm ci && npm run generate-backend-client && npm run check

View File

@@ -1,16 +0,0 @@
name: Publish powershell-client
on:
push:
tags:
- "v*"
workflow_dispatch:
jobs:
publish_gallery:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
- run: . ./powershell-client/publish.ps1
shell: pwsh
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}

View File

@@ -1,332 +0,0 @@
name: Git commands
on:
issue_comment:
types: [created]
jobs:
check-membership:
if: >-
github.event.issue.pull_request && (
startsWith(github.event.comment.body, '/updatesqlx') ||
startsWith(github.event.comment.body, '/demo') ||
startsWith(github.event.comment.body, '/eeref') ||
startsWith(github.event.comment.body, '/docs')
)
uses: ./.github/workflows/check-org-membership.yml
secrets:
access_token: ${{ secrets.ORG_ACCESS_TOKEN }}
update-sqlx:
needs: check-membership
if: needs.check-membership.outputs.is_member == 'true' && startsWith(github.event.comment.body, '/updatesqlx')
runs-on: ubicloud-standard-8
permissions:
contents: write
pull-requests: write
issues: write
services:
postgres:
image: postgres:16
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: windmill
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/create-github-app-token@v2
id: app
with:
app-id: ${{ vars.INTERNAL_APP_ID }}
private-key: ${{ secrets.INTERNAL_APP_KEY }}
- name: Comment on PR - Starting
uses: actions/github-script@v6
with:
github-token: ${{ steps.app.outputs.token }}
script: |
const runUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `Starting sqlx update...\n\n[View workflow run](${runUrl})`
})
- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}
ref: ${{ github.event.issue.pull_request.head.ref }}
fetch-depth: 0
- name: Checkout windmill-ee-private
uses: actions/checkout@v3
with:
repository: windmill-labs/windmill-ee-private
path: windmill-ee-private
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
# Setup Rust toolchain
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: backend
toolchain: 1.93.0
- name: Install xmlsec and gssapi build-time deps
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
pkg-config libxml2-dev libssl-dev libkrb5-dev libsasl2-dev libcurl4-openssl-dev mold clang \
xmlsec1 libxmlsec1-dev libxmlsec1-openssl
- name: Run update-sqlx script
env:
DATABASE_URL: postgres://postgres:postgres@localhost:5432/windmill
GH_TOKEN: ${{ steps.app.outputs.token }}
run: |
set -e # Exit on any command failure
PR_NUMBER=${{ github.event.issue.number }}
# Set up error trap to comment on PR for any failure
trap 'gh pr comment $PR_NUMBER --body "❌ SQLx update failed. Please check the workflow logs for details."' ERR
BRANCH_NAME=$(gh pr view $PR_NUMBER --json headRefName --jq .headRefName)
echo "Checking out PR branch: $BRANCH_NAME"
git checkout $BRANCH_NAME
git config --local user.email "windmill-internal-app[bot]@users.noreply.github.com"
git config --local user.name "windmill-internal-app[bot]"
git config pull.rebase true
git pull origin $BRANCH_NAME
mkdir -p frontend/build
cd backend
cargo install sqlx-cli --version 0.8.5
sqlx migrate run
./substitute_ee_code.sh --dir ./windmill-ee-private
./update_sqlx.sh
# Pass the branch name to the next step
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
- name: Commit changes if any
run: |
git add backend/.sqlx
git commit -m "Update SQLx metadata"
git push origin ${{ env.BRANCH_NAME }}
- name: Comment on PR - Completed
uses: actions/github-script@v6
with:
github-token: ${{ steps.app.outputs.token }}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Successfully ran sqlx update'
})
demo:
needs: check-membership
if: needs.check-membership.outputs.is_member == 'true' && startsWith(github.event.comment.body, '/demo')
runs-on: ubicloud-standard-2
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Claude Code for Demo Generation
uses: anthropics/claude-code-action@beta
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
timeout_minutes: "10"
allowed_tools: "Bash"
direct_prompt: |
You need to:
1. Extract the Cloudflare preview URL from the cloudflare-workers-and-pages bot comment in this PR
2. Analyze the PR changes to understand what feature was added/modified
3. Create detailed instructions to give to an AI agent that will click and interact with buttons and inputs to showcase the new feature. Only include the instructions, nothing else.
4. Create a demo.json file with a valid JSON object containing:
- instructions: the demo instructions
- url: the preview URL
5. VALIDATE the JSON file using `jq` before finishing
DO NOT COMMIT THIS FILE TO THE PR.
Example demo.json:
{
"instructions": "Click on settings, then account settings, then 'generate new token'",
"url": "https://example.pages.dev"
}
CRITICAL: After creating demo.json, you MUST:
1. Run `jq empty demo.json` to validate the JSON is properly formatted
2. If validation fails, fix the JSON and validate again
3. Only proceed once the JSON passes validation
4. Use proper JSON escaping for newlines, quotes, and special characters
Make sure to:
- Create a valid JSON object that passes `jq empty demo.json`
- Extract the correct preview URL (should be a .pages.dev domain)
- Create specific, actionable demo steps based on the actual changes in the PR
- Properly escape all strings in the JSON (use jq to create the file if needed)
- NOT COMMIT THE DEMO.JSON FILE TO THE PR
- name: Send instructions to Windmill
env:
DEMO_WEBHOOK_TOKEN: ${{ secrets.DEMO_WEBHOOK_TOKEN }}
run: |
if [[ -f "demo.json" ]]; then
echo "Found demo.json, sending to Windmill..."
cat demo.json
# Validate JSON one more time (Claude should have already done this)
if ! jq empty demo.json; then
echo "Error: demo.json is not valid JSON"
exit 1
fi
RESULT=$(curl -s \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $DEMO_WEBHOOK_TOKEN" \
-X POST \
-d @demo.json \
'https://app.windmill.dev/api/w/windmill-labs/jobs/run/f/f/ai/browserbase_demo')
echo "Windmill response:"
echo -E "$RESULT"
else
echo "Error: demo.json file not found"
exit 1
fi
update-ee-ref:
needs: check-membership
if: needs.check-membership.outputs.is_member == 'true' && startsWith(github.event.comment.body, '/eeref')
runs-on: ubicloud-standard-2
permissions:
contents: write
pull-requests: write
issues: write
steps:
- uses: actions/create-github-app-token@v2
id: app
with:
app-id: ${{ vars.INTERNAL_APP_ID }}
private-key: ${{ secrets.INTERNAL_APP_KEY }}
- name: Comment on PR - Starting
uses: actions/github-script@v6
with:
github-token: ${{ steps.app.outputs.token }}
script: |
const runUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `Starting ee ref update...\n\n[View workflow run](${runUrl})`
})
- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}
ref: ${{ github.event.issue.pull_request.head.ref }}
fetch-depth: 0
- name: Checkout windmill-ee-private
uses: actions/checkout@v3
with:
repository: windmill-labs/windmill-ee-private
path: windmill-ee-private
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
- name: Get last commit hash of private-repo
id: get-commit-hash
run: |
cd windmill-ee-private
COMMIT_HASH=$(git rev-parse HEAD)
echo "commit_hash=$COMMIT_HASH" >> $GITHUB_OUTPUT
echo "Latest commit hash: $COMMIT_HASH"
- name: Update ee-repo-ref.txt
env:
GH_TOKEN: ${{ steps.app.outputs.token }}
run: |
set -e # Exit on any command failure
PR_NUMBER=${{ github.event.issue.number }}
# Set up error trap to comment on PR for any failure
trap 'gh pr comment $PR_NUMBER --body "❌ EE ref update failed. Please check the workflow logs for details."' ERR
BRANCH_NAME=$(gh pr view $PR_NUMBER --json headRefName --jq .headRefName)
echo "Checking out PR branch: $BRANCH_NAME"
git checkout $BRANCH_NAME
git config --local user.email "windmill-internal-app[bot]@users.noreply.github.com"
git config --local user.name "windmill-internal-app[bot]"
git config pull.rebase true
git pull origin $BRANCH_NAME
echo "${{ steps.get-commit-hash.outputs.commit_hash }}" > backend/ee-repo-ref.txt
echo "Updated backend/ee-repo-ref.txt with commit hash: ${{ steps.get-commit-hash.outputs.commit_hash }}"
# commit and push the changes
git add backend/ee-repo-ref.txt
git commit -m "Update ee-repo-ref.txt" || echo "No changes to commit"
git push origin $BRANCH_NAME
- name: Comment on PR - Completed
uses: actions/github-script@v6
with:
github-token: ${{ steps.app.outputs.token }}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Successfully updated ee-repo-ref.txt'
})
update-docs:
needs: check-membership
if: needs.check-membership.outputs.is_member == 'true' && startsWith(github.event.comment.body, '/docs')
runs-on: ubicloud-standard-2
permissions:
contents: read
pull-requests: read
issues: read
steps:
- uses: actions/create-github-app-token@v2
id: app
with:
app-id: ${{ vars.INTERNAL_APP_ID }}
private-key: ${{ secrets.INTERNAL_APP_KEY }}
owner: ${{ github.repository_owner }}
repositories: |
windmilldocs
- name: Trigger docs update
env:
GH_TOKEN: ${{ steps.app.outputs.token }}
COMMENT_TEXT: ${{ github.event.comment.body }}
run: |
jq -n \
--argjson pr_number ${{ github.event.issue.number }} \
--arg repo "${{ github.event.repository.name }}" \
--arg comment "$COMMENT_TEXT" \
'{event_type: "create-docs", client_payload: {pr_number: $pr_number, repo: $repo, comment_text: $comment}}' | \
gh api repos/windmill-labs/windmilldocs/dispatches \
--method POST \
--input -

View File

@@ -10,14 +10,10 @@ env:
jobs:
build_go_and_push_to_repo:
runs-on: ubicloud-standard-8
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
- name: install_jq
run: |
sudo apt-get update
sudo apt-get install jq
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
- name: generate_go
run: |
go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@v1.11.0
@@ -42,7 +38,7 @@ jobs:
needs: [build_go_and_push_to_repo]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/${{ env.repo }}
token: ${{ secrets.DENO_PAT }}

View File

@@ -1,91 +0,0 @@
name: Publish Helm Chart on Release
on:
release:
types: [published]
jobs:
bump-helm-version:
runs-on: ubicloud-standard-2
steps:
- name: Generate an installation token
id: app
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.INTERNAL_APP_ID }}
private-key: ${{ secrets.INTERNAL_APP_KEY }}
owner: windmill-labs
- name: Checkout on helm repository
uses: actions/checkout@v3
with:
repository: windmill-labs/windmill-helm-charts
token: ${{ steps.app.outputs.token }}
- name: Get version
id: get_version
run: |
echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Create new branch
run: |
# Check if branch already exists remotely
if git ls-remote --heads origin bump-helm-version-${{ env.VERSION }} | grep -q bump-helm-version-${{ env.VERSION }}; then
# Branch exists, check it out
git fetch origin bump-helm-version-${{ env.VERSION }}
git checkout bump-helm-version-${{ env.VERSION }}
else
# Create new branch
git checkout -b bump-helm-version-${{ env.VERSION }}
fi
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
- name: Bump helm version
run: |
# Get current version and increment it by 1
CURRENT_VERSION=$(grep "version:" ./charts/windmill/Chart.yaml | awk '{print $2}' | head -n 1)
NEW_VERSION=$(echo "$CURRENT_VERSION" | awk -F. '{$NF = $NF + 1;} 1' | sed 's/ /./g')
sed -i "s/^version: .*/version: $NEW_VERSION/" ./charts/windmill/Chart.yaml
# Get the app version from the version
VERSION=${{ env.VERSION }}
APP_VERSION=${VERSION#refs/tag/}
APP_VERSION=${APP_VERSION#v}
APP_VERSION=${APP_VERSION%/}
sed -i "s/appVersion: .*/appVersion: $APP_VERSION/" ./charts/windmill/Chart.yaml
- name: Close existing bump-helm PRs
env:
GH_TOKEN: ${{ steps.app.outputs.token }}
run: |
# List open PR numbers whose title starts with the prefix
prs=$(gh pr list \
--state open \
--search '"helm: bump version to" in:title' \
--json number \
-q '.[].number')
for pr in $prs; do
echo "Closing outdated bump PR #$pr"
gh pr close "$pr" \
--comment "Closed automatically superseded by a newer Helm-chart bump PR."
done
- name: Commit and push
run: |
git add .
git commit -m "Bump helm version to ${{ env.VERSION }}"
git push origin bump-helm-version-${{ env.VERSION }}
- name: Create PR
env:
GH_TOKEN: ${{ steps.app.outputs.token }}
run: |
gh pr create \
--title "helm: bump version to ${{ env.VERSION }}" \
--body "This PR was auto-generated to bring the helm chart up to date for [release ${{ env.VERSION }}](https://github.com/windmill-labs/windmill/releases/tag/v${{ env.VERSION }}) in the main repo." \
--head bump-helm-version-${{ env.VERSION }} \
--base main

View File

@@ -1,16 +0,0 @@
name: Publish typescript-client on JSR
on:
push:
tags:
- "v*"
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- run: cd typescript-client && ./publish.jsr.sh

View File

@@ -1,38 +0,0 @@
name: Claude PR Assistant
on:
repository_dispatch:
types: [external_claude_issue_fix]
jobs:
claude-code-action:
runs-on: ubicloud-standard-8
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Process inputs
id: process_inputs
shell: bash
run: |
ISSUE_TITLE="${{ github.event.client_payload.issue_title }}"
INSTRUCTION="${{ github.event.client_payload.instruction }}"
ISSUE_BODY=$(printf '%q' "${{ github.event.client_payload.issue_body }}")
BASE_PROMPT="Try to fix the following issue based on the instruction given. You are provided with the issue title, issue body, and instruction. You are to fix the issue based on the instruction. You are to create a pull request to fix the issue."
CUSTOM_PROMPT=$(printf -v PROMPT "%s\n\nISSUE_TITLE: %s\n\nISSUE_BODY: %s\n\nINSTRUCTION: %s" "$BASE_PROMPT" "$ISSUE_TITLE" "$ISSUE_BODY" "$INSTRUCTION")
echo "CUSTOM_PROMPT=$CUSTOM_PROMPT" >> $GITHUB_OUTPUT
- name: Run Claude PR Action
uses: anthropics/claude-code-action@beta
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
timeout_minutes: "60"
allowed_tools: "mcp__github__create_pull_request"
direct_prompt: ${{ steps.process_inputs.outputs.CUSTOM_PROMPT }}

View File

@@ -1,33 +0,0 @@
name: Publish typescript-client & CLI to NPM on release
on:
push:
tags:
- "v*"
workflow_dispatch:
jobs:
publish_typescript_client:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: "20.x"
registry-url: "https://registry.npmjs.org"
- run: cd typescript-client && ./publish.sh && cd ..
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
publish_cli:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: "20.x"
registry-url: "https://registry.npmjs.org"
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- run: cd cli && ./build.sh && cd npm && npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

View File

@@ -1,48 +0,0 @@
name: Claude Auto Review
on:
pull_request:
types: [ready_for_review, opened]
concurrency:
group: claude-review-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
auto-review:
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false || github.event.pull_request.ready_for_review == true
permissions:
contents: read
pull-requests: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Automatic PR Review
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
track_progress: true
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ github.event.pull_request.number }}
Please review this pull request and provide comprehensive feedback.
Focus on:
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Security implications
Provide detailed feedback using inline comments for specific issues.
Use top-level comments for general observations or praise.
At the end of your review, add complete instructions to reproduce the added changes through the app interface. These instructions will be given to a tester so he can verify the changes. It should be a short descriptive text (not a step by step or a list) on how to navigate the app (what page, what action, what input, etc) to see the changes.
claude_args: |
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"
--model opus

View File

@@ -1,126 +0,0 @@
env:
REGISTRY: ghcr.io
ECR_REGISTRY: 976079455550.dkr.ecr.us-east-1.amazonaws.com
IMAGE_NAME: ${{ github.repository }}-extra
name: Publish windmill-extra
on:
push:
tags:
- "v*"
workflow_dispatch:
permissions: write-all
jobs:
sleep:
runs-on: ubicloud
steps:
- name: Sleep for 900 seconds waiting for pypi to update index
if: startsWith(github.ref, 'refs/tags/v')
run: sleep 900
shell: bash
# Build and test the image before publishing
test_extra:
needs: [sleep]
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build test image
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/DockerfileExtra
load: true
tags: windmill-extra:test
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Start container
run: |
docker run -d --name windmill-extra-test \
-p 3001:3001 -p 3002:3002 -p 3003:3003 \
-e ENABLE_LSP=true \
-e ENABLE_MULTIPLAYER=true \
-e ENABLE_DEBUGGER=true \
-e DEBUGGER_PORT=3003 \
-e REQUIRE_SIGNED_DEBUG_REQUESTS=false \
windmill-extra:test
# Wait for container to start
echo "Waiting for container to initialize..."
sleep 10
# Show container logs for debugging
docker logs windmill-extra-test
- name: Run integration tests
run: |
bun run docker/test_windmill_extra.ts
- name: Show container logs on failure
if: failure()
run: |
echo "=== Container logs ==="
docker logs windmill-extra-test
- name: Cleanup
if: always()
run: |
docker stop windmill-extra-test || true
docker rm windmill-extra-test || true
publish_extra:
needs: [sleep, test_extra]
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: depot/setup-action@v1
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push publicly
uses: depot/build-push-action@v1
with:
context: .
file: ./docker/DockerfileExtra
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ steps.meta.outputs.tags }}
labels: |
${{ steps.meta.outputs.labels }}
org.opencontainers.image.licenses=AGPLv3

View File

@@ -1,76 +0,0 @@
name: Build and Publish Windows Worker
on:
push:
tags:
- "v*"
env:
CARGO_INCREMENTAL: 0
SQLX_OFFLINE: true
DISABLE_EMBEDDING: true
RUST_LOG: info
jobs:
cargo_build_windows:
runs-on: blacksmith-16vcpu-windows-2025
steps:
- uses: actions/checkout@v4
- name: Read EE repo commit hash
shell: pwsh
run: |
$ee_repo_ref = Get-Content .\backend\ee-repo-ref.txt
echo "ee_repo_ref=$ee_repo_ref" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Checkout windmill-ee-private repository
uses: actions/checkout@v4
with:
repository: windmill-labs/windmill-ee-private
path: ./windmill-ee-private
ref: ${{ env.ee_repo_ref }}
token: ${{ secrets.WINDMILL_EE_PRIVATE_ACCESS }}
fetch-depth: 0
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-workspaces: backend
toolchain: 1.93.0
- name: Substitute EE code
shell: bash
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Cargo build dynamic libraries windows
timeout-minutes: 180
run: |
cd backend/windmill-duckdb-ffi-internal
cargo build --release -p windmill_duckdb_ffi_internal
- name: Cargo build windows
timeout-minutes: 180
run: |
vcpkg.exe install openssl-windows:x64-windows
vcpkg.exe install openssl:x64-windows-static
vcpkg.exe integrate install
$env:VCPKGRS_DYNAMIC=1
$env:OPENSSL_DIR="${Env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows-static"
mkdir frontend/build && cd backend
New-Item -Path . -Name "windmill-api/openapi-deref.yaml" -ItemType "File" -Force
cargo build --release --features=ee_windows
- name: Rename binary with corresponding architecture
run: |
Rename-Item -Path ".\backend\target\release\windmill.exe" -NewName "windmill-ee.exe"
- name: Attach binary to release
uses: softprops/action-gh-release@v2
with:
files: |
./backend/target/release/windmill-ee.exe
- name: Attach dynamic libraries to release
uses: softprops/action-gh-release@v2
with:
files: |
./backend/windmill-duckdb-ffi-internal/target/release/windmill_duckdb_ffi_internal.dll

View File

@@ -1,3 +1,8 @@
env:
REGISTRY: ghcr.io
ECR_REGISTRY: 976079455550.dkr.ecr.us-east-1.amazonaws.com
IMAGE_NAME: ${{ github.repository }}-lsp
name: Publish python-client
on:
push:
@@ -7,15 +12,69 @@ on:
jobs:
publish_pypi:
runs-on: ubicloud-standard-8
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
container:
image: ghcr.io/windmill-labs/python-client-builder
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Upload python client
env:
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
cd python-client
./publish.sh
publish_lsp:
needs: [publish_pypi]
runs-on: [self-hosted, new]
steps:
- name: Sleep for 30 seconds waiting for pypi to update index
run: sleep 30s
shell: bash
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
${{ env.ECR_REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to ECR
uses: docker/login-action@v2
with:
registry: ${{ env.ECR_REGISTRY }}
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Build and push publicly
uses: docker/build-push-action@v3
with:
context: "{{defaultContext}}:lsp"
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ env.ECR_REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ steps.metalocal.outputs.tags }}
${{ steps.meta.outputs.tags }}
registry.uffizzi.com/windmill-lsp:60d
labels: ${{ steps.metalocal.outputs.labels }}
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache
cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache,mode=max

View File

@@ -6,7 +6,7 @@ name: release-please
jobs:
release-please:
name: "Release please"
runs-on: ubicloud
runs-on: ubuntu-latest
steps:
- uses: GoogleCloudPlatform/release-please-action@v3
with:

View File

@@ -1,27 +0,0 @@
name: Rust Client Check
on:
workflow_run:
workflows: ["Change versions"]
types:
- completed
push:
paths:
- "rust-client/**"
- "backend/**/*.rs"
- "backend/windmill-api/openapi.yaml"
- "version.txt"
- "flake.nix"
- ".github/workflows/rust-client-check.yml"
jobs:
check_rust_client:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v20
with:
extra_nix_config: |
experimental-features = nix-command flakes
- name: Check rust client builds
run: cd rust-client && nix develop ../ --command ./dev.nu --check
timeout-minutes: 16

View File

@@ -1,19 +0,0 @@
name: Publish rust-client to crates.io on release
on:
push:
tags:
- "v*"
workflow_dispatch:
jobs:
build_rust_and_publish_to_crates_io:
runs-on: ubicloud-standard-8
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v20
with:
extra_nix_config: |
experimental-features = nix-command flakes
- run: cd rust-client && nix develop ../ --command ./dev.nu --check --publish
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}

View File

@@ -1,183 +0,0 @@
name: "Notify Discord when a PR is opened or merged"
on:
workflow_call:
inputs:
PR_TITLE:
description: "The title of the PR"
type: string
PR_URL:
description: "The URL of the PR"
type: string
PR_AUTHOR:
description: "The author of the PR"
type: string
PR_STATUS:
description: "The status of the PR"
type: string
DISCORD_CHANNEL_ID:
description: "The Discord channel ID"
type: string
PR_NUMBER:
description: "The number of the PR"
type: string
DISCORD_GUILD_ID:
description: "The Discord guild ID"
type: string
COMMENT_BODY:
description: "The comment body"
type: string
default: ""
COMMENT_AUTHOR:
description: "The comment author"
type: string
default: ""
COMMENT_URL:
description: "The comment URL"
type: string
default: ""
secrets:
DISCORD_WEBHOOK_URL:
description: "Discord Webhook URL"
required: false
DISCORD_BOT_TOKEN:
description: "Discord Bot Token"
jobs:
open_thread:
runs-on: ubicloud-standard-2
if: ${{ inputs.PR_STATUS == 'opened' }}
steps:
- name: Send Discord notification and start a thread
env:
WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
CHANNEL_ID: ${{ inputs.DISCORD_CHANNEL_ID }}
GUILD_ID: ${{ inputs.DISCORD_GUILD_ID }}
PR_TITLE: ${{ inputs.PR_TITLE }}
PR_NUMBER: ${{ inputs.PR_NUMBER }}
PR_URL: ${{ inputs.PR_URL }}
PR_AUTHOR: ${{ inputs.PR_AUTHOR }}
run: |
# Check if thread already exists
thread_exists=false
if threads=$(curl -s -H "Authorization: Bot $BOT_TOKEN" "https://discord.com/api/v10/guilds/${GUILD_ID}/threads/active"); then
if thread_id=$(echo "$threads" | jq -r --arg cid "$CHANNEL_ID" --arg pref "#${PR_NUMBER}:" '.threads[] | select(.parent_id == $cid and (.name | startswith($pref))) | .id' 2>/dev/null); then
if [ -n "$thread_id" ]; then
thread_exists=true
echo "Thread already exists, skipping creation"
fi
fi
else
echo "Failed to check for existing threads, will create new thread"
fi
# Create thread if it doesn't exist or if check failed
if [ "$thread_exists" = false ]; then
echo "Creating new thread"
THREAD_TITLE="#${PR_NUMBER}: ${PR_TITLE} by \`${PR_AUTHOR}\`"
payload=$(jq -n \
--arg content "${PR_URL}" \
--arg thread "${THREAD_TITLE:0:99}" \
'{
content: $content,
thread_name: $thread,
auto_archive_duration: 10080
}'
)
curl -H "Content-Type: application/json" \
-X POST \
-d "$payload" \
"$WEBHOOK_URL"
fi
merge_success_emoji:
runs-on: ubuntu-latest
if: ${{ inputs.PR_STATUS == 'merged' }}
steps:
- name: React
env:
BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
CHANNEL_ID: ${{ inputs.DISCORD_CHANNEL_ID }}
GUILD_ID: ${{ inputs.DISCORD_GUILD_ID }}
PR_NUMBER: ${{ inputs.PR_NUMBER }}
run: |
# 1) get PR thread
threads=$(curl -H "Authorization: Bot $BOT_TOKEN" "https://discord.com/api/v10/guilds/${GUILD_ID}/threads/active")
thread_id=$(
echo "$threads" \
| jq -r --arg cid "$CHANNEL_ID" \
--arg pref "#${PR_NUMBER}:" \
'.threads[]
| select(.parent_id == $cid and (.name | startswith($pref)))
| .id'
)
if [ -z "$thread_id" ]; then
echo "Thread not found"
exit 1
fi
# 2) get the first message in that thread
messages=$(curl -H "Authorization: Bot $BOT_TOKEN" \
"https://discord.com/api/v10/channels/$thread_id/messages")
message_id=$(echo "$messages" | jq -r '.[-1].id')
if [ -z "$message_id" ]; then
echo "Message not found"
exit 1
fi
# 3) add the ✅ reaction
curl -X PUT \
-H "Authorization: Bot $BOT_TOKEN" \
"https://discord.com/api/v10/channels/$thread_id/messages/$message_id/reactions/%E2%9C%85/@me"
post_comment:
runs-on: ubuntu-latest
if: ${{ inputs.PR_STATUS == 'comment' }}
steps:
- name: Post comment to Discord thread
env:
BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
CHANNEL_ID: ${{ inputs.DISCORD_CHANNEL_ID }}
GUILD_ID: ${{ inputs.DISCORD_GUILD_ID }}
PR_NUMBER: ${{ inputs.PR_NUMBER }}
COMMENT_BODY: ${{ inputs.COMMENT_BODY }}
COMMENT_AUTHOR: ${{ inputs.COMMENT_AUTHOR }}
COMMENT_URL: ${{ inputs.COMMENT_URL }}
run: |
# 1) Find the thread by PR number
threads=$(curl -s -H "Authorization: Bot $BOT_TOKEN" \
"https://discord.com/api/v10/guilds/${GUILD_ID}/threads/active")
thread_id=$(echo "$threads" | jq -r \
--arg cid "$CHANNEL_ID" \
--arg pref "#${PR_NUMBER}:" \
'.threads[] | select(.parent_id == $cid and (.name | startswith($pref))) | .id')
if [ -z "$thread_id" ]; then
echo "Thread not found for PR #${PR_NUMBER}, skipping"
exit 0
fi
# 2) Truncate comment body to fit Discord's 2000 char limit
# Reserve space for the author line + link (~100 chars)
max_body=1800
if [ ${#COMMENT_BODY} -gt $max_body ]; then
# For bot comments, show the tail (conclusions/code tend to be at the end)
if [[ "$COMMENT_AUTHOR" == *"[bot]"* ]] || [[ "$COMMENT_AUTHOR" == *"-bot"* ]]; then
truncated_body="...${COMMENT_BODY: -$max_body}"
else
truncated_body="${COMMENT_BODY:0:$max_body}..."
fi
else
truncated_body="$COMMENT_BODY"
fi
# 3) Post the comment to the thread
message=$(printf '**%s** [commented](%s):\n%s' "$COMMENT_AUTHOR" "$COMMENT_URL" "$truncated_body")
payload=$(jq -n --arg content "$message" '{content: $content, flags: 4, allowed_mentions: {parse: []}}')
curl -s -X POST \
-H "Authorization: Bot $BOT_TOKEN" \
-H "Content-Type: application/json" \
-d "$payload" \
"https://discord.com/api/v10/channels/${thread_id}/messages"

View File

@@ -7,15 +7,12 @@ on:
jobs:
CLAssistant:
runs-on: ubicloud
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if:
(github.event.comment.body == 'recheck' || github.event.comment.body
== 'I have read the CLA Document and I hereby sign the CLA') ||
github.event_name == 'pull_request_target'
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
# Beta Release
uses: cla-assistant/github-action@v2.6.1
uses: cla-assistant/github-action@v2.2.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_PAT }}

View File

@@ -1,126 +0,0 @@
name: Spawn Ephemeral Backend
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
workflow_dispatch:
inputs:
pr_number:
description: "PR number"
required: true
type: number
jobs:
check-membership:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '/spawnbackend')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '/spawnbackend'))
uses: ./.github/workflows/check-org-membership.yml
secrets:
access_token: ${{ secrets.ORG_ACCESS_TOKEN }}
spawn-backend:
needs: check-membership
# Only run on PR comments that contain /spawn-backend, or manual dispatch
if: |
github.event_name == 'workflow_dispatch' ||
(github.event.issue.pull_request && needs.check-membership.outputs.is_member == 'true')
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read
steps:
- name: Get PR details
id: pr-details
uses: actions/github-script@v7
with:
script: |
const prNumber = context.eventName === 'workflow_dispatch'
? context.payload.inputs.pr_number
: context.issue.number;
const pr = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber
});
// Get branch name and format it for Cloudflare Pages
// Replace '/' with '-' for the URL
const branchName = pr.data.head.ref;
const formattedBranch = branchName.replace(/\//g, '-');
const cfFrontendUrl = `https://${formattedBranch}.windmill.pages.dev`;
core.setOutput('commit_hash', pr.data.head.sha);
core.setOutput('pr_number', prNumber);
core.setOutput('branch_name', branchName);
core.setOutput('cf_frontend_url', cfFrontendUrl);
- name: Check manager URL
id: check-manager-url
run: |
if [ -z "${{ secrets.EPHEMERAL_BACKEND_QUEUE_URL }}" ]; then
echo "manager_url_set=false" >> $GITHUB_OUTPUT
else
echo "manager_url_set=true" >> $GITHUB_OUTPUT
fi
- name: Post error comment if manager not running
if: steps.check-manager-url.outputs.manager_url_set == 'false'
uses: actions/github-script@v7
with:
script: |
const prNumber = context.eventName === 'workflow_dispatch'
? Number(context.payload.inputs.pr_number)
: context.issue.number;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: `❌ Manager URL not set (did you start the ephemeral backend manager?)\n\nThe ephemeral backend manager needs to be running to spawn backends. Please start the manager first.`
});
- name: Fail if manager not running
if: steps.check-manager-url.outputs.manager_url_set == 'false'
run: |
echo "Error: EPHEMERAL_BACKEND_QUEUE_URL secret is not set"
exit 1
- name: Trigger Windmill flow
if: steps.check-manager-url.outputs.manager_url_set == 'true'
id: trigger-flow
run: |
JOB_UUID=$(curl -s -X POST "https://app.windmill.dev/api/w/windmill-labs/jobs/run/f/f/all/run_ephemeral_backend" \
-H "Authorization: Bearer ${{ secrets.WINDMILL_RUN_FLOW_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{
"manager_url": "${{ secrets.EPHEMERAL_BACKEND_QUEUE_URL }}",
"commit_hash": "${{ steps.pr-details.outputs.commit_hash }}",
"pr_number": ${{ steps.pr-details.outputs.pr_number }},
"cf_frontend_url": "${{ steps.pr-details.outputs.cf_frontend_url }}"
}' | tr -d '"')
echo "Job UUID: $JOB_UUID"
echo "job_uuid=$JOB_UUID" >> $GITHUB_OUTPUT
- name: Post comment with job link
if: steps.check-manager-url.outputs.manager_url_set == 'true'
uses: actions/github-script@v7
with:
script: |
const jobUuid = '${{ steps.trigger-flow.outputs.job_uuid }}';
const appUrl = `https://app.windmill.dev/public/windmill-labs/a106bad0256c1dfa7a4f9279c42b1a4b#${jobUuid}`;
const prNumber = context.eventName === 'workflow_dispatch'
? Number(context.payload.inputs.pr_number)
: context.issue.number;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: `🚀 Spawning new ephemeral backend!\n\n${appUrl}`
});

93
.github/workflows/uffizzi-build.yml vendored Normal file
View File

@@ -0,0 +1,93 @@
name: Build PR Image
on:
pull_request:
types: [opened,synchronize,reopened,closed]
paths:
- "backend/**"
- ".github/uffizzi/**"
- ".github/workflows/**"
workflow_dispatch:
jobs:
build-windmill:
name: Build and Push `windmill`
runs-on: ubuntu-latest
if: ${{ (github.event_name != 'pull_request' || github.event.action != 'closed')}}
outputs:
tags: ${{ steps.meta.outputs.tags }}
steps:
- name: Checkout git repo
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Generate UUID image name
id: uuid
run: echo "UUID_TAG_APP=$(uuidgen)" >> $GITHUB_ENV
- name: Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: registry.uffizzi.com/${{ env.UUID_TAG_APP }}
tags: type=raw,value=60d
- name: Build and Push Image to registry.uffizzi.com ephemeral registry
uses: docker/build-push-action@v2
with:
push: true
context: ./
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
render-compose-file:
name: Render Docker Compose File
# Pass output of this workflow to another triggered by `workflow_run` event.
runs-on: ubuntu-latest
needs:
- build-windmill
outputs:
compose-file-cache-key: ${{ steps.hash.outputs.hash }}
steps:
- name: Checkout git repo
uses: actions/checkout@v3
- name: Render Compose File
run: |
WINDMILL_IMAGE=${{ needs.build-windmill.outputs.tags }}
export WINDMILL_IMAGE
LSP_IMAGE=registry.uffizzi.com/windmill-lsp:60d
export LSP_IMAGE
envsubst '${WINDMILL_IMAGE} ${LSP_IMAGE}' < ./.github/uffizzi/docker-compose.uffizzi.yml > docker-compose.rendered.yml
cat docker-compose.rendered.yml
- name: Upload Rendered Compose File as Artifact
uses: actions/upload-artifact@v3
with:
name: preview-spec
path: docker-compose.rendered.yml
retention-days: 2
- name: Serialize PR Event to File
run: |
cat << EOF > event.json
${{ toJSON(github.event) }}
EOF
- name: Upload PR Event as Artifact
uses: actions/upload-artifact@v3
with:
name: preview-spec
path: event.json
retention-days: 2
delete-preview:
name: Call for Preview Deletion
runs-on: ubuntu-latest
if: ${{ github.event.action == 'closed' }}
steps:
# If this PR is closing, we will not render a compose file nor pass it to the next workflow.
- name: Serialize PR Event to File
run: echo '${{ toJSON(github.event) }}' > event.json
- name: Upload PR Event as Artifact
uses: actions/upload-artifact@v3
with:
name: preview-spec
path: event.json
retention-days: 2

115
.github/workflows/uffizzi-preview.yml vendored Normal file
View File

@@ -0,0 +1,115 @@
name: Deploy Uffizzi Preview
on:
workflow_run:
workflows:
- "Build PR Image"
types:
- completed
jobs:
cache-compose-file:
name: Cache Compose File
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
outputs:
compose-file-cache-key: ${{ env.COMPOSE_FILE_HASH }}
pr-number: ${{ env.PR_NUMBER }}
steps:
- name: 'Download artifacts'
# Fetch output (zip archive) from the workflow run that triggered this workflow.
uses: actions/github-script@v6
with:
script: |
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name == "preview-spec"
})[0];
if (matchArtifact === undefined) {
throw TypeError('Build Artifact not found!');
}
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
let fs = require('fs');
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/preview-spec.zip`, Buffer.from(download.data));
- name: 'Unzip artifact'
run: unzip preview-spec.zip
- name: Read Event into ENV
run: |
echo 'EVENT_JSON<<EOF' >> $GITHUB_ENV
cat event.json >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Read PR Number From Event Object
id: pr
run: echo "PR_NUMBER=${{ fromJSON(env.EVENT_JSON).number }}" >> $GITHUB_ENV
- name: Predict Deployment URL
id: url
# Replace dots in the repo name with the plus sign
run: |
REPO=$(echo ${{ github.repository }} | sed 's/\./+/g')
echo "EXPECTED_URL=https://app.uffizzi.com/github.com/$REPO/pull/$PR_NUMBER" >> $GITHUB_ENV
- name: Re-Render Compose File
run: |
OAUTH_JSON_BASE64=${{ secrets.OAUTH_JSON_BASE64 }}
export OAUTH_JSON_BASE64
envsubst '${OAUTH_JSON_BASE64} ${EXPECTED_URL}' < docker-compose.rendered.yml > docker-compose.uffizzi.yml
# cat docker-compose.uffizzi.yml
- name: Hash Rendered Compose File
id: hash
# If the previous workflow was triggered by a PR close event, we will not have a compose file artifact.
if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
run: echo "COMPOSE_FILE_HASH=$(md5sum docker-compose.uffizzi.yml | awk '{ print $1 }')" >> $GITHUB_ENV
- name: Cache Rendered Compose File
if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
uses: actions/cache@v3
with:
path: docker-compose.uffizzi.yml
key: ${{ env.COMPOSE_FILE_HASH }}
- name: DEBUG - Print Job Outputs
if: ${{ runner.debug }}
run: |
echo "PR number: ${{ env.PR_NUMBER }}"
echo "Compose file hash: ${{ env.COMPOSE_FILE_HASH }}"
cat event.json
deploy-uffizzi-preview:
name: Use Remote Workflow to Preview on Uffizzi
needs:
- cache-compose-file
if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: UffizziCloud/preview-action/.github/workflows/reusable.yaml@v2
with:
# If this workflow was triggered by a PR close event, cache-key will be an empty string
# and this reusable workflow will delete the preview deployment.
compose-file-cache-key: ${{ needs.cache-compose-file.outputs.compose-file-cache-key }}
compose-file-cache-path: docker-compose.uffizzi.yml
server: https://app.uffizzi.com
pr-number: ${{ needs.cache-compose-file.outputs.pr-number }}
permissions:
contents: read
pull-requests: write
id-token: write
playwright:
runs-on: ubuntu-latest
needs:
- deploy-uffizzi-preview
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- name: "Playwright run"
timeout-minutes: 2
run: cd frontend && npm ci @playwright/test && npx playwright install && export BASE_URL=${{ needs.deploy-uffizzi-preview.outputs.url }} && npm run test

View File

@@ -1,34 +0,0 @@
name: Validate OpenAPI Spec
on:
push:
paths:
- 'backend/windmill-api/openapi*'
pull_request:
paths:
- 'backend/windmill-api/openapi*'
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install openapi-generator-cli
run: npm install @openapitools/openapi-generator-cli -g
- name: Validate openapi.yaml
run: npx @openapitools/openapi-generator-cli validate -i backend/windmill-api/openapi.yaml
- name: Validate openapi-deref.json
run: npx @openapitools/openapi-generator-cli validate -i backend/windmill-api/openapi-deref.json
# Does not work well with dereferenced yaml
# - name: Validate openapi-deref.yaml
# run: npx @openapitools/openapi-generator-cli validate -i backend/windmill-api/openapi-deref.yaml

View File

@@ -1,145 +0,0 @@
name: Weekly PR Summary
on:
schedule:
# Every Friday at 8:00 AM UTC
- cron: '0 8 * * 5'
workflow_dispatch:
# Allow manual triggering for testing
jobs:
weekly-pr-summary:
runs-on: ubicloud-standard-4
timeout-minutes: 30
permissions:
contents: read
pull-requests: read
issues: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Generate Weekly PR Summary
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
prompt: |
REPO: ${{ github.repository }}
Generate a categorized weekly summary of ONLY MERGED Pull Requests from the past 7 days.
## Your Task:
1. **Calculate Date Range**:
- Run: `CUTOFF_DATE=$(date --date='7 days ago' --iso-8601)`
- Run: `TODAY=$(date --iso-8601)`
- This gives you the exact 7-day window (store these in variables for use in commands)
2. **Fetch ONLY Merged PRs from Past Week**:
- Command: `gh pr list --repo ${{ github.repository }} --state merged --search "merged:>=$CUTOFF_DATE" --limit 100 --json number,title,author,mergedAt,url`
- This returns ONLY PRs that were merged in the last 7 days
- The --search flag filters by merge date using GitHub's search syntax
- **FILTER OUT** any PRs with titles starting with "chore: release" or "chore(release)"
3. **Categorize PRs**: Group PRs into three categories by analyzing titles and labels:
- **Features**: PRs with titles starting with "feat:", "feature:", or containing "add", "implement", "new"
- **Bug Fixes**: PRs with titles starting with "fix:", "bug:", or containing "fix", "resolve", "patch"
- **Other**: All remaining PRs (improvements, refactors, docs, chores, etc.)
4. **Gather Details**: For each feature and bug fix merged PR, include:
- Full PR title (NO truncation, NO links)
- Author (extract login from author.login in JSON)
- Brief summary: Use `gh pr view <number> --json body` to get PR description, then extract first paragraph or key points (1-2 sentences max)
5. **Character Limit Enforcement**:
- The final summary MUST be under 5000 characters
- If the summary exceeds 5000 characters, truncate PR descriptions (NOT titles) and add at the end: "_and X more PRs_" where X is the count of omitted PRs
6. **Save Summary to Markdown File**: Write the summary to a file for webhook delivery:
- Save the complete formatted markdown to: `summary.md`
- Do not commit the file to the repository
## Output Format:
```markdown
### 📈 Weekly overview
- **Total merged**: X
- **Features**: Y
- **Bug Fixes**: Z
- **Other**: W
### ✨ Features (Y)
- **[Full PR Title]** by @username - [brief impact description]
- **[Full PR Title]** by @username - [brief impact description]
### 🐛 Bug Fixes (Z)
- **[Full PR Title]** by @username - [brief impact description]
- **[Full PR Title]** by @username - [brief impact description]
_and X more PRs_
```
## Important Notes:
- **CRITICAL**: ONLY include PRs with state "merged" from the last 7 days
- **CRITICAL**: EXCLUDE all PRs with titles starting with "chore: release" or "chore(release)"
- **CRITICAL**: Total character count MUST be under 5000 characters
- Count the number of "Other" PRs but do not include a section for them in the output
- Only use ### markdown headers for major sections and emoji indicators
- NO links to PRs
- NO merged date in output
- NEVER truncate PR titles - show full titles
- Use GitHub CLI (`gh`) for all operations
- Sort PRs within each category by merge date (most recent first)
- If a PR has no description, write "(No description provided)"
- Extract meaningful summary from PR body - look for the first paragraph or key bullet points
- Parse JSON responses carefully using `jq` or similar tools
- If summary exceeds 5000 chars, shorten PR descriptions and add "_and X more PRs_" at the end
- Count PRs in each category and display in both overview and section headers
## Saving the Markdown Output:
After generating the markdown summary, save it to a file, BUT DO NOT COMMIT IT TO THE REPOSITORY.
## Write Tool Fallback:
- First, attempt to use the Write tool to create `summary.md` with the markdown content
- If the Write tool returns ANY error or fails:
1. Use the Bash tool with the `echo` command instead
2. Use a heredoc to write the content: `cat > summary.md << 'EOF'` followed by your markdown content and `EOF` on a new line
3. Example: `cat > summary.md << 'EOF'\n[your markdown content here]\nEOF`
4. This ensures the file is always created regardless of Write tool issues
- Verify the file was created by running: `ls -lh summary.md`
claude_args: |
--allowedTools "Edit,MultiEdit,Write,Read,Glob,Grep,LS,Bash"
--model haiku
- name: Send Summary to Windmill
if: hashFiles('summary.md') != ''
env:
WEEKLY_SUMMARY_TOKEN: ${{ secrets.WEEKLY_SUMMARY_TOKEN }}
run: |
if [[ -f "summary.md" ]]; then
echo "Found summary.md, sending to Windmill..."
# Read the markdown content
MARKDOWN_CONTENT=$(cat summary.md)
# Create JSON payload
PAYLOAD=$(jq -n --arg markdown "$MARKDOWN_CONTENT" '{markdown: $markdown}')
# Send to Windmill webhook
RESULT=$(curl -s \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $WEEKLY_SUMMARY_TOKEN" \
-X POST \
-d "$PAYLOAD" \
'https://app.windmill.dev/api/w/windmill-labs/jobs/run/f/f/ai/send_past_week_pr_summaries_to_discord')
echo "Windmill response:"
echo -E "$RESULT"
echo "✅ Summary sent successfully to Windmill!"
else
echo "⚠️ Warning: summary.md not found, skipping delivery"
exit 1
fi

22
.gitignore vendored
View File

@@ -5,25 +5,3 @@ local/
frontend/src/routes/test.svelte
CaddyfileRemoteMalo
*.swp
**/.idea/
.direnv
/.vscode
.dev-docker-wrapper*
backend/.minio-data
.aider*
!.aiderignore
rust-client/Cargo.toml
# Worktree-generated port isolation
.env.local
# Worktree-specific Claude Code settings (generated by scripts/worktree-env)
.claude/settings.local.json
# Symlinked cache directories (for git worktrees)
backend/target
frontend/node_modules
typescript-client/node_modules
frontend/.svelte-kit
backend/chrome_profiler.json
.fast-check/

View File

@@ -1,14 +0,0 @@
{
"mcpServers": {
"svelte": {
"type": "http",
"url": "https://mcp.svelte.dev/mcp"
}
},
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"python.analysis.typeCheckingMode": "basic"
}

View File

@@ -1,75 +0,0 @@
main_branch: main
merge_strategy: rebase
# worktree_dir: .worktrees
worktree_naming: basename
worktree_prefix: ""
# Default: "wm-"
window_prefix: "wm-"
auto_name:
model: "claude-sonnet-4.6"
system_prompt: |
Generate a concise git branch name based on the task description.
Rules:
- Use kebab-case (lowercase with hyphens)
- Keep it short: 1-3 words, max 4 if necessary
- Focus on the core task/feature, not implementation details
- No prefixes like feat/, fix/, chore/
Examples of good branch names:
- "Add dark mode toggle" → dark-mode
- "Fix the search results not showing" → fix-search
- "Refactor the authentication module" → auth-refactor
- "Add CSV export to reports" → export-csv
- "Shell completion is broken" → shell-completion
Output ONLY the branch name, nothing else.
background: true
# Commands to run in new worktree before tmux window opens.
# These block window creation - use for short tasks only.
# Use "<global>" to inherit from global config.
# Set to empty list to disable: `post_create: []`
# post_create:
# - "<global>"
# - mise use
post_create:
- ./scripts/worktree-env
pre_remove:
- ./scripts/worktree-cleanup
panes:
- command: >-
claude --append-system-prompt
"You are running inside a tmux session with other panes running services.\n
Pane layout (current window):\n
- Pane 0: this pane (claude agent)\n
- Pane 1: backend (cargo watch -x run)\n
- Pane 2: frontend (npm run dev)\n\n
To check logs, use: \`tmux capture-pane -t .1 -p -S -50\` (backend) or \`tmux capture-pane -t .2 -p -S -50\` (frontend).\n
When restarting backend or frontend, make sure to use the ports listed in .env.local.\n
Because we are running backend with cargo watch, to verify your changes, just check the logs in the backend pane. No need for cargo check."
focus: true
- command: 'ROOT="$(git rev-parse --show-toplevel)"; [ -f "$ROOT/.env.local" ] && source "$ROOT/.env.local"; cd "$ROOT/backend" && PORT=${BACKEND_PORT:-8000} cargo watch -x run'
split: horizontal
- command: 'ROOT="$(git rev-parse --show-toplevel)"; [ -f "$ROOT/.env.local" ] && source "$ROOT/.env.local"; cd "$ROOT/frontend" && npm install && npm run generate-backend-client && REMOTE=${REMOTE:-http://localhost:${BACKEND_PORT:-8000}} npm run dev -- --port ${FRONTEND_PORT:-3000} --host 0.0.0.0'
split: vertical
files:
copy:
- backend/.env
- scripts/
sandbox:
enabled: false
toolchain: off
# image, host_commands, and extra_mounts configured in global
# ~/.config/workmux/config.yaml — see README_WORKMUX_DEV.md for required
# extra_mounts (windmill-ee-private access in sandbox)

17020
CHANGELOG.md

File diff suppressed because it is too large Load Diff

View File

@@ -1,68 +0,0 @@
# Windmill Development Guide
## Overview
Windmill is an open-source developer platform for building internal tools, workflows, API integrations, background jobs, workflows, and user interfaces. See @windmill-overview.mdc for full platform details.
## New Feature Implementation Guidelines
When implementing new features in Windmill, follow these best practices:
- **Clean Code First**: Write clean, readable, and maintainable code. Prioritize clarity over cleverness.
- **Avoid Duplication at All Costs**: Before writing new code, thoroughly search for existing implementations that can be reused or extended.
- **Adapt Existing Code**: Refactor and generalize existing code when necessary to avoid logic duplication. Extract common patterns into reusable utilities.
- **Follow Established Patterns**: Study existing code patterns in the codebase and maintain consistency with established conventions.
- **Single Responsibility**: Each function, component, and module should have a single, well-defined responsibility.
- **Incremental Implementation**: Break large features into smaller, reviewable chunks that can be implemented and tested incrementally.
## Language-Specific Guides
- Backend (Rust): see `backend/CLAUDE.md` and the `rust-backend` skill: `.claude/skills/rust-backend/SKILL.md`
- Frontend (Svelte 5): see `frontend/CLAUDE.md` and the `svelte-frontend` skill: `.claude/skills/svelte-frontend/SKILL.md`
## Dev Environment
- **Backend**: `cargo run` from `backend/` (API at http://localhost:8000)
- **Frontend**: `REMOTE=http://localhost:8000 npm run dev` from `frontend/`
- The `REMOTE` env var configures the Vite proxy target. Without it, API calls proxy to `https://app.windmill.dev` instead of the local backend.
- The dev server starts on port 3000 (or 3001+ if 3000 is in use).
- **Default login**: `admin@windmill.dev` / `changeme`
- **Instance settings**: navigate to `/#superadmin-settings` (opens the drawer overlay)
## UI Testing with Playwright MCP
When testing the frontend with the Playwright MCP tools:
1. **Start servers**: Launch backend (`cargo run`) and frontend (`REMOTE=http://localhost:8000 npm run dev`) as background tasks
2. **Wait for readiness**: Backend takes ~60s to compile; check output for `health check completed`. Frontend starts in ~5s.
3. **Login flow**: Navigate to `/user/login`, click "Log in without third-party", fill email/password, submit
4. **Instance settings drawer**: Navigate to `/#superadmin-settings` to open the drawer directly
5. **Toggle components**: The YAML toggle uses a custom `<Toggle>` component where the checkbox is visually hidden (`sr-only`). Click the wrapper `<label>` element (the parent container with `cursor=pointer`), not the checkbox ref directly.
6. **Console errors to ignore**: `critical_alerts` 404s are expected on CE builds (EE-only endpoint). VSCode worker 404s are dev-mode artifacts.
## Code Validation (MUST DO)
After making code changes, you MUST run the appropriate checks and fix all errors before considering the work done:
- **Backend**: Run `cargo check` from the `backend/` directory. Only enable the feature flags needed for the code you changed — check `backend/Cargo.toml` `[features]` section to identify which flags gate the crates/modules you modified. For example: `cargo check --features enterprise,parquet` if you only touched enterprise and parquet code.
- **Frontend**: Run `npm run check` from the `frontend/` directory.
## Querying the Database
`backend/summarized_schema.txt` provides a compact overview of all tables, columns, types, ENUMs, and foreign keys. Use it to quickly understand the data model and relationships. Note: this file is a simplified summary — it omits indexes, constraints details, and other metadata.
For exact table definitions (indexes, constraints, column defaults, etc.), query the database directly:
```bash
psql postgres://postgres:changeme@localhost:5432/windmill
```
Useful psql commands:
- `\d <table_name>` — full table definition with indexes and constraints
- `\di <table_name>*` — list indexes for a table
- `\d+ <table_name>` — extended table info including storage and descriptions
This is also helpful for:
- Inspecting database state during development
- Testing queries before implementing them in Rust
- Debugging data-related issues

View File

@@ -1,35 +1,15 @@
{
auto_https off
layer4 {
:25 {
proxy {
to windmill_server:2525
}
}
}
}
http://{$BASE_URL} {
{$BASE_URL} {
bind {$ADDRESS}
reverse_proxy /ws/* http://lsp:3001
# LSP - Language Server Protocol for code intelligence (windmill_extra:3001)
reverse_proxy /ws/* http://windmill_extra:3001
# Multiplayer - Real-time collaboration, Enterprise Edition (windmill_extra:3002)
# Uncomment and set ENABLE_MULTIPLAYER=true in docker-compose.yml
# reverse_proxy /ws_mp/* http://windmill_extra:3002
# Debugger - Interactive debugging via DAP WebSocket (windmill_extra:3003)
# Set ENABLE_DEBUGGER=true in docker-compose.yml to enable
handle_path /ws_debug/* {
reverse_proxy http://windmill_extra:3003
}
# Search indexer, Enterprise Edition (windmill_indexer:8002)
# reverse_proxy /api/srch/* http://windmill_indexer:8002
# Default: Windmill server
reverse_proxy /* http://windmill_server:8000
}
# TLS with custom certificates
# tls /certs/cert.pem /certs/key.pem
https://{$BASE_URL} {
bind {$ADDRESS}
reverse_proxy /ws/* http://localhost:3001
}
}

View File

@@ -1,65 +1,49 @@
ARG DEBIAN_IMAGE=debian:bookworm-slim
ARG RUST_IMAGE=rust:1.93-slim-bookworm
FROM debian:bookworm-slim AS nsjail
FROM debian:buster-slim as nsjail
WORKDIR /nsjail
RUN apt-get -y update \
ARG nsjail=""
RUN if [ "$nsjail" = "true" ]; then apt-get -y update \
&& apt-get install -y \
bison=2:3.8.* \
bison=2:3.3.* \
flex=2.6.* \
g++=4:12.2.* \
gcc=4:12.2.* \
git=1:2.39.* \
libprotobuf-dev=3.21.* \
libnl-route-3-dev=3.7.* \
make=4.3-4.1 \
pkg-config=1.8.* \
protobuf-compiler=3.21.*
g++=4:8.3.* \
gcc=4:8.3.* \
git=1:2.20.* \
libprotobuf-dev=3.6.* \
libnl-route-3-dev=3.4.* \
make=4.2.* \
pkg-config=0.29-6 \
protobuf-compiler=3.6.*; fi
RUN git clone -b master --single-branch https://github.com/google/nsjail.git . && git checkout dccf911fd2659e7b08ce9507c25b2b38ec2c5800
RUN make
FROM ${RUST_IMAGE} AS rust_base
RUN if [ "$nsjail" = "true" ]; then git clone -b master --single-branch https://github.com/google/nsjail.git . \
&& git checkout dccf911fd2659e7b08ce9507c25b2b38ec2c5800; fi
RUN if [ "$nsjail" = "true" ]; then make; else touch nsjail; fi
RUN apt-get update && apt-get install -y git libssl-dev pkg-config npm mold clang
FROM rust:slim-buster AS rust_base
RUN apt-get update && apt-get install -y git libssl-dev pkg-config npm
RUN apt-get -y update \
&& apt-get install -y \
curl nodejs
curl lld nodejs npm
RUN rustup component add rustfmt
RUN CARGO_NET_GIT_FETCH_WITH_CLI=true cargo install cargo-chef --version 0.1.68
RUN cargo install sccache --version ^0.8
ENV RUSTC_WRAPPER=sccache SCCACHE_DIR=/backend/sccache
RUN CARGO_NET_GIT_FETCH_WITH_CLI=true cargo install cargo-chef
WORKDIR /windmill
ENV SQLX_OFFLINE=true
# ENV CARGO_INCREMENTAL=1
ENV CARGO_INCREMENTAL=1
FROM rust_base AS windmill_duckdb_ffi_internal_builder
WORKDIR /windmill-duckdb-ffi-internal
RUN apt-get update && apt-get install -y clang=1:14.0-55.* libclang-dev=1:14.0-55.* cmake=3.25.* && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY ./backend/windmill-duckdb-ffi-internal .
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=$SCCACHE_DIR,sharing=locked \
cargo build --release -p windmill_duckdb_ffi_internal
FROM node:24-alpine as frontend
FROM node:19-alpine as frontend
# install dependencies
WORKDIR /frontend
COPY ./frontend/package.json ./frontend/package-lock.json ./
COPY ./frontend/scripts/ ./scripts/
RUN npm ci
# Copy all local files into the image.
@@ -68,19 +52,13 @@ RUN mkdir /backend
COPY /backend/windmill-api/openapi.yaml /backend/windmill-api/openapi.yaml
COPY /openflow.openapi.yaml /openflow.openapi.yaml
COPY /backend/windmill-api/build_openapi.sh /backend/windmill-api/build_openapi.sh
COPY /system_prompts/auto-generated /system_prompts/auto-generated
RUN cd /backend/windmill-api && . ./build_openapi.sh
COPY /backend/parsers/windmill-parser-wasm/pkg/ /backend/parsers/windmill-parser-wasm/pkg/
COPY /typescript-client/docs/ /frontend/static/tsdocs/
COPY /python-client/docs/ /frontend/static/pydocs/
RUN npm run generate-backend-client
ENV NODE_OPTIONS "--max-old-space-size=8192"
ARG VITE_BASE_URL ""
# Read more about macro in docker/dev.nu
# -- MACRO-SPREAD-WASM-PARSER-DEV-ONLY -- #
RUN npm run build
RUN npm run check
FROM rust_base AS planner
@@ -88,121 +66,51 @@ FROM rust_base AS planner
COPY ./openflow.openapi.yaml /openflow.openapi.yaml
COPY ./backend ./
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=$SCCACHE_DIR,sharing=locked \
CARGO_NET_GIT_FETCH_WITH_CLI=true cargo chef prepare --recipe-path recipe.json
RUN CARGO_NET_GIT_FETCH_WITH_CLI=true cargo chef prepare --recipe-path recipe.json
FROM rust_base AS builder
ARG features=""
COPY --from=planner /windmill/recipe.json recipe.json
RUN apt-get update && apt-get install -y libxml2-dev=2.9.* libxmlsec1-dev=1.2.* libkrb5-dev libsasl2-dev libcurl4-openssl-dev clang=1:14.0-55.* libclang-dev=1:14.0-55.* cmake=3.25.* && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=$SCCACHE_DIR,sharing=locked \
CARGO_NET_GIT_FETCH_WITH_CLI=true RUST_BACKTRACE=1 cargo chef cook --release --features "$features" --recipe-path recipe.json
RUN CARGO_NET_GIT_FETCH_WITH_CLI=true cargo chef cook --release --features "$features" --recipe-path recipe.json
COPY ./openflow.openapi.yaml /openflow.openapi.yaml
COPY ./backend ./
RUN mkdir -p /frontend
COPY --from=frontend /frontend/build /frontend/build
COPY --from=frontend /frontend /frontend
COPY --from=frontend /backend/windmill-api/openapi-deref.yaml ./windmill-api/openapi-deref.yaml
COPY .git/ .git/
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=$SCCACHE_DIR,sharing=locked \
CARGO_NET_GIT_FETCH_WITH_CLI=true cargo build --release --features "$features"
RUN CARGO_NET_GIT_FETCH_WITH_CLI=true cargo build --release --features "$features"
FROM ${DEBIAN_IMAGE}
ARG TARGETPLATFORM
ARG POWERSHELL_VERSION=7.5.0
ARG POWERSHELL_DEB_VERSION=7.5.0-1
ARG KUBECTL_VERSION=1.28.7
ARG HELM_VERSION=3.14.3
# NOTE: If changing, also change go version in workspace dependencies template at WorkspaceDependenciesEditor.svelte
ARG GO_VERSION=1.25.0
FROM python:3.11.2-slim-buster
ARG APP=/usr/src/app
ARG WITH_POWERSHELL=true
ARG WITH_KUBECTL=true
ARG WITH_HELM=true
ARG WITH_GIT=true
ARG features=""
# To change latest stable version:
# 1. Change placeholder in instanceSettings.ts
# 2. Change LATEST_STABLE_PY in dockerfile
# 3. Change #[default] annotation for PyVersion in backend
ARG LATEST_STABLE_PY=3.12
ENV UV_PYTHON_INSTALL_DIR=/tmp/windmill/cache/py_runtime
ENV UV_PYTHON_PREFERENCE=only-managed
RUN mkdir -p /usr/local/uv
ENV UV_TOOL_BIN_DIR=/usr/local/bin
ENV UV_TOOL_DIR=/usr/local/uv
ENV PATH /usr/local/bin:/root/.local/bin:/tmp/.local/bin:$PATH
RUN apt-get update \
&& apt-get install -y --no-install-recommends netbase tzdata ca-certificates wget curl jq unzip build-essential unixodbc xmlsec1 software-properties-common tini \
&& if echo "$features" | grep -q "ee"; then apt-get install -y --no-install-recommends libsasl2-modules-gssapi-mit krb5-user; fi \
&& apt-get clean \
&& apt-get install -y ca-certificates wget curl git jq libprotobuf-dev libnl-route-3-dev unzip \
&& apt-get install -y ca-certificates wget curl git jq libprotobuf-dev libnl-route-3-dev unzip build-essential \
&& rm -rf /var/lib/apt/lists/*
RUN if [ "$WITH_GIT" = "true" ]; then \
apt-get update -y \
&& apt-get install -y git \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*; \
else echo 'Building the image without git'; fi;
RUN if [ "$WITH_POWERSHELL" = "true" ]; then \
if [ "$TARGETPLATFORM" = "linux/amd64" ]; then apt-get update -y && apt install libicu-dev -y && wget -O 'pwsh.deb' "https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell_${POWERSHELL_DEB_VERSION}.deb_amd64.deb" && apt-get clean \
&& rm -rf /var/lib/apt/lists/* && \
dpkg --install 'pwsh.deb' && \
rm 'pwsh.deb'; \
elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then apt-get update -y && apt install libicu-dev -y && wget -O powershell.tar.gz "https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-arm64.tar.gz" && apt-get clean \
&& rm -rf /var/lib/apt/lists/* && \
mkdir -p /opt/microsoft/powershell/7 && \
tar zxf powershell.tar.gz -C /opt/microsoft/powershell/7 && \
chmod +x /opt/microsoft/powershell/7/pwsh && \
ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh && \
rm powershell.tar.gz; \
else echo 'Could not install pwshell, not on amd64 or arm64'; fi; \
else echo 'Building the image without powershell'; fi
RUN if [ "$WITH_HELM" = "true" ]; then \
arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
wget "https://get.helm.sh/helm-v${HELM_VERSION}-linux-$arch.tar.gz" && \
tar -zxvf "helm-v${HELM_VERSION}-linux-$arch.tar.gz" && \
mv linux-$arch/helm /usr/local/bin/helm &&\
chmod +x /usr/local/bin/helm; \
else echo 'Building the image without helm'; fi
RUN if [ "$WITH_KUBECTL" = "true" ]; then \
arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
curl -LO "https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/$arch/kubectl" && \
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl; \
else echo 'Building the image without kubectl'; fi
RUN arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
curl -o rclone.zip "https://downloads.rclone.org/v1.60.1/rclone-v1.60.1-linux-$arch.zip"; \
unzip -p rclone.zip rclone-v1.60.1-linux-$arch/rclone > /usr/bin/rclone; rm rclone.zip; \
chown root:root /usr/bin/rclone; chmod 755 /usr/bin/rclone
RUN set -eux; \
arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
url=; \
case "$arch" in \
"amd64") \
targz="go${GO_VERSION}.linux-amd64.tar.gz"; \
'amd64') \
targz='go1.19.3.linux-amd64.tar.gz'; \
;; \
"arm64") \
targz="go${GO_VERSION}.linux-arm64.tar.gz"; \
'arm64') \
targz='go1.19.3.linux-arm64.tar.gz'; \
;; \
"armhf") \
targz="go${GO_VERSION}.linux-armv6l.tar.gz"; \
'armhf') \
targz='go1.19.3.linux-armv6l.tar.gz'; \
;; \
*) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \
esac; \
@@ -211,93 +119,20 @@ RUN set -eux; \
ENV PATH="${PATH}:/usr/local/go/bin"
ENV GO_PATH=/usr/local/go/bin/go
# Install UV
RUN curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.9.24/uv-installer.sh | sh && mv /root/.local/bin/uv /usr/local/bin/uv
# Preinstall python runtimes to temp build location (will copy with world-writable perms later)
RUN UV_CACHE_DIR=/tmp/build_cache/uv UV_PYTHON_INSTALL_DIR=/tmp/build_cache/py_runtime uv python install 3.11
RUN UV_CACHE_DIR=/tmp/build_cache/uv UV_PYTHON_INSTALL_DIR=/tmp/build_cache/py_runtime uv python install $LATEST_STABLE_PY
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
RUN apt-get -y update && apt-get install -y curl procps nodejs awscli && apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# go build is slower the first time it is ran, so we prewarm it in the build
# This mirrors Windmill's Go wrapper structure: main.go imports inner package, uses encoding/json, os, fmt
RUN export GOCACHE=/tmp/build_cache/go && \
mkdir -p /tmp/gobuildwarm/inner && \
cd /tmp/gobuildwarm && \
go mod init mymod && \
printf 'package main\nimport (\n\t"encoding/json"\n\t"os"\n\t"fmt"\n\t"mymod/inner"\n)\nfunc main() {\n\tdat, _ := os.ReadFile("args.json")\n\tvar req inner.Req\n\tjson.Unmarshal(dat, &req)\n\tres, _ := inner.Run(req)\n\tres_json, _ := json.Marshal(res)\n\tfmt.Println(string(res_json))\n}' > main.go && \
printf 'package inner\ntype Req struct {\n\tX int `json:"x"`\n}\nfunc Run(req Req) (interface{}, error) {\n\treturn main(req.X)\n}\nfunc main(x int) (interface{}, error) {\n\treturn x, nil\n}' > inner/inner.go && \
go build -x . && \
rm -rf /tmp/gobuildwarm
# Copy build caches to final location, then add write permissions for any UID
# chmod a+rw adds read+write WITHOUT removing execute bits (755->777, 644->666)
# Note: uv python install only creates py_runtime, not uv cache - we create uv/go dirs for runtime
RUN mkdir -p /tmp/windmill/cache && \
cp -r /tmp/build_cache/* /tmp/windmill/cache/ && \
chmod -R a+rw /tmp/windmill/cache && \
rm -rf /tmp/build_cache && \
mkdir -p -m 777 /tmp/windmill/cache/uv /tmp/windmill/cache/go /tmp/windmill/cache/rustup /tmp/windmill/cache/cargo
# Runtime cache locations
ENV UV_CACHE_DIR=/tmp/windmill/cache/uv
ENV UV_PYTHON_INSTALL_DIR=/tmp/windmill/cache/py_runtime
ENV GOCACHE=/tmp/windmill/cache/go
ENV TZ=Etc/UTC
COPY --from=builder /frontend/build /static_frontend
RUN /usr/local/bin/python3 -m pip install pip-tools
COPY --from=builder /windmill/target/release/windmill ${APP}/windmill
COPY --from=windmill_duckdb_ffi_internal_builder /windmill-duckdb-ffi-internal/target/release/libwindmill_duckdb_ffi_internal.so ${APP}/libwindmill_duckdb_ffi_internal.so
COPY --from=denoland/deno:2.2.1 --chmod=755 /usr/bin/deno /usr/bin/deno
COPY --from=oven/bun:1.3.8 /usr/local/bin/bun /usr/bin/bun
# Install windmill CLI
RUN bun install -g windmill-cli \
&& ln -s $(bun pm bin -g)/wmill /usr/bin/wmill
COPY --from=php:8.3.7-cli /usr/local/bin/php /usr/bin/php
COPY --from=composer:2.7.6 /usr/bin/composer /usr/bin/composer
# add the docker client to call docker from a worker if enabled
COPY --from=docker:dind /usr/local/bin/docker /usr/local/bin/
ENV RUSTUP_HOME="/tmp/windmill/cache/rustup"
ENV CARGO_HOME="/tmp/windmill/cache/cargo"
ENV LD_LIBRARY_PATH="."
# nsjail runtime deps and binary
RUN apt-get update && apt-get install -y libprotobuf-dev libnl-route-3-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
COPY --from=nsjail /nsjail/nsjail /bin/nsjail
COPY --from=denoland/deno:latest /usr/bin/deno /usr/bin/deno
RUN mkdir -p ${APP}
WORKDIR ${APP}
RUN ln -s ${APP}/windmill /usr/local/bin/windmill
COPY ./frontend/src/lib/hubPaths.json ${APP}/hubPaths.json
RUN windmill cache ${APP}/hubPaths.json && rm ${APP}/hubPaths.json
RUN windmill cache-rt
# Create a non-root user 'windmill' with UID and GID 1000
RUN addgroup --gid 1000 windmill && \
adduser --disabled-password --gecos "" --uid 1000 --gid 1000 windmill
# /tmp/.cache may be created by earlier build steps with 755; chmod ensures any UID can write
RUN mkdir -p -m 777 /tmp/windmill/logs /tmp/windmill/search /tmp/.cache && chmod 777 /tmp/.cache
# Make directories world-accessible for any UID
# (cache files already have 666 from umask copy above, cache_nomount is read-only)
RUN find ${APP} /tmp/windmill -type d -exec chmod 777 {} +
EXPOSE 8000
CMD ["windmill"]
CMD ["./windmill"]

View File

@@ -1,234 +0,0 @@
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
ca-certificates \
git \
iptables \
gosu \
sudo \
unzip \
# Rust native build deps (for cargo check)
pkg-config \
cmake \
clang \
mold \
libtool \
libssl-dev \
libxml2-dev \
libxmlsec1-dev \
libxslt1-dev \
libffi-dev \
zlib1g-dev \
libcurl4-openssl-dev \
libclang-dev \
libkrb5-dev \
libsasl2-dev \
# PostgreSQL (for local DB during development)
postgresql \
postgresql-client \
# Node.js 22 (for npm run check / frontend dev)
&& curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y --no-install-recommends nodejs \
&& rm -rf /var/lib/apt/lists/* \
# Container runs as arbitrary UIDs (--user uid:gid). These three lines make
# sudo work for any UID:
# 1) NOPASSWD rule so sudo never prompts for a password
# 2) Writable passwd/group so the entrypoint can register the dynamic UID
# 3) Writable shadow so unix_chkpwd can validate the account (without this,
# sudo fails with "account validation failure, is your account locked?")
&& echo "ALL ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sandbox \
&& chmod 0440 /etc/sudoers.d/sandbox \
&& chmod 666 /etc/passwd /etc/group /etc/shadow
# ── GitHub CLI (for PR creation) ──────────────────────────────────────────────
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
-o /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
> /etc/apt/sources.list.d/github-cli.list \
&& apt-get update && apt-get install -y --no-install-recommends gh \
&& rm -rf /var/lib/apt/lists/*
# ── Rust toolchain ────────────────────────────────────────────────────────────
# Install under /usr/local/lib/ so bins are world-readable with default umask.
# CARGO_HOME is overridden to /tmp/.cargo at the end for mutable runtime state.
ENV RUSTUP_HOME=/usr/local/lib/rustup CARGO_HOME=/usr/local/lib/cargo
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
sh -s -- -y --default-toolchain stable --profile minimal && \
ln -s /usr/local/lib/cargo/bin/* /usr/local/bin/
RUN cargo install sqlx-cli --no-default-features --features native-tls,postgres && \
cargo install cargo-watch && \
ln -sf /usr/local/lib/cargo/bin/sqlx /usr/local/bin/sqlx && \
ln -sf /usr/local/lib/cargo/bin/cargo-watch /usr/local/bin/cargo-watch
# ── Register dynamic runtime users ───────────────────────────────────────────
RUN cat <<'SCRIPT' > /usr/local/bin/register-dynamic-user.sh
#!/bin/sh
set -eu
uid="${1:-}"
gid="${2:-}"
if [ -z "$uid" ] || [ -z "$gid" ]; then
echo "register-dynamic-user: usage: register-dynamic-user <uid> <gid>" >&2
exit 1
fi
if ! getent group "$gid" >/dev/null 2>&1; then
echo "sandbox:x:${gid}:" >> /etc/group
fi
if ! getent passwd "$uid" >/dev/null 2>&1; then
echo "sandbox:x:${uid}:${gid}:sandbox:/tmp:/bin/sh" >> /etc/passwd
fi
# Add a shadow entry ("*" = no password) so unix_chkpwd doesn't reject sudo.
if ! grep -q "^sandbox:" /etc/shadow 2>/dev/null; then
echo "sandbox:*:19000:0:99999:7:::" >> /etc/shadow
fi
SCRIPT
RUN chmod +x /usr/local/bin/register-dynamic-user.sh
# ── Network init script (iptables firewall + privilege drop) ──────────────────
RUN cat <<'SCRIPT' > /usr/local/bin/network-init.sh
#!/bin/bash
set -euo pipefail
if [ -n "${WM_PROXY_HOST:-}" ] && [ -n "${WM_PROXY_PORT:-}" ]; then
# Resolve hostnames to ALL IPs (multi-A records, round-robin DNS)
PROXY_IPS=$(getent ahostsv4 "$WM_PROXY_HOST" | awk '{print $1}' | sort -u)
RPC_HOST="${WM_RPC_HOST:-$WM_PROXY_HOST}"
RPC_IPS=$(getent ahostsv4 "$RPC_HOST" | awk '{print $1}' | sort -u)
if [ -z "$PROXY_IPS" ] || [ -z "$RPC_IPS" ]; then
echo "network-init: failed to resolve proxy/RPC host" >&2
exit 1
fi
# IPv4: default deny outbound
iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow DNS (UDP/TCP 53) to configured nameservers.
if [ -f /etc/resolv.conf ]; then
grep '^nameserver' /etc/resolv.conf | awk '{print $2}' | while read -r ns; do
iptables -A OUTPUT -d "$ns" -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -d "$ns" -p tcp --dport 53 -j ACCEPT
done
fi
# Allow ALL resolved proxy IPs (handles multi-A DNS)
for ip in $PROXY_IPS; do
iptables -A OUTPUT -d "$ip" -p tcp --dport "$WM_PROXY_PORT" -j ACCEPT
done
# Allow ALL resolved RPC IPs
if [ -n "${WM_RPC_PORT:-}" ]; then
for ip in $RPC_IPS; do
iptables -A OUTPUT -d "$ip" -p tcp --dport "$WM_RPC_PORT" -j ACCEPT
done
fi
# Reject (not drop) everything else to fail fast instead of hanging
iptables -A OUTPUT -j REJECT
# IPv6: block entirely to prevent leaks (fail closed)
if ip6tables -L -n >/dev/null 2>&1; then
ip6tables -P OUTPUT DROP
ip6tables -A OUTPUT -o lo -j ACCEPT
ip6tables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A OUTPUT -j REJECT
else
if ! sysctl -w net.ipv6.conf.all.disable_ipv6=1 2>/dev/null; then
echo "network-init: failed to block IPv6 (neither ip6tables nor sysctl available)" >&2
exit 1
fi
fi
fi
# Add sandbox user/group so sudo works after dropping privileges.
if [ -z "${WM_TARGET_UID:-}" ] || [ -z "${WM_TARGET_GID:-}" ]; then
echo "network-init: WM_TARGET_UID and WM_TARGET_GID are required" >&2
exit 1
fi
/usr/local/bin/register-dynamic-user.sh "${WM_TARGET_UID}" "${WM_TARGET_GID}"
# Fix PTY ownership so the unprivileged user can read/write the terminal.
if [ -t 0 ]; then
chown "${WM_TARGET_UID}:${WM_TARGET_GID}" "$(tty)"
fi
# Drop privileges and exec the user command.
exec gosu "${WM_TARGET_UID}:${WM_TARGET_GID}" env HOME=/tmp "$@"
SCRIPT
RUN chmod +x /usr/local/bin/network-init.sh
# ── workmux (sandbox RPC) ────────────────────────────────────────────────────
RUN curl -fsSL https://raw.githubusercontent.com/raine/workmux/main/scripts/install.sh | bash
# ── Claude Code ───────────────────────────────────────────────────────────────
RUN curl -fsSL https://claude.ai/install.sh | bash && \
target="$(readlink -f /root/.local/bin/claude)" && \
mv /root/.local/share/claude /usr/local/lib/claude && \
ln -s "/usr/local/lib/claude/versions/$(basename "$target")" /usr/local/bin/claude && \
mkdir -p /tmp/.local/bin && \
ln -s /usr/local/bin/claude /tmp/.local/bin/claude
# ── Codex ─────────────────────────────────────────────────────────────────────
RUN npm i -g @openai/codex
# ── Bun ───────────────────────────────────────────────────────────────────────
ENV BUN_INSTALL=/usr/local/lib/bun
RUN curl -fsSL https://bun.sh/install | bash && \
ln -s /usr/local/lib/bun/bin/bun /usr/local/bin/bun && \
ln -s /usr/local/lib/bun/bin/bunx /usr/local/bin/bunx
# ── Playwright + Chromium (for screenshots) ──────────────────────────────────
ENV PLAYWRIGHT_BROWSERS_PATH=/usr/local/lib/playwright-browsers
RUN bun add -g @playwright/test \
&& bunx playwright install chromium --with-deps \
&& chmod -R a+rwX /usr/local/lib/playwright-browsers \
&& rm -rf /var/lib/apt/lists/* /tmp/bunx-*
# ── AWS CLI (for S3-compatible uploads to R2) ─────────────────────────────────
RUN curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip \
&& unzip -q /tmp/awscliv2.zip -d /tmp \
&& /tmp/aws/install \
&& rm -rf /tmp/aws /tmp/awscliv2.zip
ENV AWS_DEFAULT_REGION=auto
# ── Runtime env for arbitrary UID ─────────────────────────────────────────────
# Mutable state goes to /tmp (writable by any UID). Toolchains stay read-only.
ENV CARGO_HOME=/tmp/.cargo BUN_TMPDIR=/tmp
# ── Entrypoint ────────────────────────────────────────────────────────────────
RUN cat <<'ENTRY' > /usr/local/bin/entrypoint.sh
#!/bin/sh
/usr/local/bin/register-dynamic-user.sh "$(id -u)" "$(id -g)"
# Start PostgreSQL (unix socket in /tmp, owned by postgres user)
mkdir -p /tmp/pgdata && sudo chown postgres:postgres /tmp/pgdata
if [ ! -f /tmp/pgdata/PG_VERSION ]; then
sudo -u postgres /usr/lib/postgresql/15/bin/initdb -D /tmp/pgdata --auth=trust
fi
sudo -u postgres /usr/lib/postgresql/15/bin/pg_ctl -D /tmp/pgdata -l /tmp/pg.log start -o "-k /tmp"
sudo -u postgres psql -h /tmp -c "CREATE ROLE sandbox SUPERUSER LOGIN" 2>/dev/null || true
sudo -u postgres createdb -h /tmp windmill 2>/dev/null || true
# Run database migrations so sqlx compile-time checks work
if [ -d "$PWD/backend/migrations" ]; then
DATABASE_URL="postgres://sandbox@localhost/windmill?host=/tmp" \
sqlx migrate run --source "$PWD/backend/migrations" 2>/dev/null || true
fi
# Install frontend dependencies and generate backend client
if [ -d "$PWD/frontend" ]; then
(cd "$PWD/frontend" && npm install && npm run generate-backend-client) 2>/dev/null || true
fi
exec "$@"
ENTRY
RUN chmod +x /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

40
LICENSE
View File

@@ -1,34 +1,12 @@
Source code in this repository is variously licensed under the Apache License
Version 2.0 (see file ./LICENSE-APACHE), or the AGPLv3 License (see file
./LICENSE-AGPL) and a proprietary license for certain enterprise features.
Version 2.0 (see file ./LICENSE-APACHE),or the AGPLv3 License (see file ./LICENSE-AGPL)
Every file is under copyright (c) Windmill Labs, Inc 2022 unless otherwise
specified. Every file is under License AGPL unless otherwise specified or
belonging to one of the below cases:
Every file is under copyright (c) Windmill Labs, Inc 2022 unless otherwise specified.
Every file is under License AGPL unless otherwise specified
or belonging to one of the below cases:
The files under backend/ are AGPLv3 Licensed, except any snippets of code under
the compile flag "enterprise". Those snippets and files are under a proprietary
and commercial license. The files under frontend/ are AGPLv3 Licensed, except
any snippets of code that require a positive license check to be activated.
Those snippets and files are under a proprietary and commercial license. Private
and public forks MUST not include any of the above proprietary and commercial
code. The files under python-client/ deno-client/ go-client/ powershell-client/
are Apache 2.0 Licensed. The openapi files, including the OpenFlow spec is
Apache 2.0 Licensed.
The binary compilable from source code in this repository without the
"enterprise" feature flag is open-source under the AGPLv3 License terms and
conditions.
The "Community Edition" of Windmill available in the docker images hosted under
ghcr.io/windmill-labs/windmill and the github binary releases contains the files
under the AGPLv3 and Apache 2 sources but also includes proprietary and
non-public code and features which are not open source and under the following
terms: Windmill Labs, Inc. grants a right to use all the features of the
"Community Edition" for free without restrictions other than the limits and
quotas set in the software and a right to distribute the community edition as is
but not to sell, resell, serve as a managed service, modify or wrap under any
form without an explicit agreement.
All third party components incorporated into the Windmill Software are licensed
under the original license provided by the owner of the applicable component.
The files under backend/ are AGPL Licensed.
The files under frontend/ are AGPL Licensed.
The files under python-client/ are Apache 2.0 Licensed.
The files under community/ are Apache 2.0 Licensed.

460
README.md
View File

@@ -1,177 +1,162 @@
<p align="center">
<a href="https://www.windmill.dev/"><img src="./imgs/windmill-banner.png" alt="windmill.dev"></a>
<a href="https://app.windmill.dev"><img src="./imgs/windmill-banner.png" alt="windmill.dev"></a>
</p>
<p align="center">
<em>.</em>
</p>
<p align=center>
Open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Self-hostable alternative to Retool, Pipedream, Superblocks and a simplified Temporal with autogenerated UIs and custom UIs to trigger workflows and scripts as internal apps.
<p align=center>
Scripts are turned into sharable UIs automatically, and can be composed together into flows or used into richer apps built with low-code. Supported languages: Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell, Rust, and more.
Open-source developer infrastructure for internal tools. Self-hostable alternative to Airplane, Pipedream, Superblocks and a simplified Temporal with autogenerated UIs to trigger workflows and scripts as internal apps. Scripts are turned into UIs and no-code modules, no-code modules can be composed into very rich flows, and script and flows can be triggered from internal UIs made with a low-code builder. The script languages supported are: Python, Typescript, Go, Bash, SQL.
</p>
<p align="center">
<a href="https://github.com/windmill-labs/windmill/blob/main/LICENSE-AGPL" target="_blank">
<img src="https://img.shields.io/badge/License-AGPLv3-blue.svg" alt="Package version">
</a>
<a href="https://github.com/windmill-labs/windmill/actions/workflows/docker-image.yml" target="_blank">
<img src="https://github.com/windmill-labs/windmill/actions/workflows/docker-image.yml/badge.svg" alt="Docker Image CI">
</a>
<a href="https://pypi.org/project/wmill" target="_blank">
<img src="https://img.shields.io/pypi/v/wmill?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
</p>
<p align="center">
<a href="https://img.shields.io/github/commit-activity/m/windmill-labs/windmill" target="_blank">
<img src="https://img.shields.io/github/commit-activity/m/windmill-labs/windmill" alt="Commit activity">
</a>
<a href="https://discord.gg/V7PM2YHsPB" target="_blank">
<img src="https://discordapp.com/api/guilds/930051556043276338/widget.png" alt="Discord Shield"/>
</a>
</p>
<p align="center">
<a href="https://app.windmill.dev">Try it</a> - <a href="https://www.windmill.dev/">Website</a> - <a href="https://www.windmill.dev/docs/intro/">Docs</a> - <a href="https://discord.gg/V7PM2YHsPB">Discord</a> - <a href="https://hub.windmill.dev">Hub</a> - <a href="https://www.windmill.dev/docs/misc/contributing">Contributor's guide</a>
<a href="https://app.windmill.dev">Try it</a> - <a href="https://docs.windmill.dev/docs/intro/">Docs</a> - <a href="https://discord.gg/V7PM2YHsPB">Discord</a> - <a href="https://hub.windmill.dev">Hub</a> - <a href="https://docs.windmill.dev/docs/misc/contributing">Contributor's guide</a>
</p>
# Windmill - Developer platform for APIs, background jobs, workflows and UIs
# Windmill - Turn scripts into workflows and UIs that you can share and run at scale
Windmill is fully open-sourced (AGPLv3) and Windmill Labs offers dedicated instances and commercial support and licenses.
Windmill is <b>fully open-sourced (AGPLv3)</b> and Windmill Labs offers dedicated instance and commercial support and licenses.
![Windmill Diagram](./imgs/stacks.svg)
![Windmill Diagram](/imgs/stacks.svg)
https://github.com/user-attachments/assets/d80de1d9-64de-4d89-aacd-6df23fa81fc4
https://user-images.githubusercontent.com/275584/218350457-bc2fdc3b-e667-4da5-a2bd-3bacc1f0ec79.mp4
- [Windmill - Developer platform for APIs, background jobs, workflows and UIs](#windmill---developer-platform-for-apis-background-jobs-workflows-and-uis)
- [Windmill - Turn scripts into workflows and UIs that you can share and run at scale](#windmill---turn-scripts-into-workflows-and-uis-that-you-can-share-and-run-at-scale)
- [Main Concepts](#main-concepts)
- [Show me some actual script code](#show-me-some-actual-script-code)
- [Local Development](#local-development)
- [CLI](#cli)
- [Running scripts locally](#running-scripts-locally)
- [Stack](#stack)
- [Fastest Self-Hostable Workflow Engine](#fastest-self-hostable-workflow-engine)
- [Security](#security)
- [Sandboxing](#sandboxing)
- [Secrets, credentials and sensitive values](#secrets-credentials-and-sensitive-values)
- [Performance](#performance)
- [Architecture](#architecture)
- [How to self-host](#how-to-self-host)
- [Docker compose](#docker-compose)
- [Kubernetes (Helm charts)](#kubernetes-helm-charts)
- [Cloud providers](#cloud-providers)
- [OAuth, SSO \& SMTP](#oauth-sso--smtp)
- [License](#license)
- [Integrations](#integrations)
- [Kubernetes (k8s) and Helm charts](#kubernetes-k8s-and-helm-charts)
- [Postgres without superuser](#postgres-without-superuser)
- [Commercial license](#commercial-license)
- [OAuth for self-hosting](#oauth-for-self-hosting)
- [Resource types](#resource-types)
- [Environment Variables](#environment-variables)
- [Run a local dev setup](#run-a-local-dev-setup)
- [Frontend only](#frontend-only)
- [only Frontend](#only-frontend)
- [Backend + Frontend](#backend--frontend)
- [Contributors](#contributors)
- [Copyright](#copyright)
## Main Concepts
1. Define a minimal and generic script in Python, TypeScript, Go or Bash that solves a specific task. The code can be defined in the provided Web IDE or synchronized with your own GitHub repo (e.g. through VS Code extension): [provided Web IDE](https://www.windmill.dev/docs/code_editor) or [synchronized with your own GitHub repo](https://www.windmill.dev/docs/advanced/cli/sync) (e.g. through [VS Code](https://www.windmill.dev/docs/cli_local_dev/vscode-extension) extension):
1. Define a minimal and generic script in Python, Typescript, Go or Bash that
solves a specific task. Here sending an email with SMTP. The code can be
defined in the provided Web IDE or synchronized with your own github repo:
![Step 1](./imgs/windmill-editor.png)
![Step 1](./imgs/windmill-editor.png)
2. Your scripts parameters are automatically parsed and generate a frontend.
![Step 2](./imgs/windmill-run.png) ![Step 3](./imgs/windmill-result.png)
2. Your scripts parameters are automatically parsed and [generate a frontend](https://www.windmill.dev/docs/core_concepts/auto_generated_uis).
3. Make it flow! You can chain your scripts or scripts made by the community
shared on [WindmillHub](https://hub.windmill.dev).
![Step 4](./imgs/windmill-flow.png)
![Step 2](./imgs/windmill-run.png)
4. Build complex UI on top of your scripts and flows.
![Step 5](./imgs/windmill-builder.png)
![Step 3](./imgs/windmill-result.png)
Scripts and flows can also be triggered by a cron schedule '*/5 * * * *' or
through webhooks.
3. Make it [flow](https://www.windmill.dev/docs/flows/flow_editor)! You can chain your scripts or scripts made by the community shared on [WindmillHub](https://hub.windmill.dev).
![Step 3](./imgs/windmill-flow.png)
4. Build [complex UIs](https://www.windmill.dev/docs/apps/app_editor) on top of your scripts and flows.
![Step 4](./imgs/windmill-builder.png)
Scripts and flows can be triggered by [schedules](https://www.windmill.dev/docs/core_concepts/scheduling), [webhooks](https://www.windmill.dev/docs/core_concepts/webhooks), [HTTP routes](https://www.windmill.dev/docs/core_concepts/http_routing), [Kafka](https://www.windmill.dev/docs/core_concepts/kafka_triggers), [WebSockets](https://www.windmill.dev/docs/core_concepts/websocket_triggers), [emails](https://www.windmill.dev/docs/core_concepts/email_triggers), and more.
Build your entire infra on top of Windmill!
You can build your entire infra on top of Windmill!
## Show me some actual script code
```typescript
import * as wmill from "https://deno.land/x/windmill@v1.62.0/mod.ts"
//import any dependency from npm
import * as wmill from "windmill-client";
import * as cowsay from "cowsay@1.5.0";
// fill the type, or use the +Resource type to get a type-safe reference to a resource
type Postgresql = {
host: string;
port: number;
user: string;
dbname: string;
sslmode: string;
password: string;
};
import cowsay from 'npm:cowsay@1.5.0'
export async function main(
a: number,
b: "my" | "enum",
c: Postgresql,
d = "inferred type string from default arg",
e = { nested: "object" }
//f: wmill.Base64
) {
const email = process.env["WM_EMAIL"];
// variables are permissioned and by path
let variable = await wmill.getVariable("f/company-folder/my_secret");
const lastTimeRun = await wmill.getState();
// logs are printed and always inspectable
console.log(cowsay.say({ text: "hello " + email + " " + lastTimeRun }));
await wmill.setState(Date.now());
a: number,
// unions generate enums
b: "my" | "enum",
// default parameters prefill the field
d = "default arg",
// nested objects work c = { nested: "object" },
// permissioned and typed json
db: wmill.Resource<"postgresql">) {
// return is serialized as JSON
return { foo: d, variable };
const email = Deno.env.get('WM_EMAIL')
// variables are permissioned and by path
let variable = await wmill.getVariable('f/company-folder/my_secret')
const lastTimeRun = await wmill.getState()
// logs are printed and always inspectable
console.log(cowsay.say({ text: "hello " + email + " " + lastTimeRun }))
await wmill.setState(Date.now())
// return is serialized as JSON
return { foo: d, variable };
}
```
## Local Development
## CLI
Windmill supports multiple ways to develop locally and sync with your instance:
We have a powerful CLI to interact with the windmill platform and sync your
scripts from local files, github repos and to run scripts and flows on the instance from local commands. See
[more details](https://github.com/windmill-labs/windmill/tree/main/cli)
| Tool | Description |
|------|-------------|
| **[CLI](https://www.windmill.dev/docs/advanced/cli)** | Sync scripts from local files or GitHub, run scripts/flows from the command line |
| **[VS Code Extension](https://www.windmill.dev/docs/cli_local_dev/vscode-extension)** | Edit and test scripts & flows directly from VS Code / Cursor with full IDE support |
| **[Git Sync](https://www.windmill.dev/docs/advanced/git_sync)** | Two-way sync between Windmill and your Git repository |
| **[Claude Code](https://www.windmill.dev/docs/core_concepts/ai_generation)** | AI-assisted development with Claude for scripts, flows, and apps |
![CLI Screencast](./cli/vhs/output/setup.gif)
https://github.com/user-attachments/assets/c541c326-e9ae-4602-a09a-1989aaded1e9
You can run scripts locally by passing the right environment variables for the `wmill` client library to fetch resources and variables from your instance. See [local development docs](https://www.windmill.dev/docs/advanced/local_development).
### Running scripts locally
You can run your script locally easily, you simply need to pass the right environment variables for the `wmill` client library to fetch resource and variables from your instance if necessary. See more: <https://docs.windmill.dev/docs/advanced/local_development/>
## Stack
- **Database**: Postgres (compatible with Aurora, Cloud SQL, Neon, Azure PostgreSQL)
- **Backend**: Rust - stateless API servers and workers pulling jobs from a Postgres queue
- **Frontend**: Svelte 5
- **Sandboxing**: [nsjail](https://github.com/google/nsjail) and PID namespace isolation
- **Runtimes**:
- TypeScript/JavaScript: Bun (default) and Deno
- Python: python3 with uv for dependency management
- Go, Bash, PowerShell, PHP, Rust, C#, Java, Ansible
## Fastest Self-Hostable Workflow Engine
We have compared Windmill to other self-hostable workflow engines (Airflow,
Prefect & Temporal) and Windmill is the most performant solution for both
benchmarks: one flow composed of 40 lightweight tasks & one flow composed of 10
long-running tasks.
All methodology & results on our
[Benchmarks](https://www.windmill.dev/docs/misc/benchmarks/competitors#airflow-setup)
page.
![Fastest workflow engine](./imgs/fastest.png)
- Postgres as the database
- backend in Rust with the following highly-available and horizontally scalable
architecture:
- stateless API backend
- workers that pull jobs from a queue in Postgres (and later, Kafka or Redis.
Upvote [#173](#https://github.com/windmill-labs/windmill/issues/173) if
interested )
- frontend in Svelte
- scripts executions are sandboxed using google's
[nsjail](https://github.com/google/nsjail)
- javascript runtime is the
[deno_core rust library](https://denolib.gitbook.io/guide/) (which itself uses
the [rusty_v8](https://github.com/denoland/rusty_v8) and hence V8 underneath)
- typescript runtime is deno
- python runtime is python3
- golang runtime is 1.19.1
## Security
- **Sandboxing**: [nsjail](https://github.com/google/nsjail) for filesystem/resource isolation, and PID namespace isolation (enabled by default) to prevent jobs from accessing worker process memory
- **Secrets**: One encryption key per workspace for credentials stored in Windmill's K/V store. We recommend encrypting the Postgres database as well.
### Sandboxing
See [Security documentation](https://www.windmill.dev/docs/advanced/security_isolation) for details.
Windmill uses [nsjail](https://github.com/google/nsjail) on top of the deno
sandboxing. It is production multi-tenant grade secure. Do not take our word for
it, take [fly.io's one](https://fly.io/blog/sandboxing-and-workload-isolation/)
### Secrets, credentials and sensitive values
There is one encryption key per workspace to encrypt the credentials and secrets
stored in Windmill's K/V store.
In addition, we strongly recommend that you encrypt the whole Postgres database.
That is what we do at <https://app.windmill.dev>.
## Performance
@@ -191,141 +176,188 @@ back to the database is ~50ms. A typical lightweight deno job will take around
## How to self-host
For detailed setup options, see [Self-Host documentation](https://www.windmill.dev/docs/advanced/self_host).
We only provide docker-compose setup here. For more advanced setups, like
compiling from source or using without a postgres super user, see
[documentation](https://docs.windmill.dev/docs/advanced/self_host)
### Docker compose
Deploy Windmill with 3 files ([docker-compose.yml](./docker-compose.yml), [Caddyfile](./Caddyfile), [.env](./.env)):
`docker compose up` with the following docker-compose is sufficient:
<https://github.com/windmill-labs/windmill/blob/main/docker-compose.yml>
```bash
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env
Go to http://localhost et voilà :)
docker compose up -d
The default super-admin user is: admin@windmill.dev / changeme
From there, you can create other users (do not forget to change the password!)
### Kubernetes (k8s) and Helm charts
We publish helm charts at:
<https://github.com/windmill-labs/windmill-helm-charts>
### Postgres without superuser
If you do not want, or cannot (for instance, in AWS Aurora or Cloud sql) use a postgres superuser,
you can run `./init-db-as-superuser.sql` to init the required users for windmill.
### Commercial license
To self-host Windmill, you must respect the terms of the AGPLv3 license which
you do not need to worry about for personal uses. For business uses, you should
be fine if you do not re-expose it in any way Windmill to your users and are
comfortable with AGPLv3.
To re-expose any Windmill parts to your users as a feature of your product, or
to build a feature on top of Windmill, to comply with AGPLv3 your product must
be AGPLv3 or you must get a commercial license. Contact us at
<ruben@windmill.dev> if you have any doubts.
In addition, a commercial license grants you a dedicated engineer to transition
your current infrastructure to Windmill, support with tight SLA, audit logs
export features, SSO, unlimited users creation, advanced permission managing
features such as groups and the ability to create more than one workspace.
### OAuth for self-hosting
To get the same oauth integrations as Windmill Cloud, mount `oauth.json` with
the following format:
```json
{
"<client>": {
"id": "<CLIENT_ID>",
"secret": "<CLIENT_SECRET>",
"allowed_domains": ["windmill.dev"] //restrict a client OAuth login to some domains
}
}
```
Go to http://localhost - default credentials: `admin@windmill.dev` / `changeme`
and mount it at `/usr/src/app/oauth.json`.
**Using an external database**: Set `DATABASE_URL` in `.env` to point to your managed Postgres (AWS RDS, GCP Cloud SQL, Azure, Neon, etc.) and set db replicas to 0.
The redirect url for the oauth clients is:
`<instance_url>/user/login_callback/<client>`
### Kubernetes (Helm charts)
[The list of all possible "connect an app" oauth clients](https://github.com/windmill-labs/windmill/blob/main/backend/oauth_connect.json)
```bash
helm repo add windmill https://windmill-labs.github.io/windmill-helm-charts/
helm install windmill-chart windmill/windmill --namespace=windmill --create-namespace
To add more "connect an app" OAuth clients to the Windmill project, read the
[Contributor's guide](https://docs.windmill.dev/docs/misc/contributing). We
welcome contributions!
You may also add your own custom OAuth2 IdP and OAuth2 Resource provider:
```json
{
"<client>": {
"id": "<CLIENT_ID>",
"secret": "<CLIENT_SECRET>",
// To add a new OAuth2 IdP
"login_config": {
"auth_url": "<auth_endpoint>",
"token_url": "<token_endpoint>",
"userinfo_url": "<userinfo endpoint>",
"scopes": ["scope1", "scope2"],
"extra_params": "<if_needed>"
},
// To add a new OAuth2 Resource
"connect_config": {
"auth_url": "<auth_endpoint>",
"token_url": "<token_endpoint>",
"scopes": ["scope1", "scope2"],
"extra_params": "<if_needed>"
}
}
}
```
See [windmill-helm-charts](https://github.com/windmill-labs/windmill-helm-charts) for configuration options.
### Resource types
### Cloud providers
Windmill works on AWS (EKS/ECS), GCP, Azure, Ubicloud, Fly.io, Render.com, Hetzner, Digital Ocean, and others. Rule of thumb: 1 worker per 1vCPU and 1-2 GB RAM.
### OAuth, SSO & SMTP
Configure OAuth and SSO (Google Workspace, Microsoft/Azure, Okta) directly from the superadmin UI. [See documentation](https://www.windmill.dev/docs/misc/setup_oauth).
### License
The Community Edition is free to use internally. For commercial redistribution or managed services, contact <sales@windmill.dev>. See [LICENSE](./LICENSE) and [Pricing](https://www.windmill.dev/pricing) for details.
The "Community Edition" of Windmill available in the docker images hosted under ghcr.io/windmill-labs/windmill and the github binary releases contains the files under the AGPLv3 and Apache 2 sources but also includes proprietary and non-public code and features which are not open source and under the following terms: Windmill Labs, Inc. grants a right to use all the features of the "Community Edition" for free without restrictions other than the limits and quotas set in the software and a right to distribute the community edition as is but not to sell, resell, serve Windmill as a managed service, modify or wrap under any form without an explicit agreement.
The binary compilable from source code in this repository without the "enterprise" feature flag is open-source under the [LICENSE-AGPLv3](https://github.com/windmill-labs/windmill/blob/main/LICENSE-AGPL) License terms and conditions.
To [re-expose directly any Windmill parts to your users](https://www.windmill.dev/docs/misc/white_labelling) as a feature of your product, with the exception of iframed public Windmill "apps", or to build a feature on top of "Windmill Community Edition" that you sell commercially or embed in a distributable product or binary, you must get a commercial license. Contact us at <sales@windmill.dev> if you have any questions. To do the same from the binary compiled from the source code in this repository without the "enterprise" feature flag, you must comply with the AGPLv3 license terms and conditions or get a commercial license from Windmill Labs, Inc.
To use Windmill "Community Edition" as is internally in your organization, or to use its APIs as is, you do NOT need a commercial license.
### Integrations
In Windmill, integrations are referred to as [resources and resource types](https://www.windmill.dev/docs/core_concepts/resources_and_types). Each Resource has a Resource Type that defines the schema that the resource
needs to implement.
On self-hosted instances, you might want to import all the approved resource types from [WindmillHub](https://hub.windmill.dev). A setup script will prompt you to have it being synced automatically everyday.
You will also want to import all the approved resource types from
[WindmillHub](https://hub.windmill.dev). A setup script will prompt
you to have it being synced automatically everyday.
## Environment Variables
| Environment Variable name | Default | Description | Api Server/Worker/All |
| ----------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| DATABASE_URL | | The Postgres database url. | All |
| WORKER_GROUP | default | The worker group the worker belongs to and get its configuration pulled from | Worker |
| MODE | standalone | The mode if the binary. Possible values: standalone, worker, server, agent | All |
| METRICS_ADDR | None | (ee only) The socket addr at which to expose Prometheus metrics at the /metrics path. Set to "true" to expose it on port 8001 | All |
| JSON_FMT | false | Output the logs in json format instead of logfmt | All |
| BASE_URL | http://localhost:8000 | The base url that is exposed publicly to access your instance. Is overriden by the instance settings if any. | Server |
| ZOMBIE_JOB_TIMEOUT | 30 | The timeout after which a job is considered to be zombie if the worker did not send pings about processing the job (every server check for zombie jobs every 30s) | Server |
| RESTART_ZOMBIE_JOBS | true | If true then a zombie job is restarted (in-place with the same uuid and some logs), if false the zombie job is failed | Server |
| NATIVE_MODE | false | Enable native mode: sets NUM_WORKERS=8, rejects non-native jobs (nativets, postgresql, mysql, etc.) | Worker |
| SLEEP_QUEUE | 50 | The number of ms to sleep in between the last check for new jobs in the DB. It is multiplied by NUM_WORKERS such that in average, for one worker instance, there is one pull every SLEEP_QUEUE ms. | Worker |
| KEEP_JOB_DIR | false | Keep the job directory after the job is done. Useful for debugging. | Worker |
| LICENSE_KEY (EE only) | None | License key checked at startup for the Enterprise Edition of Windmill | Worker |
| SLACK_SIGNING_SECRET | None | The signing secret of your Slack app. See [Slack documentation](https://api.slack.com/authentication/verifying-requests-from-slack) | Server |
| COOKIE_DOMAIN | None | The domain of the cookie. If not set, the cookie will be set by the browser based on the full origin | Server |
| DENO_PATH | /usr/bin/deno | The path to the deno binary. | Worker |
| PYTHON_PATH | | The path to the python binary if wanting to not have it managed by uv. | Worker |
| GO_PATH | /usr/bin/go | The path to the go binary. | Worker |
| GOPRIVATE | | The GOPRIVATE env variable to use private go modules | Worker |
| GOPROXY | | The GOPROXY env variable to use | Worker |
| NETRC | | The netrc content to use a private go registry | Worker |
| PY_CONCURRENT_DOWNLOADS | 20 | Sets the maximum number of in-flight concurrent python downloads that windmill will perform at any given time. | Worker |
| PATH | None | The path environment variable, usually inherited | Worker |
| HOME | None | The home directory to use for Go and Bash , usually inherited | Worker |
| DATABASE_CONNECTIONS | 50 (Server)/3 (Worker) | The max number of connections in the database connection pool | All |
| SUPERADMIN_SECRET | None | A token that would let the caller act as a virtual superadmin superadmin@windmill.dev | Server |
| TIMEOUT_WAIT_RESULT | 20 | The number of seconds to wait before timeout on the 'run_wait_result' endpoint | Worker |
| QUEUE_LIMIT_WAIT_RESULT | None | The number of max jobs in the queue before rejecting immediately the request in 'run_wait_result' endpoint. Takes precedence on the query arg. If none is specified, there are no limit. | Worker |
| DENO_AUTH_TOKENS | None | Custom DENO_AUTH_TOKENS to pass to worker to allow the use of private modules | Worker |
| DISABLE_RESPONSE_LOGS | false | Disable response logs | Server |
| CREATE_WORKSPACE_REQUIRE_SUPERADMIN | true | If true, only superadmins can create new workspaces | Server |
| MIN_FREE_DISK_SPACE_MB | 15000 | Minimum amount of free space on worker. Sends critical alert if worker has less free space. | Worker |
| RUN_UPDATE_CA_CERTIFICATE_AT_START | false | If true, runs CA certificate update command at startup before other initialization | All |
| RUN_UPDATE_CA_CERTIFICATE_PATH | /usr/sbin/update-ca-certificates | Path to the CA certificate update command/script to run when RUN_UPDATE_CA_CERTIFICATE_AT_START is true | All |
| Environment Variable name | Default | Description | Api Server/Worker/All |
| ------------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| DATABASE_URL | | The Postgres database url. | All |
| DISABLE_NSJAIL | true | Disable Nsjail Sandboxing | Worker |
| PORT | 8000 | Exposed port | Server | |
| NUM_WORKERS | 3 | The number of worker per Worker instance (set to 1 on Eks to have 1 pod = 1 worker, set to 0 for an API only instance) | Worker |
| DISABLE_SERVER | false | Binary would operate as a worker only instance | Worker |
| METRICS_ADDR | None | The socket addr at which to expose Prometheus metrics at the /metrics path. Set to "true" to expose it on port 8001 | All |
| JSON_FMT | false | Output the logs in json format instead of logfmt | All |
| BASE_URL | http://localhost:8000 | The base url that is exposed publicly to access your instance | Server |
| BASE_INTERNAL_URL | http://localhost:8000 | The base url that is reachable by your workers to talk to the Servers. This help avoiding going through the external load balancer for VPC-internal requests. | Worker |
| TIMEOUT | 300 | The timeout in seconds for the execution of a script | Worker |
| SLEEP_QUEUE | 50 | The number of ms to sleep in between the last check for new jobs in the DB. It is multiplied by NUM_WORKERS such that in average, for one worker instance, there is one pull every SLEEP_QUEUE ms. | Worker |
| MAX_LOG_SIZE | 500000 | The maximum number of characters a job can emit (log + result) | Worker |
| DISABLE_NUSER | false | If Nsjail is enabled, disable the nsjail's `clone_newuser` setting | Worker |
| KEEP_JOB_DIR | false | Keep the job directory after the job is done. Useful for debugging. | Worker |
| LICENSE_KEY (EE only) | None | License key checked at startup for the Enterprise Edition of Windmill | Worker |
| S3_CACHE_BUCKET (EE only) | None | The S3 bucket to sync the cache of the workers to | Worker |
| TAR_CACHE_RATE (EE only) | 100 | The rate at which to tar the cache of the workers. 100 means every 100th job in average (uniformly randomly distributed). | Worker |
| SLACK_SIGNING_SECRET | None | The signing secret of your Slack app. See [Slack documentation](https://api.slack.com/authentication/verifying-requests-from-slack) | Server |
| COOKIE_DOMAIN | None | The domain of the cookie. If not set, the cookie will be set by the browser based on the full origin | Server | |
| DENO_PATH | /usr/bin/deno | The path to the deno binary. | Worker |
| PYTHON_PATH | /usr/local/bin/python3 | The path to the python binary. | Worker |
| GO_PATH | /usr/bin/go | The path to the go binary. | Worker |
| PIP_INDEX_URL | None | The index url to pass for pip. | Worker |
| PIP_EXTRA_INDEX_URL | None | The extra index url to pass to pip. | Worker |
| PIP_TRUSTED_HOST | None | The trusted host to pass to pip. | Worker |
| PATH | None | The path environment variable, usually inherited | Worker |
| HOME | None | The home directory to use for Go and Bash , usually inherited | Worker |
| DATABASE_CONNECTIONS | 50 (Server)/3 (Worker) | The max number of connections in the database connection pool | All |
| SUPERADMIN_SECRET | None | A token that would let the caller act as a virtual superadmin superadmin@windmill.dev | Server |
| TIMEOUT_WAIT_RESULT | 20 | The number of seconds to wait before timeout on the 'run_wait_result' endpoint | Worker |
| QUEUE_LIMIT_WAIT_RESULT | None | The number of max jobs in the queue before rejecting immediately the request in 'run_wait_result' endpoint. Takes precedence on the query arg. If none is specified, there are no limit. | Worker |
| DENO_AUTH_TOKENS | None | Custom DENO_AUTH_TOKENS to pass to worker to allow the use of private modules | Worker |
| DENO_FLAGS | None | Override the flags passed to deno (default --allow-all) to tighten permissions. Minimum permissions needed are "--allow-read=args.json --allow-write=result.json" | Worker |
| PIP_LOCAL_DEPENDENCIES | None | Specify dependencies that are installed locally and do not need to be solved nor installed again | |
| ADDITIONAL_PYTHON_PATHS | None | Specify python paths (separated by a :) to be appended to the PYTHONPATH of the python jobs. To be used with PIP_LOCAL_DEPENDENCIES to use python codebases within Windmill | Worker |
| INCLUDE_HEADERS | None | Whitelist of headers that are passed to jobs as args (separated by a comma) | Server |
| WHITELIST_WORKSPACES | None | Whitelist of workspaces this worker takes job from | Worker |
| BLACKLIST_WORKSPACES | None | Blacklist of workspaces this worker takes job from | Worker |
| NEW_USER_WEBHOOK | None | Webhook to notify of a new user added, signup/invite. Can hook back to windmill to send emails | Server |
## Run a local dev setup
We recommend using [Nix](./frontend/README_DEV.md#nix). See [./frontend/README_DEV.md](./frontend/README_DEV.md) for all options.
### only Frontend
### Frontend only
This will use the backend of <https://app.windmill.dev> but your own frontend
with hot-code reloading.
Uses the backend of <https://app.windmill.dev> with local frontend (hot-reload):
```bash
cd frontend
npm install
npm run generate-backend-client # or generate-backend-client-mac on Mac
npm run dev
```
Windmill available at `http://localhost/`
1. Install [caddy](https://caddyserver.com)
2. Go to `frontend/`:
1. `npm install`, `npm run generate-backend-client` then `npm run dev`
2. In another shell `sudo caddy run --config CaddyfileRemote`
3. Et voilà, windmill should be available at `http://localhost/`
### Backend + Frontend
See the [./frontend/README_DEV.md](./frontend/README_DEV.md) file for all
running options.
1. Start a local Postgres database using for instance the `start-dev-db.sh` script which will make a database available at `postgres://postgres:changeme@localhost:5432/windmill`
Then run the migrations using the following command:
```
cargo install sqlx-cli
env DATABASE_URL=<YOUR_DATABASE_URL> sqlx migrate run
```
This will also avoid compile time issue with sqlx's `query!` macro.
2. (optional, linux only) Install [nsjail](https://github.com/google/nsjail) and have it accessible in
1. Create a Postgres Database for Windmill and create an admin role inside your
Postgres setup. The easiest way to get a working postgres is running
`cargo install sqlx-cli && sqlx migrate run`. This will also avoid compile
time issue with sqlx's `query!` macro
2. Install [nsjail](https://github.com/google/nsjail) and have it accessible in
your PATH
3. Install bun, deno and python3 (+ any languages you want to use), have the bins at `/usr/bin/bun`,`/usr/bin/deno`, and
`/usr/local/bin/python3` or set the corresponding environment variables.
4. (optional) Install the [lld linker](https://lld.llvm.org/)
5. Go to `frontend/`:
1. `npm install`, `npm run generate-backend-client` then `REMOTE=http://localhost:8000 npm run dev`
2. You might need to set some extra heap space for the node runtime
`export NODE_OPTIONS="--max-old-space-size=4096"`
3. Create an empty `frontend/build` folder using `mkdir frontend/build`
6. Go to `backend/`:
1. `env DATABASE_URL=<YOUR_DATABASE_URL> RUST_LOG=info cargo run`
2. You can specify any feature flag you want to enable, for example `cargo run --features python` to enable the python executor.
7. Windmill should be available at `http://localhost:3000`
3. Install deno and python3, have the bins at `/usr/bin/deno` and
`/usr/local/bin/python3`
4. Install [caddy](https://caddyserver.com)
5. Install the [lld linker](https://lld.llvm.org/)
6. Go to `frontend/`:
1. `npm install`, `npm run generate-backend-client` then `npm run dev`
2. In another shell `npm run build` otherwise the backend will not find the
`frontend/build` folder and will crash
3. In another shell `sudo caddy run --config Caddyfile`
7. Go to `backend/`:
`DATABASE_URL=<DATABASE_URL_TO_YOUR_WINDMILL_DB> RUST_LOG=info cargo run`
8. Et voilà, windmill should be available at `http://localhost/`
## Contributors
@@ -335,4 +367,4 @@ running options.
## Copyright
© 2023-2026 Windmill Labs, Inc.
Windmill Labs, Inc 2023

View File

@@ -1,196 +0,0 @@
# Windmill Development with workmux
This guide covers the workmux-based development setup for Windmill. Each worktree gets its own tmux window with a Claude Code agent, a backend server (with auto-reload), and a frontend dev server — all on isolated ports.
## Prerequisites
- tmux
- Rust toolchain (rustup)
- Node.js + npm
- PostgreSQL running locally (see `backend/.env`)
## Installation
### 1. Install workmux
```bash
cargo install workmux
```
### 2. Install the Claude Code plugin
```bash
workmux claude install
```
This lets workmux manage Claude Code agents in worktree panes.
### 3. Install cargo-watch
Used for auto-recompiling the backend on file changes:
```bash
cargo install cargo-watch
```
### 4. Install llm CLI (required for auto branch naming)
workmux uses the `llm` CLI to automatically generate branch names from prompts. Install it with:
```bash
uv tool install llm
llm install llm-anthropic
```
Then set your Anthropic API key:
```bash
llm keys set anthropic
# paste your API key when prompted
```
### 5. Recommended: shell alias and autocomplete
Set up a `wm` alias for convenience:
```bash
# Add to your ~/.zshrc
alias wm="workmux"
```
Setting up zsh autocomplete is also recommended — see the [workmux docs](https://github.com/rubenfiszel/workmux) for instructions.
## Port Slot System
Each worktree is assigned a **slot** that determines its ports:
| Slot | Backend | Frontend |
|------|---------|----------|
| 0 | 8000 | 3000 |
| 1 | 8010 | 3010 |
| 2 | 8020 | 3020 |
| 3 | 8030 | 3030 |
| ... | ... | ... |
- **Slot 0** is reserved for the main worktree (default `cargo run` / `npm run dev`).
- Without `WM_SLOT`, the script auto-assigns the first available slot (starting from 1) and prints it.
- With `WM_SLOT=N`, it uses that slot and errors if the ports are taken.
## SSH Port Forwarding
If you develop over SSH, add this to `~/.ssh/config` on your **local machine** to pre-configure tunnels for each slot:
```
Host windmill-dev
HostName <remote-ip>
User <username>
# Slot 0 (main worktree)
LocalForward 8000 localhost:8000
LocalForward 3000 localhost:3000
# Slot 1
LocalForward 8010 localhost:8010
LocalForward 3010 localhost:3010
# Slot 2
LocalForward 8020 localhost:8020
LocalForward 3020 localhost:3020
# Slot 3
LocalForward 8030 localhost:8030
LocalForward 3030 localhost:3030
```
Then connect once and all tunnels are active:
```bash
ssh windmill-dev
```
Access the frontend at `http://localhost:<frontend-port>` in your local browser.
## Quickstart
```bash
# Create a new worktree (auto-assigns slot, prints ports)
workmux add my-feature
# Or with an explicit slot
WM_SLOT=2 workmux add my-feature
# Create a worktree and immediately send a prompt to the agent
workmux add -A -p "fix the login bug in auth.rs"
```
The `add` command creates the worktree but does **not** open it. To open the tmux window and start working:
```bash
workmux open my-feature
```
This will open a tmux window with three panes:
- **Claude Code agent** (focused)
- **Backend**: `cargo watch -x run` on the assigned port (auto-reloads on save)
- **Frontend**: `npm run dev` proxying to the backend
When using `-A` with `add`, the worktree is created and opened automatically, and the prompt is sent to the agent right away.
Check which ports were assigned:
```bash
cat <worktree-path>/.env.local
```
### Sending work to the agent
```bash
# Send a prompt to the agent in a worktree
workmux send my-feature "fix the login bug in auth.rs"
# Check agent status
workmux status
```
### Merging and cleaning up
We never merge worktrees directly — always create a PR on GitHub and let it be merged there. Once the PR is merged, clean up the worktree:
```bash
# Close the tmux window but keep the worktree
workmux close my-feature
# After your PR is merged, remove the worktree, branch, and tmux window
workmux rm my-feature
```
> **Note**: Do not use `workmux merge`. Always go through a PR to get your changes into main. You can ask the Claude Code agent in the worktree to create the PR for you.
## Configuration
The setup is defined in `.workmux.yaml` at the repo root. Key sections:
- **`post_create`**: Runs `scripts/worktree-env` to generate `.env.local` with port assignments
- **`panes`**: Defines the tmux layout (agent, backend, frontend)
- **`files.copy`**: Copies `backend/.env` and `scripts/` into each worktree
- **`files.symlink`**: Symlinks `node_modules` and `.svelte-kit` to avoid reinstalling per worktree
## Enterprise (EE) Code Access
The enterprise source code lives in the `windmill-ee-private` repository (sibling to this repo). When you create a worktree, `scripts/worktree-env` automatically creates a matching EE worktree on the same branch and configures Claude Code's `additionalDirectories` to grant access.
### Sandbox setup
When using sandbox mode, the container needs explicit mounts to access the EE repo. Add the following to your global workmux config (`~/.config/workmux/config.yaml`):
```yaml
sandbox:
extra_mounts:
- host_path: ~/windmill-ee-private
writable: true
- host_path: ~/windmill-ee-private__worktrees
writable: true
```
This mounts both the main EE repo (used by the main worktree) and the EE worktrees directory (used by feature worktrees) into every sandbox container.
## Login
Default credentials: `admin@windmill.dev` / `changeme`

View File

@@ -1,27 +1,10 @@
[build]
rustflags = [
"--cfg",
"tokio_unstable",
"-C",
"link-arg=-fuse-ld=lld",
"-Clink-arg=-Wl,--no-rosegment",
]
incremental = true
[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=mold"]
[target.aarch64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=mold"]
[target.x86_64-apple-darwin]
rustflags = [
"-C", "link-arg=-undefined",
"-C", "link-arg=dynamic_lookup",
"-C", "link-args=-Wl,-rpath,$ORIGIN/"
]
[target.aarch64-apple-darwin]
rustflags = [
"-C", "link-arg=-undefined",
"-C", "link-arg=dynamic_lookup",
"-C", "link-args=-Wl,-rpath,$ORIGIN/"
]
[net]
git-fetch-with-cli = true

11
backend/.gitignore vendored
View File

@@ -1,13 +1,4 @@
target/
.env
oauth.json
oauth2.json
tracing.folded
heaptrack*
index/
windmill-api/openapi-*.*
.duckdb/*
*ee.rs
generate_mcp_endpoints_tools/venv
bacon.toml
libwindmill_duckdb_ffi_internal.so
windmill-api/openapi-deref.yaml

View File

@@ -1 +0,0 @@
!*ee.rs

View File

@@ -1,44 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n oauth_data as \"oauth_data: sqlx::types::Json<WorkspaceOAuthConfig>\",\n service_name as \"service_name!: ServiceName\",\n resource_path\n FROM\n workspace_integrations\n WHERE\n workspace_id = $1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "oauth_data: sqlx::types::Json<WorkspaceOAuthConfig>",
"type_info": "Jsonb"
},
{
"ordinal": 1,
"name": "service_name!: ServiceName",
"type_info": {
"Custom": {
"name": "native_trigger_service",
"kind": {
"Enum": [
"nextcloud",
"google"
]
}
}
}
},
{
"ordinal": 2,
"name": "resource_path",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
true,
false,
true
]
},
"hash": "0010ef26da16facd1c2c832601ac687c4c27de46a90f45496b8446af1a9d0578"
}

View File

@@ -1,23 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT created_by FROM v2_job WHERE id = $1 AND workspace_id = $2",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "created_by",
"type_info": "Varchar"
}
],
"parameters": {
"Left": [
"Uuid",
"Text"
]
},
"nullable": [
false
]
},
"hash": "002d68d7c4437522a6dae95af007a356217bbae06b8453f0c32046f0cbf20dcb"
}

View File

@@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE alerts SET acknowledged_workspace = true, acknowledged = true WHERE workspace_id = $1",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text"
]
},
"nullable": []
},
"hash": "00588a40dde5189ac1c61505f17acb0f4c244c60477427505bf5bd1b104d3bf9"
}

View File

@@ -1,22 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT email FROM password WHERE email = $1",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "email",
"type_info": "Varchar"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
false
]
},
"hash": "005b9255699e73600c579f74b529caf531b2312b6e405b4d35efd2f7ca663143"
}

View File

@@ -1,16 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE usr SET disabled = $1 WHERE username = $2 AND workspace_id = $3",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Bool",
"Text",
"Text"
]
},
"nullable": []
},
"hash": "006f03e979abdf8055b1c598bc9806337216a6abf74db4eb64b0acb918a0de08"
}

View File

@@ -1,23 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT args as \"args: sqlx::types::Json<HashMap<String, Box<RawValue>>>\" FROM v2_job WHERE id = $1 AND workspace_id = $2",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "args: sqlx::types::Json<HashMap<String, Box<RawValue>>>",
"type_info": "Jsonb"
}
],
"parameters": {
"Left": [
"Uuid",
"Text"
]
},
"nullable": [
true
]
},
"hash": "0084c1246d1391d106da2e67a394eafc6695257632406ed9a2111dba1dd106c7"
}

Some files were not shown because too many files have changed in this diff Show More