Commit Graph

1018 Commits

Author SHA1 Message Date
Ruben Fiszel
17d262ff7f backend tests 2024-12-09 18:41:13 +01:00
Ruben Fiszel
628ae617f7 feat: docker runtime 2024-12-09 18:02:18 +01:00
Ruben Fiszel
5711cc571d update tokio and deno_core (#4871)
* all

* update
2024-12-08 16:10:46 +01:00
Ruben Fiszel
c6dc19a893 improve otel 2024-12-08 11:06:35 +01:00
Ruben Fiszel
f7db561304 fix tracing 2024-12-07 17:17:25 +01:00
Ruben Fiszel
8a5ba115c6 feat: add otlp support (#4869)
* all

* all

* add otel

* add otel

* update docker-image

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update
2024-12-07 16:29:20 +01:00
Lucas Abel
e38312700a feat(frontend): render new job kinds (#4864) 2024-12-06 15:11:57 +01:00
Lucas Abel
ef08fc8e29 feat: add db storage for app inline scripts (#4837) 2024-12-06 13:37:45 +01:00
Lucas Abel
c0b93f9c97 fix: handle flow & workspace renames for flow_node (#4861) 2024-12-06 09:40:32 +01:00
Ruben Fiszel
b4011be2dc improve retries max value handling 2024-12-06 01:03:46 +01:00
Lucas Abel
5417ac5f07 fix: fix flow_node uniqueness (#4850)
`jsonb` comparison wasn't working as expected, and duplicated entries
were inserted within `flow_node`. To resolve this add a second hash
column, `hash_v2` with a unique default for uniqueness, and use this new
column to ensure unique entries. The previous hash column is left for
backward compatibility. Duplicated entries already insterted will remain
as is without breaking, and only new ones will preserve uniqueness.
2024-12-05 17:42:33 +01:00
Lucas Abel
9faf9ebb45 nit: format worker_lockfiles.rs (#4849) 2024-12-05 15:17:41 +01:00
Ruben Fiszel
75b64a53fa fix compile 2024-12-05 15:17:24 +01:00
Ruben Fiszel
7ad00e07b3 improve windows worker 2024-12-05 14:45:23 +01:00
Ruben Fiszel
3f6e40b0d4 fix: pass USERPROFILE on windows 2024-12-05 10:12:44 +01:00
Ruben Fiszel
19946deb82 simplify warn_after_seconds 2024-12-04 18:28:28 +01:00
Ruben Fiszel
715d09c30d simplify warn_after_seconds 2024-12-04 18:24:31 +01:00
Ruben Fiszel
f6c4951877 improve transparency for slow queries 2024-12-04 17:30:58 +01:00
Ruben Fiszel
61d31cc9a7 improve draft only delete security 2024-12-03 23:13:35 +01:00
Ruben Fiszel
9abed3a30a fix empty branchall subflow 2024-11-29 19:02:47 +01:00
Ruben Fiszel
b81bf99cc2 prettify cache msg 2024-11-29 13:01:54 +01:00
Ruben Fiszel
6891bf604c nit pip install 2024-11-29 12:37:52 +01:00
Ruben Fiszel
1b74cbaebb add total time 2024-11-29 12:35:10 +01:00
Ruben Fiszel
e700016780 small uv s3 pull fix 2024-11-29 12:31:50 +01:00
Ruben Fiszel
dbfc8a2783 fix: fix windows build 2024-11-29 09:53:05 +01:00
Lucas Abel
0a65b90049 feat(cache): implement flow node caching (#4808)
* feat(cache): implement flow node caching

* feat(cache): implement script caching

* feat(cache): improve cache
2024-11-29 09:35:00 +01:00
Ruben Fiszel
8338efa685 skip s3 python cache on windows and pro 2024-11-29 08:35:08 +01:00
pyranota
a1dd641466 feat: Parallelize uv install (#4774)
* Implement MVP of Parallel uv installation

* Implement PY_CONCURRENT_DOWNLOADS

* Remove Flock for uv installs

* Make S3 pull/push parallel

* Refactor and allow to Cancel installation

* Dont print S3 in output if disabled

* Implement better error handling

* Polishing

* More polishing

* Implement error-handler for kill_tx_2.send()

* Fix and Format prev merge

* Presubscribe to all kill_tx's

We do it now before first event could fire
Meaning no events can be lost anymore

* Early print errors and safer error handling

* Return Err if installation failed

* Final changes

* Return error instead of just printing it

* Safer the way to acquire permit

* Fix compilation error

* Remove double error logs
2024-11-29 08:21:51 +01:00
Lucas Abel
995edad334 fix: invalid null comparison while inserting flow node (#4815) 2024-11-28 17:29:16 +01:00
Lucas Abel
7079b030eb fix: invalid jsonb comparison while inserting flow node (#4814) 2024-11-28 14:43:54 +01:00
pyranota
1323adb345 Remove flock (#4809) 2024-11-28 12:42:25 +01:00
Ruben Fiszel
66fdd8723f simplify logic to check for license key on workers 2024-11-27 18:51:06 +01:00
Lucas Abel
4e52e54314 feat(backend): store flow inner modules into flow_node table (#4778) 2024-11-27 16:08:31 +01:00
pyranota
5e20824367 Fix tar prefix (#4781)
* Fix tar prefix

* Use TAR_PIP(PYTHON_311)_CACHE_DIR instead

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-11-27 15:54:47 +01:00
Lucas Abel
60f2e9e242 enable is_simple optimization for FlowScript (#4799)
* backend: remove some allocations in `worker_flow.rs`

* feat(backend): enable `is_simple` optimization for `FlowScript`

* fix: fix node retrieval for `flowscript` inner step
2024-11-27 10:06:19 +01:00
Lucas Abel
41a7fbb80f fix: disable flow_version_lite in dedicated workers (#4800) 2024-11-27 10:02:44 +01:00
pyranota
41c8a22830 fix(python): Merge to site-packages packages with same name (#4793)
* (python) Initially implement merge

Iterate overall all python paths and if same folder has same name multiple times,
then merge the content and put to <job_dir>/site-packages

Solves problem with imports for some dependencies.

Default layout (/windmill/cache/):

dep==x.y.z
└── X
   └── A
dep-ext==x.y.z
└── X
   └── B

In this case python would be confused with finding B module.

This function will convert it to (/<job_id>):

site-packages
└── X
   ├── A
   └── B

This way python has no problems with finding correct module

* Better error-handling

* Optimize and fix bug

* Update backend/windmill-worker/src/python_executor.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update backend/windmill-worker/src/python_executor.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Polish

* Add path to PathBuf

* Add & before PathBuf

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2024-11-26 18:24:26 +01:00
Lucas Abel
ce121fcf37 feat(backend): implement flow scripts (#4748)
* feat(backend): implement flow scripts

* conditionally resolve reduced flow value

* conditionally use flow scripts based on the min worker version

* grant all to `flow_{version_lite,node}`

* do not silently discard errors

* env: add flow script feature flag

* flow script on cloud automatically

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-11-25 23:20:51 +01:00
Ruben Fiszel
a268bbf2cd email quotas only apply to top-level job 2024-11-25 16:20:55 +01:00
Ruben Fiszel
e54e8ab405 fix: retry on inserting completed job (#4784)
* fix: retry on pushing next scheduled job of schedule

* all

* improve error handling

* update sqlx
2024-11-25 01:33:44 +01:00
Ruben Fiszel
fd7bf27f27 remove rsmq 2024-11-24 11:04:54 +01:00
Ruben Fiszel
6901db5412 fix: expose DISABLE_DENO_LOCK 2024-11-23 08:39:57 +01:00
Lucas Abel
002f0b92ea backend: rework raw values fetching logic (#4770) 2024-11-21 13:59:42 +01:00
Lucas Abel
b5f411a8ce feat(backend): move some static fields out of job tables (#4689)
* feat(backend): move some static fields out of job tables

* backend: re-use `flow_value` if any and avoid clone

* update minimal version to 1.427.0
2024-11-19 11:27:55 +01:00
wendrul
6f4a6d8a72 feat: Add mode (permissions) option to files in ansible (#4724)
* Add chmod option to files in ansible

* Add 0 prefix if string

* Rename chmod to mode
2024-11-18 17:02:38 +01:00
HugoCasa
5ef105b833 fix: revert bool to text support in pg (#4727) 2024-11-16 10:01:16 +01:00
HugoCasa
3939f42f5c unbreak nullable inputs in pg (#4726) 2024-11-15 22:27:28 +01:00
HugoCasa
8734df138c unbreak ::text for json in pg (#4722)
* unbreak ::text for json in pg

* better error handling
2024-11-15 18:35:21 +01:00
Ruben Fiszel
cb39350ddc improve error messages on windows 2024-11-15 09:43:54 +01:00
Ruben Fiszel
bcf4c8d0bf nits logs 2024-11-15 01:15:51 +01:00