From b50d2e88ba44b6cdf038f42a5344263f5975459a Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 17 Jan 2025 15:11:26 -0700 Subject: [PATCH 1/7] feat: move bundled just to wheels --- .github/workflows/pypi.yaml | 6 +++--- Cargo.lock | 1 - Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pypi.yaml b/.github/workflows/pypi.yaml index fcfe048..cdccfa2 100644 --- a/.github/workflows/pypi.yaml +++ b/.github/workflows/pypi.yaml @@ -46,7 +46,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter + args: --release --out dist --find-interpreter -F duckdb/bundled sccache: "true" manylinux: ${{ matrix.platform.manylinux }} - name: Upload wheels @@ -77,7 +77,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter + args: --release --out dist --find-interpreter -F duckdb/bundled sccache: "true" manylinux: musllinux_1_2 - name: Upload wheels @@ -132,7 +132,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter + args: --release --out dist --find-interpreter -F duckdb/bundled sccache: "true" - name: Upload wheels uses: actions/upload-artifact@v4 diff --git a/Cargo.lock b/Cargo.lock index 5e8fac8..875a54f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1819,7 +1819,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eac2de5219db852597558df5dcd617ffccd5cbd7b9f5402ccbf899aca6cb6047" dependencies = [ "autocfg", - "cc", "flate2", "pkg-config", "serde", diff --git a/Cargo.toml b/Cargo.toml index 60276e3..ab2e901 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ name = "stacrs" crate-type = ["cdylib"] [dependencies] -duckdb = { version = "1.1.1", features = ["bundled"] } +duckdb = { version = "1.1.1" } geojson = "0.24.1" pyo3 = "0.23.4" pyo3-async-runtimes = { version = "0.23.0", features = [ From ad12814b87d000724a1f6d450144c0af20440bce Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 17 Jan 2025 15:23:28 -0700 Subject: [PATCH 2/7] feat: begin guess-and-check --- .github/workflows/ci.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bcac2ea..18c6692 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,6 +15,7 @@ jobs: name: Test runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: os: - ubuntu-latest @@ -25,6 +26,12 @@ jobs: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v3 - uses: Swatinem/rust-cache@v2 + - name: Download libduckdb + if: ${{ matrix.os }} == "macos-latest" + run: | + wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-osx-universal.zip + unzip libduckdb-osx-universal.zip -d libduckdb + echo "DYLD_LIBRARY_PATH=libduckdb:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV - name: Sync run: uv sync - name: Lint From 06dd599d3444b407e8dac9d550cd69dafd45a24d Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 17 Jan 2025 15:29:04 -0700 Subject: [PATCH 3/7] feat: try more library path crap --- .github/workflows/ci.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 18c6692..9cc201b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -26,12 +26,20 @@ jobs: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v3 - uses: Swatinem/rust-cache@v2 - - name: Download libduckdb - if: ${{ matrix.os }} == "macos-latest" + - name: Download libduckdb (macos) + if: ${{ matrix.os }} == 'macos-latest' run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-osx-universal.zip unzip libduckdb-osx-universal.zip -d libduckdb - echo "DYLD_LIBRARY_PATH=libduckdb:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV + echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV + echo "DYLD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV + - name: Download libduckdb (ubuntu) + if: ${{ matrix.os }} == 'ubuntu-latest' + run: | + wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-linux-amd64.zip + unzip libduckdb-linux-amd64.zip -d libduckdb + echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV - name: Sync run: uv sync - name: Lint From c2b11cc57b4a3e0da0fbc223faad6beb1922bc71 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 17 Jan 2025 15:30:52 -0700 Subject: [PATCH 4/7] fix: i'm bad at condiationals --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9cc201b..e717216 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -27,14 +27,14 @@ jobs: - uses: astral-sh/setup-uv@v3 - uses: Swatinem/rust-cache@v2 - name: Download libduckdb (macos) - if: ${{ matrix.os }} == 'macos-latest' + if: ${{ matrix.os }} == macos-latest run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-osx-universal.zip unzip libduckdb-osx-universal.zip -d libduckdb echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV echo "DYLD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV - name: Download libduckdb (ubuntu) - if: ${{ matrix.os }} == 'ubuntu-latest' + if: ${{ matrix.os }} == ubuntu-latest run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-linux-amd64.zip unzip libduckdb-linux-amd64.zip -d libduckdb From 1d21ed9c88557f4e68a1ce29ddf6cb3cdb42f1b7 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 17 Jan 2025 15:33:48 -0700 Subject: [PATCH 5/7] fix: if statements --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e717216..62fcc7c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -27,14 +27,14 @@ jobs: - uses: astral-sh/setup-uv@v3 - uses: Swatinem/rust-cache@v2 - name: Download libduckdb (macos) - if: ${{ matrix.os }} == macos-latest + if: matrix.os == 'macos-latest' run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-osx-universal.zip unzip libduckdb-osx-universal.zip -d libduckdb echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV echo "DYLD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV - name: Download libduckdb (ubuntu) - if: ${{ matrix.os }} == ubuntu-latest + if: matrix.os == 'ubuntu-latest' run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-linux-amd64.zip unzip libduckdb-linux-amd64.zip -d libduckdb From d8097a79b61687ebc1a3b6de2dd8d10f75f822aa Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 17 Jan 2025 15:35:35 -0700 Subject: [PATCH 6/7] consolidate --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 62fcc7c..e9e9208 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -31,16 +31,16 @@ jobs: run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-osx-universal.zip unzip libduckdb-osx-universal.zip -d libduckdb - echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV echo "DYLD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV - name: Download libduckdb (ubuntu) if: matrix.os == 'ubuntu-latest' run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-linux-amd64.zip unzip libduckdb-linux-amd64.zip -d libduckdb - echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV - name: Sync + env: + LIBRARY_PATH: libduckdb run: uv sync - name: Lint run: scripts/lint From 24f2117db4c6dc0821bcaf38e73cdf75969780a7 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 17 Jan 2025 15:42:04 -0700 Subject: [PATCH 7/7] fix: move it back --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e9e9208..fb2ddf1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -32,15 +32,15 @@ jobs: wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-osx-universal.zip unzip libduckdb-osx-universal.zip -d libduckdb echo "DYLD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV + echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV - name: Download libduckdb (ubuntu) if: matrix.os == 'ubuntu-latest' run: | wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-linux-amd64.zip unzip libduckdb-linux-amd64.zip -d libduckdb echo "LD_LIBRARY_PATH=libduckdb" >> $GITHUB_ENV + echo "LIBRARY_PATH=libduckdb" >> $GITHUB_ENV - name: Sync - env: - LIBRARY_PATH: libduckdb run: uv sync - name: Lint run: scripts/lint