Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Summary

<!-- Describe the change and why it is needed. -->

## Checklist

- [ ] Run the pre-commit checks locally with `uv run python x.py precommit`
- [ ] Add tests for any new functionality
- [ ] Update the relevant changelog (`Changes.md` for `serde_arrow`,
`marrow/Changes.md` for `marrow`)
8 changes: 6 additions & 2 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"CARGO_TERM_COLOR": "always"
},
"jobs": {
"build": {
"bench": {
"runs-on": "ubuntu-latest",
"steps": [
{
Expand All @@ -24,7 +24,11 @@
},
{
"name": "Bench",
"run": "cargo bench -p serde_arrow_bench\npython x.py summarize-bench >> $GITHUB_STEP_SUMMARY"
"run": "cargo bench -p serde_arrow_bench"
},
{
"name": "Summarize",
"run": "python scripts/analyze-benchmark.py --criterion-root target/criterion --update-github-summary"
}
]
}
Expand Down
167 changes: 167 additions & 0 deletions .github/workflows/local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{
"name": "Local",
"on": {
"workflow_dispatch": {}
},
"env": {
"CARGO_TERM_COLOR": "always"
},
"jobs": {
"format": {
"runs-on": "ubuntu-latest",
"steps": [
{
"uses": "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
},
{
"name": "Install uv",
"uses": "astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39",
"with": {
"enable-cache": true
}
},
{
"name": "rustc",
"run": "rustc --version"
},
{
"name": "cargo",
"run": "cargo --version"
},
{
"name": "Format Python",
"run": "uv run ruff format x.py"
},
{
"name": "Format Cargo",
"run": "cargo fmt"
},
{
"name": "Format generated Rust",
"run": "rustfmt marrow/src/impl_arrow/impl_api_53.rs marrow/src/impl_arrow/impl_api_base.rs marrow_integration/src/tests/arrays.rs marrow_integration/src/tests/data_types.rs marrow_integration/src/tests/fixed_size_binary_arrays.rs marrow_integration/src/tests/intervals.rs marrow_integration/src/tests/struct_arrays.rs marrow_integration/src/tests/union_arrays.rs marrow_integration/src/tests/utils.rs marrow_integration/src/tests/views.rs"
}
]
},
"check": {
"runs-on": "ubuntu-latest",
"steps": [
{
"uses": "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
},
{
"name": "Install uv",
"uses": "astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39",
"with": {
"enable-cache": true
}
},
{
"name": "rustc",
"run": "rustc --version"
},
{
"name": "cargo",
"run": "cargo --version"
},
{
"name": "Check Cargo.toml",
"run": "uv run python scripts/check-cargo-toml.py"
},
{
"name": "Check workspace",
"run": "cargo check"
},
{
"name": "Check serde_arrow",
"run": "cargo check --all-targets --package serde_arrow --features arrow-59"
},
{
"name": "Check marrow",
"run": "cargo check --all-targets --package marrow --features serde,arrow-59"
},
{
"name": "Clippy serde_arrow",
"run": "cargo clippy --all-targets --package serde_arrow --features arrow-59"
},
{
"name": "Clippy marrow",
"run": "cargo clippy --all-targets --package marrow --features serde,arrow-59"
},
{
"name": "Check support packages",
"run": "cargo check --all-targets --all-features --package serde_arrow_bench --package serde_arrow_example --package serde_arrow_integration --package marrow_integration"
},
{
"name": "Clippy support packages",
"run": "cargo clippy --all-targets --all-features --package serde_arrow_bench --package serde_arrow_example --package serde_arrow_integration --package marrow_integration"
}
]
},
"test": {
"runs-on": "ubuntu-latest",
"steps": [
{
"uses": "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
},
{
"name": "Install uv",
"uses": "astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39",
"with": {
"enable-cache": true
}
},
{
"name": "rustc",
"run": "rustc --version"
},
{
"name": "cargo",
"run": "cargo --version"
},
{
"name": "Test serde_arrow",
"run": "cargo test -q --package serde_arrow --features arrow-59"
},
{
"name": "Test marrow",
"run": "cargo test -q --package marrow --features serde,arrow-59"
},
{
"name": "Integration test",
"run": "cargo test -p serde_arrow_integration"
}
]
},
"example": {
"runs-on": "ubuntu-latest",
"steps": [
{
"uses": "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
},
{
"name": "Install uv",
"uses": "astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39",
"with": {
"enable-cache": true
}
},
{
"name": "rustc",
"run": "rustc --version"
},
{
"name": "cargo",
"run": "cargo --version"
},
{
"name": "Run example",
"run": "cargo run -p serde_arrow_example"
},
{
"name": "Read example output",
"run": "uv run python -c 'import polars as pl; print(pl.read_ipc(\"serde_arrow_example.ipc\"))'"
}
]
}
}
}
36 changes: 34 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
}
]
},
"build": {
"test": {
"runs-on": "ubuntu-latest",
"steps": [
{
Expand All @@ -72,6 +72,10 @@
"name": "cargo",
"run": "cargo --version"
},
{
"name": "Check Cargo.toml",
"run": "uv run python scripts/check-cargo-toml.py"
},
{
"name": "Check",
"run": "cargo check"
Expand Down Expand Up @@ -140,10 +144,30 @@
"name": "Check support packages",
"run": "cargo check --all-features --package serde_arrow_bench --package serde_arrow_example --package serde_arrow_integration --package marrow_integration"
},
{
"name": "Clippy serde_arrow",
"run": "cargo clippy --all-targets --package serde_arrow --features arrow-59"
},
{
"name": "Clippy marrow",
"run": "cargo clippy --all-targets --package marrow --features serde,arrow-59"
},
{
"name": "Clippy support packages",
"run": "cargo clippy --all-targets --all-features --package serde_arrow_bench --package serde_arrow_example --package serde_arrow_integration --package marrow_integration"
},
{
"name": "Check Python format",
"run": "uv run ruff format --check x.py"
},
{
"name": "Check format",
"run": "cargo fmt --check"
},
{
"name": "Check generated Rust format",
"run": "rustfmt --check marrow/src/impl_arrow/impl_api_53.rs marrow/src/impl_arrow/impl_api_base.rs marrow_integration/src/tests/arrays.rs marrow_integration/src/tests/data_types.rs marrow_integration/src/tests/fixed_size_binary_arrays.rs marrow_integration/src/tests/intervals.rs marrow_integration/src/tests/struct_arrays.rs marrow_integration/src/tests/union_arrays.rs marrow_integration/src/tests/utils.rs marrow_integration/src/tests/views.rs"
},
{
"name": "Build",
"run": "cargo build --package serde_arrow --package marrow --features serde_arrow/arrow-59,marrow/serde,marrow/arrow-59"
Expand All @@ -154,7 +178,15 @@
},
{
"name": "Integration test",
"run": "uv run python x.py test-integration"
"run": "cargo test -p serde_arrow_integration"
},
{
"name": "Run example",
"run": "cargo run -p serde_arrow_example"
},
{
"name": "Read example output",
"run": "uv run python -c 'import polars as pl; print(pl.read_ipc(\"serde_arrow_example.ipc\"))'"
}
]
}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ target/
/serde_arrow_example.ipc

__pycache__/
*.py[cod]
.ipynb_checkpoints/

# Editor directories and files
Expand Down
Loading
Loading