Merge branch 'main' into alp/quartz_schedules

This commit is contained in:
Alexander Petric
2024-11-13 21:02:10 -05:00
committed by GitHub
24 changed files with 253 additions and 305 deletions
@@ -0,0 +1,58 @@
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: windows-latest
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
- name: Substitute EE code
shell: bash
run: |
./backend/substitute_ee_code.sh --copy --dir ./windmill-ee-private
- name: Cargo build windows
timeout-minutes: 90
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=enterprise,stripe,embedding,parquet,prometheus,openidconnect,cloud,jemalloc,tantivy,deno_core
- name: Rename binary with corresponding architecture
run: |
Rename-Item -Path ".\backend\target\release\windmill.exe" -NewName "windmill-ee.exe"
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: windmill-ee-binary
path: ./backend/target/release/windmill-ee.exe
+7
View File
@@ -1,5 +1,12 @@
# Changelog
## [1.423.2](https://github.com/windmill-labs/windmill/compare/v1.423.1...v1.423.2) (2024-11-13)
### Bug Fixes
* fix intempestive expr type change in flow transform ([84bd06e](https://github.com/windmill-labs/windmill/commit/84bd06e90650e949c11e2b09447a7bad1ab60a95))
## [1.423.1](https://github.com/windmill-labs/windmill/compare/v1.423.0...v1.423.1) (2024-11-12)
+119 -93
View File
@@ -576,7 +576,7 @@ dependencies = [
"serde-aux",
"serde_json",
"sha2 0.10.8",
"thiserror",
"thiserror 1.0.69",
"url",
]
@@ -659,7 +659,7 @@ dependencies = [
"sha2 0.10.8",
"smart-default",
"smol_str",
"thiserror",
"thiserror 1.0.69",
"tokio",
"uuid 0.8.2",
]
@@ -692,7 +692,7 @@ dependencies = [
"crc32fast",
"log",
"pin-project",
"thiserror",
"thiserror 1.0.69",
"tokio",
]
@@ -1363,9 +1363,9 @@ dependencies = [
[[package]]
name = "borsh"
version = "1.5.2"
version = "1.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5327f6c99920069d1fe374aa743be1af0031dea9f250852cdf1ae6a0861ee24"
checksum = "2506947f73ad44e344215ccd6403ac2ae18cd8e046e581a441bf8d199f257f03"
dependencies = [
"borsh-derive",
"cfg_aliases",
@@ -1373,9 +1373,9 @@ dependencies = [
[[package]]
name = "borsh-derive"
version = "1.5.2"
version = "1.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10aedd8f1a81a8aafbfde924b0e3061cd6fedd6f6bbcfc6a76e6fd426d7bfe26"
checksum = "c2593a3b8b938bd68373196c9832f516be11fa487ef4ae745eb282e6a56a7244"
dependencies = [
"once_cell",
"proc-macro-crate",
@@ -1545,7 +1545,7 @@ dependencies = [
"rand_distr",
"rayon",
"safetensors",
"thiserror",
"thiserror 1.0.69",
"yoke",
"zip",
]
@@ -1562,7 +1562,7 @@ dependencies = [
"rayon",
"safetensors",
"serde",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -1714,9 +1714,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.20"
version = "4.5.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f"
dependencies = [
"clap_builder",
"clap_derive",
@@ -1724,9 +1724,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.20"
version = "4.5.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec"
dependencies = [
"anstream",
"anstyle",
@@ -1748,9 +1748,9 @@ dependencies = [
[[package]]
name = "clap_lex"
version = "0.7.2"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7"
[[package]]
name = "cmake"
@@ -1783,13 +1783,13 @@ dependencies = [
[[package]]
name = "comfy-table"
version = "7.1.1"
version = "7.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7"
checksum = "e0d05af1e006a2407bedef5af410552494ce5be9090444dbbcb57258c1af3d56"
dependencies = [
"strum 0.26.3",
"strum_macros 0.26.4",
"unicode-width 0.1.14",
"unicode-width 0.2.0",
]
[[package]]
@@ -2562,7 +2562,7 @@ dependencies = [
"once_cell",
"percent-encoding",
"serde",
"sourcemap 9.0.1",
"sourcemap 9.1.0",
"swc_atoms",
"swc_common",
"swc_config",
@@ -2585,7 +2585,7 @@ dependencies = [
"swc_visit",
"swc_visit_macros",
"text_lines",
"thiserror",
"thiserror 1.0.69",
"unicode-width 0.1.14",
"url",
]
@@ -2724,7 +2724,7 @@ dependencies = [
"strum 0.25.0",
"strum_macros 0.25.3",
"syn 2.0.87",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -2734,7 +2734,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4889646c1ce8437a6fde3acb057fd7e2d039e62c61f5063fc125ed1ede114dc6"
dependencies = [
"percent-encoding",
"thiserror",
"thiserror 1.0.69",
"url",
]
@@ -3663,7 +3663,7 @@ dependencies = [
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
"thiserror",
"thiserror 1.0.69",
"time",
"tokio",
"tracing",
@@ -3909,7 +3909,7 @@ checksum = "5eb37859fda6792e95231aef1c5838f4043ec0ee352d8313421e311c606df612"
dependencies = [
"anyhow",
"strum 0.25.0",
"thiserror",
"thiserror 1.0.69",
"unic-ucd-category",
]
@@ -4076,7 +4076,7 @@ dependencies = [
"rand 0.8.5",
"serde",
"serde_json",
"thiserror",
"thiserror 1.0.69",
"ureq",
]
@@ -5328,7 +5328,7 @@ dependencies = [
"quote",
"syn 2.0.87",
"termcolor",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -5354,7 +5354,7 @@ dependencies = [
"serde",
"serde_json",
"socket2 0.5.7",
"thiserror",
"thiserror 1.0.69",
"tokio",
"tokio-native-tls",
"tokio-util",
@@ -5395,7 +5395,7 @@ dependencies = [
"sha2 0.10.8",
"smallvec",
"subprocess",
"thiserror",
"thiserror 1.0.69",
"time",
"uuid 1.11.0",
"zstd 0.13.2",
@@ -5587,7 +5587,7 @@ dependencies = [
"serde_json",
"serde_path_to_error",
"sha2 0.10.8",
"thiserror",
"thiserror 1.0.69",
"url",
]
@@ -5709,7 +5709,7 @@ dependencies = [
"serde_with",
"sha2 0.10.8",
"subtle",
"thiserror",
"thiserror 1.0.69",
"url",
]
@@ -6361,7 +6361,7 @@ dependencies = [
"serde",
"serde_json",
"syn 2.0.87",
"thiserror",
"thiserror 1.0.69",
"typify",
"unicode-ident",
]
@@ -6400,7 +6400,7 @@ dependencies = [
"lazy_static",
"memchr",
"parking_lot",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -6437,9 +6437,9 @@ dependencies = [
[[package]]
name = "psm"
version = "0.1.23"
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205"
checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810"
dependencies = [
"cc",
]
@@ -6528,9 +6528,9 @@ dependencies = [
[[package]]
name = "quinn"
version = "0.11.5"
version = "0.11.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef"
dependencies = [
"bytes",
"pin-project-lite",
@@ -6539,26 +6539,29 @@ dependencies = [
"rustc-hash 2.0.0",
"rustls 0.23.16",
"socket2 0.5.7",
"thiserror",
"thiserror 2.0.3",
"tokio",
"tracing",
]
[[package]]
name = "quinn-proto"
version = "0.11.8"
version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d"
dependencies = [
"bytes",
"getrandom 0.2.15",
"rand 0.8.5",
"ring 0.17.8",
"rustc-hash 2.0.0",
"rustls 0.23.16",
"rustls-pki-types",
"slab",
"thiserror",
"thiserror 2.0.3",
"tinyvec",
"tracing",
"web-time",
]
[[package]]
@@ -6771,7 +6774,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom 0.2.15",
"libredox",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -7084,7 +7087,7 @@ dependencies = [
"radix_fmt",
"rand 0.8.5",
"redis",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -7193,7 +7196,7 @@ checksum = "f1adc9dfed5cc999077978cc7163b9282c5751c8d39827c4ea8c8c220ca5a440"
dependencies = [
"serde",
"tempfile",
"thiserror",
"thiserror 1.0.69",
"toml 0.8.19",
"toolchain_find",
]
@@ -7299,6 +7302,9 @@ name = "rustls-pki-types"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
dependencies = [
"web-time",
]
[[package]]
name = "rustls-tokio-stream"
@@ -7436,7 +7442,7 @@ dependencies = [
"quick-xml 0.30.0",
"rand 0.8.5",
"serde",
"thiserror",
"thiserror 1.0.69",
"url",
"uuid 1.11.0",
]
@@ -7689,7 +7695,7 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6"
dependencies = [
"percent-encoding",
"serde",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -7700,7 +7706,7 @@ checksum = "8cac3f1e2ca2fe333923a1ae72caca910b98ed0630bb35ef6f8c8517d6e81afa"
dependencies = [
"percent-encoding",
"serde",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -7745,7 +7751,7 @@ dependencies = [
"num-bigint",
"serde",
"smallvec",
"thiserror",
"thiserror 1.0.69",
"v8",
]
@@ -7909,7 +7915,7 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085"
dependencies = [
"num-bigint",
"num-traits",
"thiserror",
"thiserror 1.0.69",
"time",
]
@@ -8052,9 +8058,9 @@ dependencies = [
[[package]]
name = "sourcemap"
version = "9.0.1"
version = "9.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86721155737d89818020dc35713595c6e7b21016073c101e6590c47ca58c2d16"
checksum = "4d146f02f4bbbabbbe3da0f9cd3ea2ab779defc4ed1f070b5bd83ea48ed78811"
dependencies = [
"base64-simd 0.7.0",
"bitvec",
@@ -8123,7 +8129,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1008d95d2ec2d062959352527be30e10fec42a1aa5e5a48d990a5ff0fb9bdc0"
dependencies = [
"anyhow",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@@ -8206,7 +8212,7 @@ dependencies = [
"sha2 0.10.8",
"smallvec",
"sqlformat",
"thiserror",
"thiserror 1.0.69",
"tokio",
"tokio-stream",
"tracing",
@@ -8293,7 +8299,7 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
"thiserror",
"thiserror 1.0.69",
"tracing",
"uuid 1.11.0",
"whoami",
@@ -8335,7 +8341,7 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
"thiserror",
"thiserror 1.0.69",
"tracing",
"uuid 1.11.0",
"whoami",
@@ -8542,7 +8548,7 @@ dependencies = [
"rustc-hash 1.1.0",
"serde",
"siphasher",
"sourcemap 9.0.1",
"sourcemap 9.1.0",
"swc_allocator",
"swc_atoms",
"swc_eq_ignore_macros",
@@ -8606,7 +8612,7 @@ dependencies = [
"num-bigint",
"once_cell",
"serde",
"sourcemap 9.0.1",
"sourcemap 9.1.0",
"swc_allocator",
"swc_atoms",
"swc_common",
@@ -8911,7 +8917,7 @@ dependencies = [
"byteorder",
"enum-as-inner",
"libc",
"thiserror",
"thiserror 1.0.69",
"walkdir",
]
@@ -9002,7 +9008,7 @@ dependencies = [
"tantivy-stacker",
"tantivy-tokenizer-api",
"tempfile",
"thiserror",
"thiserror 1.0.69",
"time",
"uuid 1.11.0",
"winapi",
@@ -9152,7 +9158,16 @@ version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
dependencies = [
"thiserror-impl",
"thiserror-impl 1.0.69",
]
[[package]]
name = "thiserror"
version = "2.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa"
dependencies = [
"thiserror-impl 2.0.3",
]
[[package]]
@@ -9166,6 +9181,17 @@ dependencies = [
"syn 2.0.87",
]
[[package]]
name = "thiserror-impl"
version = "2.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]]
name = "thread_local"
version = "1.1.8"
@@ -9207,7 +9233,7 @@ dependencies = [
"pretty-hex",
"rustls-native-certs 0.6.3",
"rustls-pemfile 1.0.4",
"thiserror",
"thiserror 1.0.69",
"tokio",
"tokio-rustls 0.24.1",
"tokio-util",
@@ -9333,7 +9359,7 @@ dependencies = [
"rayon",
"schemars",
"serde",
"thiserror",
"thiserror 1.0.69",
"tracing",
]
@@ -9364,7 +9390,7 @@ dependencies = [
"serde",
"serde_json",
"spm_precompiled",
"thiserror",
"thiserror 1.0.69",
"unicode-normalization-alignments",
"unicode-segmentation",
"unicode_categories",
@@ -9466,7 +9492,7 @@ checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f"
dependencies = [
"either",
"futures-util",
"thiserror",
"thiserror 1.0.69",
"tokio",
]
@@ -9712,7 +9738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf"
dependencies = [
"crossbeam-channel",
"thiserror",
"thiserror 1.0.69",
"time",
"tracing-subscriber",
]
@@ -9862,7 +9888,7 @@ dependencies = [
"rand 0.8.5",
"serde",
"smallvec",
"thiserror",
"thiserror 1.0.69",
"tinyvec",
"tokio",
"tracing",
@@ -9885,7 +9911,7 @@ dependencies = [
"resolv-conf",
"serde",
"smallvec",
"thiserror",
"thiserror 1.0.69",
"tokio",
"tracing",
"trust-dns-proto",
@@ -9912,7 +9938,7 @@ dependencies = [
"native-tls",
"rand 0.8.5",
"sha1",
"thiserror",
"thiserror 1.0.69",
"utf-8",
]
@@ -9963,7 +9989,7 @@ dependencies = [
"schemars",
"serde_json",
"syn 2.0.87",
"thiserror",
"thiserror 1.0.69",
"unicode-ident",
]
@@ -10593,7 +10619,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windmill"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"axum",
@@ -10635,7 +10661,7 @@ dependencies = [
[[package]]
name = "windmill-api"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"argon2",
@@ -10721,7 +10747,7 @@ dependencies = [
[[package]]
name = "windmill-api-client"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"base64 0.22.1",
"chrono",
@@ -10739,7 +10765,7 @@ dependencies = [
[[package]]
name = "windmill-audit"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"chrono",
"serde",
@@ -10752,7 +10778,7 @@ dependencies = [
[[package]]
name = "windmill-autoscaling"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"rsmq_async",
@@ -10767,7 +10793,7 @@ dependencies = [
[[package]]
name = "windmill-common"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"async-stream",
@@ -10799,7 +10825,7 @@ dependencies = [
"serde_json",
"sha2 0.10.8",
"sqlx",
"thiserror",
"thiserror 1.0.69",
"tikv-jemalloc-ctl",
"tokio",
"tracing",
@@ -10813,7 +10839,7 @@ dependencies = [
[[package]]
name = "windmill-git-sync"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"regex",
"rsmq_async",
@@ -10828,7 +10854,7 @@ dependencies = [
[[package]]
name = "windmill-indexer"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"bytes",
@@ -10850,7 +10876,7 @@ dependencies = [
[[package]]
name = "windmill-macros"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"itertools 0.13.0",
"lazy_static",
@@ -10862,7 +10888,7 @@ dependencies = [
[[package]]
name = "windmill-parser"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"convert_case 0.6.0",
"serde",
@@ -10871,7 +10897,7 @@ dependencies = [
[[package]]
name = "windmill-parser-bash"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"lazy_static",
@@ -10883,7 +10909,7 @@ dependencies = [
[[package]]
name = "windmill-parser-go"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"gosyn",
@@ -10895,7 +10921,7 @@ dependencies = [
[[package]]
name = "windmill-parser-graphql"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"lazy_static",
@@ -10907,7 +10933,7 @@ dependencies = [
[[package]]
name = "windmill-parser-php"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"itertools 0.13.0",
@@ -10918,7 +10944,7 @@ dependencies = [
[[package]]
name = "windmill-parser-py"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"itertools 0.13.0",
@@ -10929,7 +10955,7 @@ dependencies = [
[[package]]
name = "windmill-parser-py-imports"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"async-recursion",
@@ -10947,7 +10973,7 @@ dependencies = [
[[package]]
name = "windmill-parser-rust"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"convert_case 0.6.0",
@@ -10964,7 +10990,7 @@ dependencies = [
[[package]]
name = "windmill-parser-sql"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"lazy_static",
@@ -10976,7 +11002,7 @@ dependencies = [
[[package]]
name = "windmill-parser-ts"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"lazy_static",
@@ -10994,7 +11020,7 @@ dependencies = [
[[package]]
name = "windmill-parser-wasm"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"getrandom 0.2.15",
@@ -11015,7 +11041,7 @@ dependencies = [
[[package]]
name = "windmill-parser-yaml"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"serde_json",
@@ -11025,7 +11051,7 @@ dependencies = [
[[package]]
name = "windmill-queue"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"async-recursion",
@@ -11059,7 +11085,7 @@ dependencies = [
[[package]]
name = "windmill-sql-datatype-parser-wasm"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"wasm-bindgen",
"wasm-bindgen-test",
@@ -11069,7 +11095,7 @@ dependencies = [
[[package]]
name = "windmill-worker"
version = "1.423.1"
version = "1.423.2"
dependencies = [
"anyhow",
"async-recursion",
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "windmill"
version = "1.423.1"
version = "1.423.2"
authors.workspace = true
edition.workspace = true
@@ -29,7 +29,7 @@ members = [
]
[workspace.package]
version = "1.423.1"
version = "1.423.2"
authors = ["Ruben Fiszel <ruben@windmill.dev>"]
edition = "2021"
+1 -1
View File
@@ -1 +1 @@
5938b3f66b070ba3578aeeda89e6cc17c4cbda2d
e3df64af864f9d3546a97ff21f719c553e34ff1c
+1 -1
View File
@@ -1,7 +1,7 @@
openapi: "3.0.3"
info:
version: 1.423.1
version: 1.423.2
title: Windmill API
contact:
+10 -2
View File
@@ -48,6 +48,7 @@ use futures::{
use crate::common::{resolve_job_timeout, OccupancyMetrics};
use crate::job_logger::{append_job_logs, append_with_limit, LARGE_LOG_THRESHOLD_SIZE};
use crate::job_logger_ee::process_streaming_log_lines;
use crate::{MAX_RESULT_SIZE, MAX_WAIT_FOR_SIGINT, MAX_WAIT_FOR_SIGTERM};
lazy_static::lazy_static! {
@@ -434,6 +435,8 @@ pub async fn handle_child(
}
}
async fn get_mem_peak(pid: Option<u32>, nsjail: bool) -> i32 {
if pid.is_none() {
return -1;
@@ -689,19 +692,24 @@ fn child_joined_output_stream(
let stdout = BufReader::new(stdout).lines();
let stderr = BufReader::new(stderr).lines();
stream::select(lines_to_stream(stderr), lines_to_stream(stdout))
stream::select(lines_to_stream(stderr, true), lines_to_stream(stdout, false))
}
pub fn lines_to_stream<R: tokio::io::AsyncBufRead + Unpin>(
mut lines: tokio::io::Lines<R>,
stderr: bool,
) -> impl futures::Stream<Item = io::Result<String>> {
stream::poll_fn(move |cx| {
std::pin::Pin::new(&mut lines)
.poll_next_line(cx)
.map(|result| result.transpose())
.map(|result| {
process_streaming_log_lines(result, stderr)
})
})
}
pub fn process_status(status: ExitStatus) -> error::Result<()> {
if status.success() {
Ok(())
+9 -190
View File
@@ -1,15 +1,6 @@
use itertools::Itertools;
use swc_ecma_parser::lexer::util::CharExt;
#[cfg(all(feature = "enterprise", feature = "parquet"))]
use object_store::path::Path;
use regex::Regex;
#[cfg(all(feature = "enterprise", feature = "parquet"))]
use windmill_common::s3_helpers::OBJECT_STORE_CACHE_SETTINGS;
use windmill_common::error::{self};
use windmill_common::worker::{CLOUD_HOSTED, TMP_DIR};
use windmill_common::worker::CLOUD_HOSTED;
use windmill_queue::append_logs;
@@ -19,6 +10,12 @@ use std::sync::Arc;
use uuid::Uuid;
use windmill_common::DB;
use crate::job_logger_ee::default_disk_log_storage;
#[cfg(all(feature = "enterprise", feature = "parquet"))]
use crate::job_logger_ee::s3_storage;
pub enum CompactLogs {
#[cfg(not(all(feature = "enterprise", feature = "parquet")))]
NotEE,
@@ -28,150 +25,7 @@ pub enum CompactLogs {
S3,
}
async fn compact_logs(
job_id: Uuid,
w_id: &str,
db: &DB,
nlogs: String,
total_size: Arc<AtomicU32>,
compact_kind: CompactLogs,
_worker_name: &str,
) -> error::Result<(String, String)> {
let mut prev_logs = sqlx::query_scalar!(
"SELECT logs FROM job_logs WHERE job_id = $1 AND workspace_id = $2",
job_id,
w_id
)
.fetch_optional(db)
.await?
.flatten()
.unwrap_or_default();
let size = prev_logs.char_indices().count() as i32;
let nlogs_len = nlogs.char_indices().count();
let to_keep_in_db = usize::max(
usize::min(nlogs_len, 3000),
nlogs_len % LARGE_LOG_THRESHOLD_SIZE,
);
let extra_split = to_keep_in_db < nlogs_len;
let stored_in_storage_len = if extra_split {
nlogs_len - to_keep_in_db
} else {
0
};
let extra_to_newline = nlogs
.chars()
.skip(stored_in_storage_len)
.find_position(|x| x.is_line_break())
.map(|(i, _)| i)
.unwrap_or(to_keep_in_db);
let stored_in_storage_to_newline = stored_in_storage_len + extra_to_newline;
let (append_to_storage, stored_in_db) = if extra_split {
if stored_in_storage_to_newline == nlogs.len() {
(nlogs.as_ref(), "".to_string())
} else {
let split_idx = nlogs
.char_indices()
.nth(stored_in_storage_to_newline)
.map(|(i, _)| i)
.unwrap_or(0);
let (append_to_storage, stored_in_db) = nlogs.split_at(split_idx);
// tracing::error!("{append_to_storage} ||||| {stored_in_db}");
// tracing::error!(
// "{:?} {:?} {} {}",
// excess_prev_logs.lines().last(),
// current_logs.lines().next(),
// split_idx,
// excess_size_modulo
// );
(append_to_storage, stored_in_db.to_string())
}
} else {
// tracing::error!("{:?}", nlogs.lines().last());
("", nlogs.to_string())
};
let new_size_with_excess = size + stored_in_storage_to_newline as i32;
let new_size = total_size.fetch_add(
new_size_with_excess as u32,
std::sync::atomic::Ordering::SeqCst,
) + new_size_with_excess as u32;
let path = format!(
"logs/{job_id}/{}_{new_size}.txt",
chrono::Utc::now().timestamp_millis()
);
let mut new_current_logs = match compact_kind {
CompactLogs::NoS3 => format!("\n[windmill] No object storage set in instance settings. Previous logs have been saved to disk at {path}"),
CompactLogs::S3 => format!("\n[windmill] Previous logs have been saved to object storage at {path}"),
#[cfg(not(all(feature = "enterprise", feature = "parquet")))]
CompactLogs::NotEE => format!("\n[windmill] Previous logs have been saved to disk at {path}"),
};
new_current_logs.push_str(&stored_in_db);
sqlx::query!(
"UPDATE job_logs SET logs = $1, log_offset = $2,
log_file_index = array_append(coalesce(log_file_index, array[]::text[]), $3)
WHERE workspace_id = $4 AND job_id = $5",
new_current_logs,
new_size as i32,
path,
w_id,
job_id
)
.execute(db)
.await?;
prev_logs.push_str(&append_to_storage);
return Ok((prev_logs, path));
}
async fn default_disk_log_storage(
job_id: Uuid,
w_id: &str,
db: &DB,
nlogs: String,
total_size: Arc<AtomicU32>,
compact_kind: CompactLogs,
worker_name: &str,
) {
match compact_logs(
job_id,
&w_id,
&db,
nlogs,
total_size,
compact_kind,
worker_name,
)
.await
{
Err(e) => tracing::error!("Could not compact logs for job {job_id}: {e:?}",),
Ok((prev_logs, path)) => {
let path = format!("{}/{}", TMP_DIR, path);
let splitted = &path.split("/").collect_vec();
tokio::fs::create_dir_all(splitted.into_iter().take(splitted.len() - 1).join("/"))
.await
.map_err(|e| {
tracing::error!("Could not create logs directory: {e:?}",);
e
})
.ok();
let created = tokio::fs::File::create(&path).await;
if let Err(e) = created {
tracing::error!("Could not create logs file {path}: {e:?}",);
return;
}
if let Err(e) = tokio::fs::write(&path, prev_logs).await {
tracing::error!("Could not write to logs file {path}: {e:?}");
} else {
tracing::info!("Logs length of {job_id} has exceeded a threshold. Previous logs have been saved to disk at {path}");
}
}
}
}
pub(crate) async fn append_job_logs(
job_id: Uuid,
@@ -184,43 +38,7 @@ pub(crate) async fn append_job_logs(
) -> () {
if must_compact_logs {
#[cfg(all(feature = "enterprise", feature = "parquet"))]
if let Some(os) = OBJECT_STORE_CACHE_SETTINGS.read().await.clone() {
match compact_logs(
job_id,
&w_id,
&db,
logs,
total_size,
CompactLogs::S3,
&worker_name,
)
.await
{
Err(e) => tracing::error!("Could not compact logs for job {job_id}: {e:?}",),
Ok((prev_logs, path)) => {
tracing::info!("Logs length of {job_id} has exceeded a threshold. Previous logs have been saved to object storage at {path}");
let path2 = path.clone();
if let Err(e) = os
.put(&Path::from(path), prev_logs.to_string().into_bytes().into())
.await
{
tracing::error!("Could not save logs to s3: {e:?}");
}
tracing::info!("Logs of {job_id} saved to object storage at {path2}");
}
}
} else {
default_disk_log_storage(
job_id,
&w_id,
&db,
logs,
total_size,
CompactLogs::NoS3,
&worker_name,
)
.await;
}
s3_storage(job_id, &w_id, &db, logs, total_size, &worker_name).await;
#[cfg(not(all(feature = "enterprise", feature = "parquet")))]
{
@@ -252,6 +70,7 @@ pub fn append_with_limit(dst: &mut String, src: &str, limit: &mut usize) {
if *NO_LOGS_AT_ALL {
return;
}
let src_str;
let src = {
src_str = RE_00.replace_all(src, "");
@@ -0,0 +1,30 @@
use std::io;
use std::sync::atomic::AtomicU32;
use std::sync::Arc;
use uuid::Uuid;
use windmill_common::DB;
use crate::job_logger::CompactLogs;
#[cfg(all(feature = "enterprise", feature = "parquet"))]
pub(crate) async fn s3_storage(_job_id: Uuid, _w_id: &String, _db: &sqlx::Pool<sqlx::Postgres>, _logs: &String, _total_size: &Arc<AtomicU32>, _worker_name: &String) {
tracing::info!("Logs length of {job_id} has exceeded a threshold. Implementation to store excess on s3 in not OSS");
}
pub(crate) async fn default_disk_log_storage(
job_id: Uuid,
_w_id: &str,
_db: &DB,
_nlogs: String,
_total_size: Arc<AtomicU32>,
_compact_kind: CompactLogs,
_worker_name: &str,
) {
tracing::info!("Logs length of {job_id} has exceeded a threshold. Implementation to store excess on disk in not OSS");
}
pub(crate) fn process_streaming_log_lines(r: Result<Option<String>, io::Error>, _stderr: bool) -> Option<Result<String, io::Error>> {
r.transpose()
}
+1 -1
View File
@@ -29,7 +29,7 @@ mod rust_executor;
mod worker;
mod worker_flow;
mod worker_lockfiles;
mod job_logger_ee;
pub use worker::*;
pub use result_processor::handle_job_error;
+1 -1
View File
@@ -2,7 +2,7 @@ import { sleep } from "https://deno.land/x/sleep@v1.2.1/mod.ts";
import * as windmill from "https://deno.land/x/windmill@v1.174.0/mod.ts";
import * as api from "https://deno.land/x/windmill@v1.174.0/windmill-api/index.ts";
export const VERSION = "v1.423.1";
export const VERSION = "v1.423.2";
export async function login(email: string, password: string): Promise<string> {
return await windmill.UserService.login({
+1 -1
View File
@@ -60,7 +60,7 @@ export {
// }
// });
export const VERSION = "1.423.1";
export const VERSION = "1.423.2";
const command = new Command()
.name("wmill")
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "windmill-components",
"version": "1.423.1",
"version": "1.423.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "windmill-components",
"version": "1.423.1",
"version": "1.423.2",
"license": "AGPL-3.0",
"dependencies": {
"@aws-crypto/sha256-js": "^4.0.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "windmill-components",
"version": "1.423.1",
"version": "1.423.2",
"scripts": {
"dev": "vite dev",
"build": "vite build",
@@ -238,7 +238,7 @@
setPropertyType(arg?.value)
codeInjectionDetected = checkCodeInjection(arg?.value) != undefined
} else if (propertyType == 'javascript' && focused) {
setPropertyType(arg?.expr)
// setPropertyType(arg?.expr)
$inputMatches = checkCodeInjection(arg?.expr)
}
}
+2 -2
View File
@@ -4,8 +4,8 @@ verify_ssl = true
name = "pypi"
[packages]
wmill = ">=1.423.1"
wmill_pg = ">=1.423.1"
wmill = ">=1.423.2"
wmill_pg = ">=1.423.2"
sendgrid = "*"
mysql-connector-python = "*"
pymongo = "*"
+1 -1
View File
@@ -1,7 +1,7 @@
openapi: "3.0.3"
info:
version: 1.423.1
version: 1.423.2
title: OpenFlow Spec
contact:
name: Ruben Fiszel
@@ -12,7 +12,7 @@
RootModule = 'WindmillClient.psm1'
# Version number of this module.
ModuleVersion = '1.423.1'
ModuleVersion = '1.423.2'
# Supported PSEditions
# CompatiblePSEditions = @()
+1 -1
View File
@@ -1,6 +1,6 @@
[tool.poetry]
name = "wmill"
version = "1.423.1"
version = "1.423.2"
description = "A client library for accessing Windmill server wrapping the Windmill client API"
license = "Apache-2.0"
homepage = "https://windmill.dev"
+1 -1
View File
@@ -1,6 +1,6 @@
[tool.poetry]
name = "wmill-pg"
version = "1.423.1"
version = "1.423.2"
description = "An extension client for the wmill client library focused on pg"
license = "Apache-2.0"
homepage = "https://windmill.dev"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@windmill/windmill",
"version": "1.423.1",
"version": "1.423.2",
"exports": "./src/index.ts",
"publish": {
"exclude": ["!src", "./s3Types.ts", "./client.ts"]
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "windmill-client",
"description": "Windmill SDK client for browsers and Node.js",
"version": "1.423.1",
"version": "1.423.2",
"author": "Ruben Fiszel",
"license": "Apache 2.0",
"devDependencies": {
+1 -1
View File
@@ -1 +1 @@
1.423.1
1.423.2