Skip to content

Commit 6a07d9d

Browse files
authored
feat: update cli wheels, always bundle duckdb (#631)
Hoping to fix #630
1 parent bc89452 commit 6a07d9d

File tree

5 files changed

+42
-21
lines changed

5 files changed

+42
-21
lines changed

.github/workflows/python-cli.yml

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,24 @@ jobs:
1919
strategy:
2020
matrix:
2121
platform:
22-
- runner: ubuntu-latest
22+
- runner: ubuntu-22.04
2323
target: x86_64
24-
- runner: ubuntu-latest
24+
manylinux: auto
25+
- runner: ubuntu-22.04
2526
target: x86
26-
- runner: ubuntu-latest
27+
manylinux: auto
28+
- runner: ubuntu-22.04
29+
target: aarch64
30+
manylinux: "2_28"
31+
- runner: ubuntu-22.04
2732
target: armv7
28-
- runner: ubuntu-latest
33+
manylinux: auto
34+
- runner: ubuntu-22.04
35+
target: s390x
36+
manylinux: auto
37+
- runner: ubuntu-22.04
2938
target: ppc64le
39+
manylinux: auto
3040
steps:
3141
- uses: actions/checkout@v4
3242
- uses: actions/setup-python@v5
@@ -36,9 +46,9 @@ jobs:
3646
uses: PyO3/maturin-action@v1
3747
with:
3848
target: ${{ matrix.platform.target }}
39-
args: --release --out dist --find-interpreter --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
49+
args: --release --out dist --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
4050
sccache: "true"
41-
manylinux: auto
51+
manylinux: ${{ matrix.platform.manylinux }}
4252
- name: Upload wheels
4353
uses: actions/upload-artifact@v4
4454
with:
@@ -50,13 +60,13 @@ jobs:
5060
strategy:
5161
matrix:
5262
platform:
53-
- runner: ubuntu-latest
63+
- runner: ubuntu-22.04
5464
target: x86_64
55-
- runner: ubuntu-latest
65+
- runner: ubuntu-22.04
5666
target: x86
57-
- runner: ubuntu-latest
67+
- runner: ubuntu-22.04
5868
target: aarch64
59-
- runner: ubuntu-latest
69+
- runner: ubuntu-22.04
6070
target: armv7
6171
steps:
6272
- uses: actions/checkout@v4
@@ -67,7 +77,7 @@ jobs:
6777
uses: PyO3/maturin-action@v1
6878
with:
6979
target: ${{ matrix.platform.target }}
70-
args: --release --out dist --find-interpreter --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
80+
args: --release --out dist --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
7181
sccache: "true"
7282
manylinux: musllinux_1_2
7383
- name: Upload wheels
@@ -95,7 +105,7 @@ jobs:
95105
uses: PyO3/maturin-action@v1
96106
with:
97107
target: ${{ matrix.platform.target }}
98-
args: --release --out dist --find-interpreter --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
108+
args: --release --out dist --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
99109
sccache: "true"
100110
- name: Upload wheels
101111
uses: actions/upload-artifact@v4
@@ -121,7 +131,7 @@ jobs:
121131
uses: PyO3/maturin-action@v1
122132
with:
123133
target: ${{ matrix.platform.target }}
124-
args: --release --out dist --find-interpreter --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
134+
args: --release --out dist --manifest-path crates/cli/Cargo.toml -F duckdb/bundled
125135
sccache: "true"
126136
- name: Upload wheels
127137
uses: actions/upload-artifact@v4
@@ -148,7 +158,7 @@ jobs:
148158
name: Release
149159
runs-on: ubuntu-latest
150160
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
151-
needs: [linux, musllinux, macos, sdist]
161+
needs: [linux, musllinux, windows, macos, sdist]
152162
environment:
153163
name: pypi
154164
url: https://pypi.org/p/stacrs-cli
@@ -159,10 +169,12 @@ jobs:
159169
steps:
160170
- uses: actions/download-artifact@v4
161171
- name: Generate artifact attestation
162-
uses: actions/attest-build-provenance@v2
172+
uses: actions/attest-build-provenance@v1
163173
with:
164174
subject-path: "wheels-*/*"
165-
- uses: PyO3/maturin-action@v1
175+
- name: Publish to PyPI
176+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
177+
uses: PyO3/maturin-action@v1
166178
with:
167179
command: upload
168180
args: --non-interactive --skip-existing wheels-*/*

crates/cli/CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
## [0.5.1] - 2025-01-31
10+
11+
### Changed
12+
13+
- Always bundle DuckDB (again) ([#631](https://github.com/stac-utils/stac-rs/pull/631))
14+
915
## [0.5.0] - 2025-01-31
1016

1117
### Changed
@@ -110,7 +116,8 @@ Moved over from [stac-incubator-rs](https://github.com/gadomski/stac-incubator-r
110116
- Downloading ([#142](https://github.com/stac-utils/stac-rs/pull/142), [#152](https://github.com/stac-utils/stac-rs/pull/152))
111117
- Validation ([#155](https://github.com/stac-utils/stac-rs/pull/155))
112118

113-
[Unreleased]: https://github.com/stac-utils/stac-rs/compare/stac-cli-v0.5.0..main
119+
[Unreleased]: https://github.com/stac-utils/stac-rs/compare/stac-cli-v0.5.1..main
120+
[0.5.1]: https://github.com/stac-utils/stac-rs/compare/stac-cli-v0.5.0..stac-cli-v0.5.1
114121
[0.5.0]: https://github.com/stac-utils/stac-rs/compare/stac-cli-v0.4.1..stac-cli-v0.5.0
115122
[0.4.1]: https://github.com/stac-utils/stac-rs/compare/stac-cli-v0.4.0..stac-cli-v0.4.1
116123
[0.4.0]: https://github.com/stac-utils/stac-rs/compare/stac-cli-v0.3.1..stac-cli-v0.4.0

crates/cli/Cargo.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "stac-cli"
33
description = "Command line interface for stac-rs"
4-
version = "0.5.0"
4+
version = "0.5.1-rc.0"
55
keywords = ["geospatial", "stac", "metadata", "geo", "raster"]
66
authors.workspace = true
77
edition.workspace = true
@@ -20,9 +20,10 @@ python = ["dep:pyo3", "pgstac"]
2020
anyhow.workspace = true
2121
axum.workspace = true
2222
clap = { workspace = true, features = ["derive"] }
23-
duckdb.workspace = true # we depend on it directly so that we can bundle it for the Python wheels
23+
duckdb = { workspace = true }
24+
libduckdb-sys = { workspace = true }
2425
object_store.workspace = true
25-
pyo3 = { workspace = true, optional = true }
26+
pyo3 = { workspace = true, optional = true, features = ["abi3-py39"] }
2627
reqwest.workspace = true
2728
serde.workspace = true
2829
serde_json.workspace = true

crates/cli/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name = "stacrs-cli"
77
description = "A STAC command-line interface written in Rust"
88
readme = "README.md"
99
authors = [{ name = "Pete Gadomski", email = "pete.gadomski@gmail.com" }]
10-
requires-python = ">=3.8"
10+
requires-python = ">=3.10"
1111
classifiers = [
1212
"Development Status :: 3 - Alpha",
1313
"Intended Audience :: Science/Research",

crates/cli/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use anyhow::{anyhow, Error, Result};
22
use clap::{Parser, Subcommand};
33
use duckdb as _;
4+
use libduckdb_sys as _;
45
use stac::{geoparquet::Compression, Collection, Format, Item, Links, Migrate, Validate};
56
use stac_api::{GetItems, GetSearch, Search};
67
use stac_server::Backend;

0 commit comments

Comments
 (0)