Commit Graph

1049 Commits

Author SHA1 Message Date
Ruben Fiszel 73d25c867c fix(bun): never pre-bundle BASE_URL env variable 2024-09-20 09:48:00 +02:00
Ruben Fiszel 57a6beaed2 fix(go): put shared directory in job dir and not go parent 2024-09-19 10:05:08 +02:00
wendrul b0cb1e0b27 feat: ansible playbook support (#4399)
* Ansible execution and parsing

* Working collections and pip dependencies

* Remove unused vars

* File resources logic for ansible

* Make frontend for ansible and resource file

* Format file

* Change naming of file resource and inventory fields

* Add autocomplete for file extension resource creation

* Add endpoint to list file formats for resource types

* Add CLI functionality to pull/push file resources

* Add beta tag to ansible

* Add Full image dockerfiles containing ansible

* Prepare sqlx

* Update cargo.lock

* Update ansible path

* Remove unused imports

* Add back import removed by rust-analyzer

* Improve ansible init code

* Prepare sqlx

* Change dockerfile to make the full windmill image

* Remove old dockerfile

* Improve autocomplete file resource extension select

* Remove comment

* Validate file extension

* Add icons to text file resources

* Remove editability of file resource types

* Remove unused import

* Missing space

* Add yaml parser
2024-09-19 00:21:15 +02:00
Ruben Fiszel fc6e480e56 fix: postgres scripts that take longer than 20s do not timeout anymore 2024-09-18 14:32:16 +02:00
pyranota d3e0b1c636 feat: Allow setProgress and getProgress from within the script (#4400)
* Allow setting progress explicitly from script body.

This feature exposes:
 * `getProgress`
 * `setProgress`
 * `incProgress`

API in TypeScript client (python is coming soon).

NOTE: Progress cannot be out of range 0..100 and cannot decrease.

With exposed APIs there is also UI changes, so progress can be shown for individual jobs as well.

For optimization reasons, jobs start to ask for progress only after N-seconds of execution.

* feat: Add `shell.nix`

If you dont have anything but nix, dont worry, run nix-shell in root, or activate with direnv and get all needed dependencies

NOTE: You will still need docker

* feat: Add `dev.nu` to typescript client

Little helper function, allowing developer to work on ts client easier.

To use:
  `./dev.nu watch`

Now add import of windmill in body of your script and `//nobundle` on top of the file

Edit ts client in your favourite editor and hit save. Script will do the rest.

* Cleanup files

* Fix: Failed to deserialize query string: missing field `get_progress`

* perf: Implement non-naive polling mechanism for getting job progress

* Add independant delay for getProgress

Problem in `TestJobLoader`:

There should be 2 delays:

    One until we find our first progress (every 5s)
    Once we found our first progress, we can do it every second

* nit: Use `query_scalar!` instead of `query_as`

* Fix: Sql error, no rows returned by a query that expected to return at least one row

* refactor: Remove global CSS for JobProgressBar

* Change UI for progress of flow subjobs

* Replace `Step 1` with `Running` in ProgressBar for individual jobs

* Remove `incProgress`

incProgress is not very usefull and error-prone

* perf: Set metric only for jobs that are actually using it

(https://github.com/windmill-labs/windmill/pull/4373#discussion_r1759843773)

* Offload registering progress from clients to server

* Add `jobId?` argument to typescript-client's `setProgress` and `getProgress`

Allows to set progress of other jobs and flows,
if jobId specified, than flow id will be inferred automatically.

Could be used by SDK.

* Add `Error::MetricNotFound` for better error handling

* Fix: Make `JobProgressBar` display in red when failed

* Add persistant progress bar

Now you can reload the page after job is done and progress will be still there

* Allow succeeded individual job's progress bar stick to 100%

* Add python support 

* nit: Remove usage of undefined variable in python-client

* Add `async` in ts client (for error handling)

* nit(frontend): Remove unused import

* Dont load JobProgressBar when it is not needed

* nit: npm check fix

* cargo sqlx prepare

* fix sqlx

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-09-18 01:16:19 +02:00
Ruben Fiszel 938b8d81dd fix lock-write for deno 2024-09-18 00:57:53 +02:00
Ruben Fiszel 605ac7439b fix(deno): replace lock-write with frozen=false 2024-09-17 08:33:33 +02:00
Ruben Fiszel f864709ab2 fix: cannot create duplicate apps and raw_apps 2024-09-16 21:15:29 +02:00
HugoCasa d3e8731be2 feat: failed key renewal alert + renew on start if no recent renewal (#4387)
* feat: failed key renewal alert + renew on start if no recent renewal

* Update ee-repo-ref.txt
2024-09-16 16:54:35 +02:00
Ruben Fiszel d533a017a7 fix: improve first time setup experience 2024-09-15 21:02:36 +02:00
Ruben Fiszel bef1bcb2a4 fix: timeout in pg executor on postgresql connection after 20s 2024-09-12 18:49:43 +02:00
Ruben Fiszel 34b130d018 fix: add tag_override for script in flows 2024-09-11 23:02:45 +02:00
Ruben Fiszel 7d29651d3e fix: graceful worker exits for same worker jobs (#4371)
* all

* fix compile
2024-09-11 18:32:08 +02:00
Ruben Fiszel 458dcfe1e8 fix: handle better same_worker flow monitor 2024-09-11 01:29:40 +02:00
Ruben Fiszel 16e9f063f7 fix: bun scripts cached in docker image have their dependencies pre-loaded 2024-09-09 13:52:12 +02:00
Ruben Fiszel 9eea0c95d4 synchronize hub script is moved to new windmill cli 2024-09-07 19:05:34 +02:00
Ruben Fiszel 3e3f9dd74d fix: nativets correct transform resources in args 2024-09-06 20:41:42 +02:00
Ruben Fiszel 552f7d61a1 fix: improve dependency map to handle recusrive loops + handle better flow relative imports 2024-09-02 21:38:47 +02:00
Ruben Fiszel 86c1a52288 refactor main tokio select loop (#4312) 2024-09-01 21:58:37 +02:00
Ruben Fiszel 98a0c77c7d nits job still running format 2024-09-01 12:28:03 +02:00
Ruben Fiszel 7874e28a0e nits log formats for delayed job 2024-09-01 12:22:14 +02:00
Ruben Fiszel c62e152d27 feat: service logs (#4244) 2024-08-31 14:57:35 +02:00
wendrul 91d328b132 feat: add rust (#4253)
* Add rust on frontend

* Add parser for rust

* Handle rust job execution

* Main has to return a result that is serializable

* Update parser: parse many rust types

* Rust parser dependencies

* Frontend wasm parser

* Add windmill parser rust to windmill parser wasm (temporarily)

* Add rust as a tag on worker__default

* Change init code for rust

* Cleanup rust_executor.rs

* Remove tree-sitter dep and fix unused imports

* Add lockfile and build logic

* Add cargo and rustup to windmill image

* Fix env var to work on docker image and dev env

* modify package.json

* Deps after parser publish

* Add stashed migration

* Unify rust versions

* Add error message when php or cargo are not present to use another image

* Error message conditionally on feature flag

* all ci/cd changes

* all ci/cd changes

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-08-30 17:01:04 +02:00
Proesmans Bert 9b7999a196 Take interpreter paths from environment (bash executor) (#4304)
* Take bash exe path from environment

- Changed BIN_BASH type to owned String
- Replaced hardcoded path with BIN_BASH
- Updated references of BIN_BASH to match new String type

* Replaced hardcoded pwsh call with POWERSHELL_PATH
2024-08-30 14:56:32 +02:00
HugoCasa 5a300fb3e2 feat: show last job instead of current job on workers page (#4293)
* feat: show last job instead of current job on workers page

* fix: keep old sql column name
2024-08-27 22:04:02 +02:00
Ruben Fiszel e1223a6f24 fix: cache hub scripts in more cases + pre-cache hub scripts deps in deno 2024-08-27 02:30:54 +02:00
Ruben Fiszel 2b3e86e341 feat: add vim support for monaco/webeditor 2024-08-26 22:31:23 +02:00
HugoCasa 6a99d999a2 feat: improve early stop (#4257) 2024-08-21 00:47:34 +02:00
Ruben Fiszel 5f220f49a9 fix(bun): disable large transpiling cache 2024-08-20 08:49:51 +02:00
HugoCasa 904b5b4ea1 feat: cache common hub scripts in image (#4249)
* feat: cache common hub scripts in image

* Delete backend/src/hubPaths.json

* fix: missing file

* fix: dockerfile

* fix: cache by path

* fix

* fix

* precreate cache folder
2024-08-16 17:30:44 +02:00
Ruben Fiszel 8537444d0c fix: workspace specific default tags do not override step level custom tags 2024-08-16 17:00:34 +02:00
HugoCasa 55df0a4746 feat: add env to refresh cgroup readings (#4250) 2024-08-16 14:00:38 +02:00
Ruben Fiszel 02f04e2331 feat: recoverable error handlers 2024-08-14 18:45:29 +02:00
Ruben Fiszel 3195f37a84 feat: togglable continue on disapproval/timeout of approvals 2024-08-14 17:24:21 +02:00
Ruben Fiszel 1f7ece08c9 all 2024-08-14 14:34:58 +02:00
HugoCasa e47d0c40ea fix: use job timeout for snowflake timeout (#4240) 2024-08-14 14:27:43 +02:00
HugoCasa 8942e80ebb fix: handle time with tz col type in pg (#4239) 2024-08-14 13:25:56 +02:00
Ruben Fiszel 31e246740c fix: extend step_id being returned as part of the error of every languages 2024-08-13 22:37:05 +02:00
Ruben Fiszel 3780832338 fix: support NODE_PATH 2024-08-12 19:56:27 +02:00
HugoCasa b41656528f fix: handle snowflake partitions (#4214) 2024-08-08 14:50:31 +02:00
Ruben Fiszel 155513cf07 fix tests 2024-08-07 17:51:41 +02:00
Ruben Fiszel 0ebdd70b35 keep bin in local cache for go even in cloud 2024-08-07 16:23:13 +02:00
HugoCasa fba0817dd5 fix: email triggers sqlx CE and improve email parsing (#4203)
* fix: CE sqlx

* update ee ref
2024-08-06 23:05:36 +02:00
HugoCasa 80a41669b2 feat: email triggers (#4163)
* feat: email triggers v0

* update docker compose to nginx with tcp reverse proxy + move smtp to private

* fix: open source build

* test: update ee ref for testing

* feat: use caddy with layer4

* fix: nit

* feat: configurable email domain

* fix: nit

* fix: nit

* fix: get l4 from main

* fix: default email domain to mail.domain

* update ee ref
2024-08-06 16:17:33 +02:00
Ruben Fiszel 50599a53cb fix: fix native scripts access to reserved variables 2024-08-06 16:15:09 +02:00
Ruben Fiszel 4a295f7dd5 support tarbundle in vscode extension 2024-08-06 01:02:41 +02:00
Ruben Fiszel 61fb8c3fec fix codebase with start_worker 2024-08-05 13:31:05 +02:00
Ruben Fiszel 59e9a0889a feat: add support for assets using tar for codebase deploy 2024-08-04 23:02:51 +02:00
Ruben Fiszel 3240eb156c fix: fix run_flow_async from call 2024-08-02 16:37:17 +02:00
Ruben Fiszel 82fb524b4f fix: fix raw_deps handling 2024-08-01 16:24:30 +02:00