* feat: Handle `pip install` by `uv`
Dirty and untested, but already something working
* Integrate with NSJAIL and prepare fallbacks
* Refactor fallback
no_uv disable compile and install
where no_uv_install and no_uv_compile are a bit more specific
* Remove `--disable-pip-version-check`
Reason:
warning: pip's `--disable-pip-version-check` has no effect
* Fix backend compilation error
* Pip fallback overwrite UV's cache
* Initially refactor cache (No S3)
* Support S3
* Remove unused import
* Handle flags for NSJAIL
* Return deleted flag
* Remove verbose mode and enable link-mode=copy
* Granural migration of lockfiles
Before i realized we dont need it :)
* Initial draft (not-working)
* Add fallback
* Fix bug preventing uv from installing deps
'\n' - Love it
* Add verbosity indicator
* Iterate on feature
- Added instance python version
- Rework logic
* Fix EE build error
error[E0599]: no method named `iter` found for tuple `(PyVersion, std::vec::Vec<std::string::String>)` in the current scope
* Support S3
* Support NSJAIL
* Refactor `get_python`
* Make NSJAIL work [Unsafe]
config file missed /proc mount causing install phase to fail
* Trigger CI
* Clean up
* Make Actions build it
* Trigger CI #2
* Update Dockerfile and clean up
* Change fallbacks
now there is only no_uv and NOUV
* Expose INSTANCE_PYTHON_VERSION through env variable
* Change namings
* Include py-version to requirements.in
Also add comments and make code much cleaner
* Use const for python installation dir
It was hardcoded before
* Pin preinstalled version
* Update python_executor.rs
* Up to date branch
* Create PYCACHE dirs
TODO: PY_TAR_DIRS
* Fix after merge
* Make it safer
* Implement USE_SYSTEM_PYTHON
* Implement latest_stable option
* Load INSTANCE_PYTHON_VERSION on startup
* Check for multiple annotations used
* Fix Latest Stable button not pressed if selected
* Proper error handling for conflict on multiple annotations
* Fix merge conflicts
* Preinstall 3.11 and Latest Stable
* Preinstall latest stable in non-blocking manner
* Fix Warning
* Gate preinstall logic behind "python" feature
* Handle raw_deps properly
* Make it work with nsjail
* Revert docker-image.yml
* Revert Dockerfile
* Cleanup + Fixing
* Add windows support
---------
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
* feat: msft teams support for critical alerts
* ee changes
* ee
* sqlx prep
* multiple teams channels
* commit file, not symlink
* improve reactivity
* docs link
* Update ee-repo-ref.txt
* feat(cache): remove persistent raw values from queue
* test: add tests and fix discovered regressions
* fix csharp executor after rebase
* invalidate script cache after locking
* fix lite flow version race
* fix flow dependencies lock race
* update version flag to `v.1.440`
* Add csharp stuff and merge after the rewrite
* Add csharp, boilerplate + minimal execution
* Add initial parser
* Frontend + wasm export of the tree sitter parser
* Arg spread and use cache
* More types and req parsing
* Add logo
* Parse async and void to fit the wrapper to the main sig
* Csharp editor resource and var buttons
* Lockfile generation
* Add default parsing using serde_json::from_str
* Update init code for c#
* Nsjail for c#
* Remove c_variadic feature
* Remove unused imports
* Add c_variadic only for wasm32 assembly
* Fix c# test
* Add dotnet to the images
* Update dockerfiles
* Update dockerfile again
* Touch Dockerfile
* npm install c# parser
* Add opt mount in nsjail
* Update ee repo ref
* Add csharp to backend image for tests
* Add setting to set nuget package
* Windows compatibility
* Disable csharp test
* ADd feature flag
* Nits on the service logs page
* Show all the hosts returned by query + sumOtherDocCount warning
* Remove from index endpoint
* Fix tests
* Prepare sqlx
* Search across all hosts in index. killpill on index pull
* Add retention period for service logs
* Remove console log
* monitor log_file when older than biggest retention period (job / log)
* Retention period deletes service and job logs
* Add setting to monitor logs out of s3
* Prepare sqlx
* Update ee repo ref
* Prepare sqlx
* Unused variables
* (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>
* 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>
Be sure to also track the min version of workers that have been started
after the min version variable has been set. e.g. All workers are up to
date and `MIN_VERSION_IS_AT_LEAST_1_427` is set to true, a worker is
then powered on with an anterior version, leading to a false positive
value. This commit fix that.