Skip to content

Commit eddeb4c

Browse files
authored
Merge pull request #3123 from perspective-dev/vwin2025
Move to Windows 2025 CI
2 parents dea836b + f587729 commit eddeb4c

File tree

11 files changed

+80
-78
lines changed

11 files changed

+80
-78
lines changed

.github/workflows/build.yaml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ jobs:
187187
- ubuntu-22.04
188188
- ubuntu-22.04-arm
189189
- macos-14
190-
- windows-2022
190+
- windows-2025
191191
arch:
192192
- aarch64
193193
- x86_64
@@ -204,15 +204,15 @@ jobs:
204204
python-version: 3.11
205205
container: quay.io/pypa/manylinux_2_28_aarch64
206206
is-release:
207-
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' }}
207+
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full }}
208208
exclude:
209-
- os: windows-2022
209+
- os: windows-2025
210210
arch: aarch64
211211
- os: macos-14
212212
is-release: false
213213
- os: macos-14
214214
arch: x86_64
215-
- os: windows-2022
215+
- os: windows-2025
216216
is-release: false
217217
- os: ubuntu-22.04
218218
arch: aarch64
@@ -302,14 +302,14 @@ jobs:
302302
matrix:
303303
os:
304304
- ubuntu-22.04
305-
- windows-2022
305+
- windows-2025
306306
arch:
307307
- x86_64
308308
node-version: [22.x]
309309
is-release:
310-
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' }}
310+
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full }}
311311
exclude:
312-
- os: windows-2022
312+
- os: windows-2025
313313
is-release: false
314314
steps:
315315
- name: Checkout
@@ -504,25 +504,25 @@ jobs:
504504
os:
505505
- ubuntu-22.04
506506
- macos-14
507-
- windows-2022
507+
- windows-2025
508508
arch:
509509
- aarch64
510510
- x86_64
511511
python-version:
512512
- 3.11
513513
node-version: [22.x]
514514
is-release:
515-
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' }}
515+
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full }}
516516
exclude:
517-
- os: windows-2022
517+
- os: windows-2025
518518
arch: aarch64
519519
- os: ubuntu-22.04
520520
arch: aarch64
521521
- os: macos-14
522522
is-release: false
523523
- os: macos-14
524524
arch: x86_64
525-
- os: windows-2022
525+
- os: windows-2025
526526
is-release: false
527527

528528
steps:
@@ -667,7 +667,7 @@ jobs:
667667
- ubuntu-22.04
668668
- ubuntu-22.04-arm
669669
- macos-14
670-
- windows-2022
670+
- windows-2025
671671
arch:
672672
- x86_64
673673
- aarch64
@@ -676,19 +676,19 @@ jobs:
676676
# - 3.11
677677
node-version: [22.x]
678678
is-release:
679-
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' }}
679+
- ${{ startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full }}
680680
exclude:
681681
- os: macos-14
682682
is-release: false
683683
- os: macos-14
684684
is-release: false
685-
- os: windows-2022
685+
- os: windows-2025
686686
is-release: false
687687
- os: macos-14
688688
arch: aarch64
689689
- os: macos-14
690690
arch: x86_64
691-
- os: windows-2022
691+
- os: windows-2025
692692
arch: aarch64
693693
- os: ubuntu-22.04
694694
arch: aarch64
@@ -722,7 +722,7 @@ jobs:
722722
# PSP_USE_CCACHE: 1
723723

724724
test_python_sdist:
725-
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master'
725+
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full
726726
needs: [build_and_test_jupyterlab, build_and_test_rust]
727727
runs-on: ${{ matrix.os }}
728728
strategy:
@@ -816,7 +816,7 @@ jobs:
816816
# `-'
817817
benchmark_python:
818818
needs: [build_python, build_js]
819-
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master'
819+
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full
820820
runs-on: ${{ matrix.os }}
821821
strategy:
822822
fail-fast: false
@@ -876,7 +876,7 @@ jobs:
876876
# `--' '
877877
benchmark_js:
878878
needs: [build_js]
879-
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master'
879+
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full
880880
strategy:
881881
matrix:
882882
os: [ubuntu-22.04]
@@ -933,7 +933,7 @@ jobs:
933933
build_and_test_rust,
934934
lint_and_docs,
935935
]
936-
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master'
936+
if: startsWith(github.ref, 'refs/tags/v') || github.ref_name == 'master' || github.event.inputs.ci-full
937937
strategy:
938938
matrix:
939939
os: [ubuntu-22.04]
@@ -973,7 +973,7 @@ jobs:
973973

974974
- uses: actions/download-artifact@v4
975975
with:
976-
name: perspective-python-dist-x86_64-windows-2022-3.11
976+
name: perspective-python-dist-x86_64-windows-2025-3.11
977977

978978
- uses: actions/download-artifact@v4
979979
with:

Cargo.lock

Lines changed: 4 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ strip = true
4747
# These are only respected when `cargo` is invoked from the project root
4848
[patch.crates-io]
4949
# simd-adler32 = { git = "https://github.com/mcountryman/simd-adler32.git", rev = "b279034d9eb554c3e5e0af523db044f08d8297ba" }
50+
protobuf-src = { git = "https://github.com/carlocorradini/rust-protobuf-native.git", rev = "1aba500e469f8bdc384a0fe9e69c189fda72e059" }
5051
perspective-client = { path = "rust/perspective-client" }
5152
perspective-server = { path = "rust/perspective-server" }
5253
perspective-js = { path = "rust/perspective-js" }

rust/bundle/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ fn build(pkg: Option<&str>, is_release: bool, features: Vec<String>) {
5555
.args(["build"])
5656
.args(["--lib"])
5757
.args(["--features", &features])
58-
.args(["--target", "wasm32-unknown-unknown"]);
59-
// .args(["-Z", "build-std=std"]);
58+
.args(["--target", "wasm32-unknown-unknown"])
59+
.args(["-Z", "build-std=std,panic_abort"]);
6060

6161
if is_release {
6262
cmd.args(["--release"]);

rust/perspective-client/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ path = "src/rust/lib.rs"
6262
prost-build = { version = "0.12.3" }
6363

6464
# https://github.com/abseil/abseil-cpp/issues/1241#issuecomment-2138616329
65-
protobuf-src = { version = "=2.0.1", optional = true }
65+
protobuf-src = { version = "2.1.1", optional = true }
6666

6767
[dependencies]
6868
async-lock = { version = "2.5.0" }

rust/perspective-js/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ features = ["serde-json-impl", "no-serde-warnings", "import-esm"]
9292

9393
[dependencies.wasm-bindgen]
9494
version = "=0.2.108"
95-
features = ["serde-serialize", "enable-interning"]
95+
features = ["enable-interning"]
9696

9797
[dependencies.web-sys]
9898
version = "0.3.85"

rust/perspective-server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ disable-cpp = []
4242
cmake = "0.1.50"
4343
num_cpus = "^1.15.0"
4444
shlex = "1.3.0"
45-
protobuf-src = { version = "2.0.1" }
45+
protobuf-src = { version = "2.1.1" }
4646

4747
[dependencies]
4848
perspective-client = { version = "4.2.0" }

rust/perspective-viewer/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ tracing-subscriber = "0.3.15"
107107

108108
# Browser API bindings
109109
wasm-bindgen = { version = "=0.2.108", features = [
110-
"serde-serialize",
111110
"enable-interning",
112111
] }
113112

rust/perspective/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ path = "src/lib.rs"
2828

2929

3030
[features]
31-
default = ["axum-ws"]
31+
default = []
3232
axum-ws = ["tokio", "axum", "futures"]
3333
external-cpp = [
3434
"perspective-server/external-cpp",

rust/perspective/tests/concurrent_test.rs

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -10,54 +10,57 @@
1010
// ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
1111
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
1212

13-
// use tokio::sync::Mutex;
14-
use std::error::Error;
15-
use std::sync::Arc;
13+
#[cfg(feature = "axum-ws")]
14+
mod internal {
15+
// use tokio::sync::Mutex;
16+
use std::error::Error;
17+
use std::sync::Arc;
1618

17-
use perspective_client::{OnUpdateOptions, TableInitOptions, UpdateData, UpdateOptions};
18-
use perspective_server::LocalClient;
19-
use tokio::sync::Mutex;
19+
use perspective_client::{OnUpdateOptions, TableInitOptions, UpdateData, UpdateOptions};
20+
use perspective_server::LocalClient;
21+
use tokio::sync::Mutex;
2022

21-
#[tokio::test]
22-
async fn test_two_sync_clients_receive_messages_on_update() -> Result<(), Box<dyn Error>> {
23-
let server = perspective::server::Server::new(None);
24-
let client1 = LocalClient::new(&server);
25-
let client2 = LocalClient::new(&server);
26-
let table = client1
27-
.table(
28-
UpdateData::Csv("x,y\n1,2\n3,4".to_owned()).into(),
29-
TableInitOptions {
30-
name: Some("Table1".to_owned()),
31-
index: None,
32-
limit: None,
33-
format: None,
34-
},
35-
)
36-
.await?;
23+
#[tokio::test]
24+
async fn test_two_sync_clients_receive_messages_on_update() -> Result<(), Box<dyn Error>> {
25+
let server = perspective::server::Server::new(None);
26+
let client1 = LocalClient::new(&server);
27+
let client2 = LocalClient::new(&server);
28+
let table = client1
29+
.table(
30+
UpdateData::Csv("x,y\n1,2\n3,4".to_owned()).into(),
31+
TableInitOptions {
32+
name: Some("Table1".to_owned()),
33+
index: None,
34+
limit: None,
35+
format: None,
36+
},
37+
)
38+
.await?;
3739

38-
let table2 = client2.open_table("Table1".to_owned()).await?;
39-
let view = table2.view(None).await?;
40-
let result = Arc::new(Mutex::new(false));
41-
let _sub = view
42-
.on_update(
43-
{
44-
let result = result.clone();
45-
move |_| {
40+
let table2 = client2.open_table("Table1".to_owned()).await?;
41+
let view = table2.view(None).await?;
42+
let result = Arc::new(Mutex::new(false));
43+
let _sub = view
44+
.on_update(
45+
{
4646
let result = result.clone();
47-
async move { *result.lock().await = true }
48-
}
49-
},
50-
OnUpdateOptions::default(),
51-
)
52-
.await?;
47+
move |_| {
48+
let result = result.clone();
49+
async move { *result.lock().await = true }
50+
}
51+
},
52+
OnUpdateOptions::default(),
53+
)
54+
.await?;
5355

54-
table
55-
.update(
56-
UpdateData::Csv("x,y\n5,6".to_owned()),
57-
UpdateOptions::default(),
58-
)
59-
.await?;
56+
table
57+
.update(
58+
UpdateData::Csv("x,y\n5,6".to_owned()),
59+
UpdateOptions::default(),
60+
)
61+
.await?;
6062

61-
assert!(*result.lock().await);
62-
Ok(())
63+
assert!(*result.lock().await);
64+
Ok(())
65+
}
6366
}

0 commit comments

Comments
 (0)