Alexander Petric
7147dde511
fix: enforce self-approval check on flow resume owner endpoint ( #7886 )
...
* fix: enforce self-approval check on flow resume owner endpoint
* sqlx
* fix test
* fix mcp fields
* test self aproval allowed + other user approves flow
2026-02-10 23:14:40 +00:00
Ruben Fiszel
4343b73485
fix: reduce DB pool contention by eliminating dual-connection patterns ( #7861 )
2026-02-09 22:48:29 +00:00
Ruben Fiszel
dc5e69481d
test: add end-to-end trigger integration tests and DB CRUD tests
...
Add 7 #[ignore] e2e tests (one per trigger type) that fire real messages
to external services and verify job creation in v2_job. Also add 9 DB-level
CRUD tests for MQTT, GCP, and Email triggers.
Includes helper shell scripts in tests/fixtures/ to start/stop each
external service (MQTT, WebSocket, Postgres replication, Kafka, NATS,
SQS via LocalStack, GCP Pub/Sub emulator).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 12:28:25 +00:00
Ruben Fiszel
aa9f3da429
fix: make V8 runtime init idempotent and auto-initialize before isolate creation
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-08 14:31:12 +00:00
Ruben Fiszel
e1a815f6a0
refactor: extract windmill-dep-map crate for parallel api/worker compilation ( #7846 )
...
* refactor: extract windmill-dep-map crate for parallel api/worker compilation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: resolve WebhookShared type mismatch and missing enterprise propagation
- Make windmill-api webhook_util re-export from windmill-common instead of
duplicating types, fixing Extension<WebhookShared> mismatch between
windmill-store and windmill-api
- Add windmill-api-jobs/enterprise to windmill-trigger enterprise feature
so check_license_key_valid is available when trigger subcrates enable
enterprise on windmill-trigger
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: stop trigger features from unconditionally enabling enterprise
Move enterprise propagation for all trigger subcrates from individual
trigger feature definitions to the enterprise feature itself, so
enterprise is only enabled when explicitly requested.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* refactor: remove unused pub use re-exports and disable CI cargo cache
- Remove unused re-exports from windmill-worker/src/lib.rs:
trigger_dependents_to_recompute_dependencies, handle_job_error,
and unused bun/otel items
- Fix callers to use direct module paths instead
- Add windmill-dep-map as dev-dependency for tests
- Disable cargo cache in backend-check CI (faster from-scratch builds)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: restore bun re-exports used by tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* all
* chore: re-enable cargo cache for check_ee_full CI job
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-08 00:39:56 +00:00
hugocasa
ef89a51f3a
feat: upgrade bun to v1.3.8 with regression tests ( #7761 )
...
* test: add bun executor tests with minimal production code changes
- Add comprehensive bun job tests (bun_jobs.rs) covering:
- Basic execution, error handling, annotation modes
- Relative imports, deeply nested imports
- Dedicated worker protocol for both Node.js and Bun runtimes
- Builder tests for lockfile generation (import scanning)
- Minimize changes to bun_executor.rs by exposing:
- RELATIVE_BUN_LOADER and RELATIVE_BUN_BUILDER constants
- build_loader() function and LoaderMode enum
- BUN_DEDICATED_WORKER_ARGS constant
- generate_dedicated_worker_wrapper() function
- Tests call production code directly (build_loader) instead of
duplicating script generation logic
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* nit
* fix: reuse BUN_PATH/NODE_BIN_PATH from windmill-worker, add node to CI
- Tests now use exported BUN_PATH and NODE_BIN_PATH constants instead
of duplicating env var logic
- Update backend-test.yml:
- Upgrade bun to v1.3.8
- Add setup-node action
- Add NODE_BIN_PATH to cargo test command
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* add private repo test
* fix private repo test
* try fix again
* fix
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-04 11:38:15 +00:00
Ruben Fiszel
6c84a89053
fix: require AGENT_TOKEN and BASE_INTERNAL_URL for agent mode
...
- Add AgentConfig struct to validate required env vars on startup
- Change build_agent_http_client to require explicit token and URL
- Remove DEFAULT_BASE_INTERNAL_URL fallback (no more silent localhost:8000)
- Exit immediately if agent cannot connect to server on initial load
- Update integration tests to use dynamic port for BASE_INTERNAL_URL
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-29 23:12:18 +00:00
Pyra
7249b82dba
feat: better mixed versions handling ( #7628 )
2026-01-22 23:16:57 +00:00
Pyra
9d698dabb4
feat: v2 job debouncing ( #7411 )
...
* rework everything again
Signed-off-by: pyranota <pyra@duck.com >
* updcate sqlx
Signed-off-by: pyranota <pyra@duck.com >
* update ref
Signed-off-by: pyranota <pyra@duck.com >
* fix things
Signed-off-by: pyranota <pyra@duck.com >
* fix function
Signed-off-by: pyranota <pyra@duck.com >
* final fixes
Signed-off-by: pyranota <pyra@duck.com >
* update sqlx
Signed-off-by: pyranota <pyra@duck.com >
* fix script creation
Signed-off-by: pyranota <pyra@duck.com >
* address todo
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* remove dbg
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fix
Signed-off-by: pyranota <pyra@duck.com >
* fixups
Signed-off-by: pyranota <pyra@duck.com >
* fix cargo.toml
Signed-off-by: pyranota <pyra@duck.com >
* update ee repo
Signed-off-by: pyranota <pyra@duck.com >
* fix ci
Signed-off-by: pyranota <pyra@duck.com >
* nit
Signed-off-by: pyranota <pyra@duck.com >
* ref
Signed-off-by: pyranota <pyra@duck.com >
* fix
Signed-off-by: pyranota <pyra@duck.com >
* ee repo
Signed-off-by: pyranota <pyra@duck.com >
* sqlx
Signed-off-by: pyranota <pyra@duck.com >
* ee ref
Signed-off-by: pyranota <pyra@duck.com >
* remove dbg
Signed-off-by: pyranota <pyra@duck.com >
* sqlx
Signed-off-by: pyranota <pyra@duck.com >
* feat: v2 job debouncing
Signed-off-by: pyranota <pyra@duck.com >
* v2 debouncing
Signed-off-by: pyranota <pyra@duck.com >
* compat
Signed-off-by: pyranota <pyra@duck.com >
* fix all
Signed-off-by: pyranota <pyra@duck.com >
* remove legacy logic
Signed-off-by: pyranota <pyra@duck.com >
* nit
Signed-off-by: pyranota <pyra@duck.com >
* finish
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* stage import
Signed-off-by: pyranota <pyra@duck.com >
* remove unused import
Signed-off-by: pyranota <pyra@duck.com >
* remove comments
Signed-off-by: pyranota <pyra@duck.com >
* ee ref
Signed-off-by: pyranota <pyra@duck.com >
* ee ref
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* Update backend/windmill-queue/src/jobs.rs
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update backend/windmill-common/src/runnable_settings/settings.rs
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update frontend/src/lib/components/flows/DebounceLimit.svelte
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* fix nits
Signed-off-by: pyranota <pyra@duck.com >
* force no compat in ci
Signed-off-by: pyranota <pyra@duck.com >
* better default key handling
Signed-off-by: pyranota <pyra@duck.com >
* simplify
Signed-off-by: pyranota <pyra@duck.com >
* sqlx
Signed-off-by: pyranota <pyra@duck.com >
* optimize
Signed-off-by: pyranota <pyra@duck.com >
* sqlx
Signed-off-by: pyranota <pyra@duck.com >
* fix flow step
Signed-off-by: pyranota <pyra@duck.com >
* add openapi
Signed-off-by: pyranota <pyra@duck.com >
* fix ci
Signed-off-by: pyranota <pyra@duck.com >
* ee ref
Signed-off-by: pyranota <pyra@duck.com >
* rename WMDEBUG flag
Signed-off-by: pyranota <pyra@duck.com >
* ee ref
Signed-off-by: pyranota <pyra@duck.com >
* remove gate for is_flow_step on pull
Signed-off-by: pyranota <pyra@duck.com >
* remove dead code
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* chore: update ee-repo-ref to 71d872d27de44227b82f75a9c0879d8428684880
This commit updates the EE repository reference after PR #369 was merged in windmill-ee-private.
Previous ee-repo-ref: 4c7642dc9f7f4467fc055136bd56558b66ef2d54
New ee-repo-ref: 71d872d27de44227b82f75a9c0879d8428684880
Automated by sync-ee-ref workflow.
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-12-23 13:24:04 +00:00
Pyra
fe56191422
feat(internal): runnable settings ( #7298 )
...
* rework everything again
Signed-off-by: pyranota <pyra@duck.com >
* updcate sqlx
Signed-off-by: pyranota <pyra@duck.com >
* update ref
Signed-off-by: pyranota <pyra@duck.com >
* fix things
Signed-off-by: pyranota <pyra@duck.com >
* fix function
Signed-off-by: pyranota <pyra@duck.com >
* final fixes
Signed-off-by: pyranota <pyra@duck.com >
* update sqlx
Signed-off-by: pyranota <pyra@duck.com >
* fix script creation
Signed-off-by: pyranota <pyra@duck.com >
* address todo
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* remove dbg
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fix
Signed-off-by: pyranota <pyra@duck.com >
* fixups
Signed-off-by: pyranota <pyra@duck.com >
* fix cargo.toml
Signed-off-by: pyranota <pyra@duck.com >
* update ee repo
Signed-off-by: pyranota <pyra@duck.com >
* fix ci
Signed-off-by: pyranota <pyra@duck.com >
* nit
Signed-off-by: pyranota <pyra@duck.com >
* ref
Signed-off-by: pyranota <pyra@duck.com >
* fix
Signed-off-by: pyranota <pyra@duck.com >
* ee repo
Signed-off-by: pyranota <pyra@duck.com >
* sqlx
Signed-off-by: pyranota <pyra@duck.com >
* ee ref
Signed-off-by: pyranota <pyra@duck.com >
* remove dbg
Signed-off-by: pyranota <pyra@duck.com >
* sqlx
Signed-off-by: pyranota <pyra@duck.com >
* chore: update ee-repo-ref to 505eadbff32d102ea5245a2bef88ce6f1bb95395
This commit updates the EE repository reference after PR #348 was merged in windmill-ee-private.
Previous ee-repo-ref: 195243e56cc0eab55f8890fa57297206bfe2c18c
New ee-repo-ref: 505eadbff32d102ea5245a2bef88ce6f1bb95395
Automated by sync-ee-ref workflow.
* ci: force runnable settings
Signed-off-by: pyranota <pyra@duck.com >
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-12-16 21:17:06 +00:00
hugocasa
eb284dfabd
feat: triggers suspended mode ( #7297 )
...
* first commit
* base
* ok
* remove print
* rm packe json
* fix discard
* fix
* update .sqlx
* update
* update ref
* jobs update
* nits
* update ref
* big
* update sqlx
* fix
* update
* nits and fix
* nits
* ok
* sqlx + fix import
* better
* nit
* suspended mode draft
* UI and http triggers
* nits
* done for http triggers
* feat: better retry/error handler check
* generalize to all triggers
* fix merge conflicts
* fix listener
* nits
* nit
* fix merge conflict
* update ee ref
---------
Co-authored-by: dieriba <dieriba.pro@gmail.com >
2025-12-08 16:20:49 +00:00
Diego Imbert
7b1a8b0dce
fix: improve S3 etag caching ( #7301 )
2025-12-05 18:01:27 +00:00
Pyra
1dfb0f0078
refactor: move concurrency and debouncing settings to their own structs ( #7286 )
...
* move concurrency and debouncing settings to it's own structs
Signed-off-by: pyranota <pyra@duck.com >
* cleanup queue::jobs::pull
Signed-off-by: pyranota <pyra@duck.com >
* done
Signed-off-by: pyranota <pyra@duck.com >
* migrated the rest
Signed-off-by: pyranota <pyra@duck.com >
* implement todo!
* impmenet todo! v2
* more cleanup
* fix all
Signed-off-by: pyranota <pyra@duck.com >
* remove unrelated code
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* do not serialize rawcode
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fixes
Signed-off-by: pyranota <pyra@duck.com >
* update ee repo ref
Signed-off-by: pyranota <pyra@duck.com >
* update ee repo
Signed-off-by: pyranota <pyra@duck.com >
* fix tests
Signed-off-by: pyranota <pyra@duck.com >
* Update ee-repo-ref.txt
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-12-04 10:11:54 +00:00
Diego Imbert
0639623af6
Trigger kind filter ( #7123 )
...
* Pass JobTriggerKind to push() to store it in v2_job
* fix compiltion
* frontend job trigger kind filter
* SQL trigger_kind filtering
* fix animated button
* ee repo ref
* Fix "Show schedule" + trigger kind = schedule
* duplicate email
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-11-13 10:50:04 +00:00
Ramtin Mesgari
5da494b197
refactor: remove legacy database views v2_as_queue and v2_as_completed_job ( #6689 )
...
* refactor: remove legacy database views v2_as_queue and v2_as_completed_job
Signed-off-by: Ramtin Mesgari <26694963+iamramtin@users.noreply.github.com >
* fix tests
* fix jobs.rs
* end
* fix
* improvement
* improvement
---------
Signed-off-by: Ramtin Mesgari <26694963+iamramtin@users.noreply.github.com >
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
2025-11-04 13:08:02 +00:00
Pyra
edece035f8
feat: job debouncing ( #6878 )
...
* feat(EE): job debouncing
Signed-off-by: pyranota <pyra@duck.com >
* remove 'script' file
Signed-off-by: pyranota <pyra@duck.com >
* more work
Signed-off-by: pyranota <pyra@duck.com >
* properly gate it behind enterprise
Signed-off-by: pyranota <pyra@duck.com >
* update ee repo ref
Signed-off-by: pyranota <pyra@duck.com >
* change ee repo ref again
Signed-off-by: pyranota <pyra@duck.com >
* remove unused variable
Signed-off-by: pyranota <pyra@duck.com >
* feat(EE): implement TODOs and enhance tracing for job debouncing
- Add database index on script(workspace_id, debounce_key) for efficient lookups
- Update minimum version requirement to 1.564.0 throughout codebase
- Add tracing warnings when debouncing is disabled due to worker version mismatch
- Fix all documentation links from TODO placeholders to proper URLs
- Replace Gauge icon with Timer icon for debouncing UI elements
- Update placeholder text and tooltips with clear descriptions
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* create -> crate
Signed-off-by: pyranota <pyra@duck.com >
* remove index
Signed-off-by: pyranota <pyra@duck.com >
* some updates
Signed-off-by: pyranota <pyra@duck.com >
* fix once more
Signed-off-by: pyranota <pyra@duck.com >
* fix it once more
Signed-off-by: pyranota <pyra@duck.com >
* Remove flow step debouncing, keep top-level flow debouncing
- Remove debounce fields from RawScript and FlowScript FlowModuleValue variants
- Remove debounce fields from JobPayload::FlowScript and RawCode
- Update raw_script_to_payload function signature
- Remove debouncing UI from flow step runtime settings
- Remove debouncing toggle handler and indicator badge
- Preserve top-level flow debouncing in FlowSettings
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fixup claude's work
Signed-off-by: pyranota <pyra@duck.com >
* cleanup: remove dbg! statements, update min version to 1.566.0, add comprehensive comments
- Removed all dbg! macro calls from production code
- Updated MIN_VERSION_SUPPORTS_DEBOUNCING from 1.564.0 to 1.566.0
- Added comprehensive documentation comments explaining:
- Debouncing feature purpose and mechanics
- Database schema for debounce_key and debounce_stale_data tables
- Version check logic and guard functions
- Improved code clarity and maintainability
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* improve fallback
Signed-off-by: pyranota <pyra@duck.com >
* remove comments from old migration
Signed-off-by: pyranota <pyra@duck.com >
* fix pull
Signed-off-by: pyranota <pyra@duck.com >
* fix once more
Signed-off-by: pyranota <pyra@duck.com >
* Update frontend/src/lib/components/ScriptBuilder.svelte
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* add sqlx cache
Signed-off-by: pyranota <pyra@duck.com >
* fix: frontend CI - fix debounce field names and remove leftover flow step debouncing
- Fix ScriptBuilder.svelte: change custom_debounce_key to debounce_key
- Add debounce_key and debounce_delay_s fields to NewScript schema in openapi.yaml
- Regenerate frontend types from OpenAPI spec
- Remove leftover flow step debouncing code from FlowModuleComponent.svelte
- Remove debounce fields from RawScript in openflow.openapi.yaml
- Remove unused Timer import from FlowModuleHeader.svelte
All frontend checks now passing (0 errors, 0 warnings)
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* fix ci
Signed-off-by: pyranota <pyra@duck.com >
* remove unused import
Signed-off-by: pyranota <pyra@duck.com >
* fix ci again
Signed-off-by: pyranota <pyra@duck.com >
* udpate ee repo ref
Signed-off-by: pyranota <pyra@duck.com >
* CI doesn't want to be fixed but I still try
Signed-off-by: pyranota <pyra@duck.com >
* nits
Signed-off-by: pyranota <pyra@duck.com >
* ci...
Signed-off-by: pyranota <pyra@duck.com >
* Update ee-repo-ref.txt
* safer migration
Signed-off-by: pyranota <pyra@duck.com >
* reduce noise in logs
Signed-off-by: pyranota <pyra@duck.com >
* fix cli for scripts
Signed-off-by: pyranota <pyra@duck.com >
* nit
Signed-off-by: pyranota <pyra@duck.com >
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2025-10-23 20:18:08 +00:00
Pyra
defb6c9694
feat: dependency job debouncing ( #6769 )
...
* v0
Signed-off-by: pyranota <pyra@duck.com >
* optimize relocks
* make it work with relative relative imports
Signed-off-by: pyranota <pyra@duck.com >
* use fallback
Signed-off-by: pyranota <pyra@duck.com >
* remove dbg and todos
Signed-off-by: pyranota <pyra@duck.com >
* future proof a bit
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* more cleanup
Signed-off-by: pyranota <pyra@duck.com >
* remove final TODO
Signed-off-by: pyranota <pyra@duck.com >
* do not use bytemuck
Signed-off-by: pyranota <pyra@duck.com >
* optimize hashing
Signed-off-by: pyranota <pyra@duck.com >
* implementation 1
Signed-off-by: pyranota <pyra@duck.com >
* almost v0
Signed-off-by: pyranota <pyra@duck.com >
* v0
Signed-off-by: pyranota <pyra@duck.com >
* add comments and use fallback
Signed-off-by: pyranota <pyra@duck.com >
* call dissolve for apps
Signed-off-by: pyranota <pyra@duck.com >
* add comms
Signed-off-by: pyranota <pyra@duck.com >
* refactor v0 (partially tested + dirty)
Signed-off-by: pyranota <pyra@duck.com >
* finishing
Signed-off-by: pyranota <pyra@duck.com >
* remove TODO
Signed-off-by: pyranota <pyra@duck.com >
* Update SQLx metadata
* silence unused argument
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* implement rebuild_map endpoint
Signed-off-by: pyranota <pyra@duck.com >
* update windmill api client
Signed-off-by: pyranota <pyra@duck.com >
* almost finish with tests
Signed-off-by: pyranota <pyra@duck.com >
* add proper testing
Signed-off-by: pyranota <pyra@duck.com >
* remove unused fixtures
Signed-off-by: pyranota <pyra@duck.com >
* Update SQLx metadata
* partial cleanup
Signed-off-by: pyranota <pyra@duck.com >
* Update backend/windmill-worker/src/scoped_dependency_map.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update backend/windmill-common/src/scripts.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* evil doings
Signed-off-by: pyranota <pyra@duck.com >
* more cleanup
* Update SQLx metadata
* more cleanup
Signed-off-by: pyranota <pyra@duck.com >
* fixing CI
Signed-off-by: pyranota <pyra@duck.com >
* remove python from default features
Signed-off-by: pyranota <pyra@duck.com >
* feat: dependency job debouncing
* checkpoint
Signed-off-by: pyranota <pyra@duck.com >
* more improvements
Signed-off-by: pyranota <pyra@duck.com >
* refactor: clean up dependency job debouncing implementation
- Add comprehensive comments explaining the debouncing mechanism
- Replace debug statements (dbg!) with proper tracing calls
- Extract helper functions to reduce code duplication:
- extract_to_relock_from_args() for extracting nodes/components
- accumulate_debounce_stale_data() for updating stale data
- Improve code readability and maintainability
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* Update SQLx metadata
* Update backend/windmill-common/src/jobs.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update backend/windmill-common/src/jobs.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update backend/windmill-queue/src/jobs.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* better error handling for helper
Signed-off-by: pyranota <pyra@duck.com >
* update ee-ref
Signed-off-by: pyranota <pyra@duck.com >
* test: add race condition test for dependency job debouncing
- Implement test_2 for scripts to test the race condition edge case
- Add comprehensive documentation comments to all test functions
- Remove empty test_2 stubs for flows (not needed)
- Keep test_2 stub for apps with TODO comment
The race condition test simulates the scenario where a job is marked
as running but debounce_key hasn't been cleaned up yet, forcing the
system to create a new job while reusing the existing debounce_key.
This edge case can occur due to the lack of transactions in the pull
function for performance reasons (see jobs.rs:4415-4425).
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* test: implement race condition test for dependency job debouncing
- Add comprehensive test_2 for script module that tests the race condition edge case
- Remove empty test_2 stubs from flows and apps modules
- Fix unused variable warning in worker_lockfiles.rs
- Add detailed comments explaining the race condition scenario and test logic
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* implement fallback
Signed-off-by: pyranota <pyra@duck.com >
* make it mostly work
* all tests are almost working
Signed-off-by: pyranota <pyra@duck.com >
* add comments a bit
Signed-off-by: pyranota <pyra@duck.com >
* Update backend/windmill-common/src/scripts.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update backend/windmill-worker/src/worker_lockfiles.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update backend/windmill-worker/src/worker_lockfiles.rs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: improve debouncing documentation, tracing, and error handling
- Add comprehensive 3-phase debouncing documentation explaining push/accumulation/pull
- Enhance all tracing with structured logging (job_id, workspace_id, node_count, etc.)
- Add proper error handling with .map_err() and contextual messages
- Replace dbg!() with proper tracing::debug!()
- Replace todo!() with proper error handling
- Fix typos: 'and edge case' → 'an edge case', 'bc' → 'because'
- Fix debug variable name: 'debounce_job_id_0' → 'debounce_job_id_o'
- Add documentation for debounce cleanup and stale data retrieval
- Add trace-level logging for non-error paths to reduce noise
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
* do some work for future improvements
Signed-off-by: pyranota <pyra@duck.com >
* fix tests
Signed-off-by: pyranota <pyra@duck.com >
* clippy
Signed-off-by: pyranota <pyra@duck.com >
* update sqlx
Signed-off-by: pyranota <pyra@duck.com >
* clippy
Signed-off-by: pyranota <pyra@duck.com >
* update ee ref
Signed-off-by: pyranota <pyra@duck.com >
* flag tests behind the feature, add timeout
Signed-off-by: pyranota <pyra@duck.com >
* fix timeout + cleanup
Signed-off-by: pyranota <pyra@duck.com >
* cleanup
Signed-off-by: pyranota <pyra@duck.com >
* row lock debounce_key
Signed-off-by: pyranota <pyra@duck.com >
* addressing TODOs
Signed-off-by: pyranota <pyra@duck.com >
* fix test
Signed-off-by: pyranota <pyra@duck.com >
* ee ref
Signed-off-by: pyranota <pyra@duck.com >
* ee repo
Signed-off-by: pyranota <pyra@duck.com >
---------
Signed-off-by: pyranota <pyra@duck.com >
Co-authored-by: Pyra <92104930+pyranye@users.noreply.github.com >
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Pyra <pyranota@users.noreply.github.com >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev >
2025-10-16 16:49:35 +00:00
hugocasa
3907c9f951
feat: end user email env var ( #6750 )
...
* feat: end user email env var
* nit
* nits
2025-10-03 17:27:58 +00:00
Ruben Fiszel
2d865389d1
sleep before exiting in tests
2025-09-13 11:17:14 +00:00
Ruben Fiszel
cf70265ee9
rust tests cleanup ( #6573 )
...
* test improvements
* improve tests
* improve tests
2025-09-10 14:43:10 +00:00