From 180ac3190eceea6b849899770fce7d7d9c275359 Mon Sep 17 00:00:00 2001 From: standard-librarian Date: Mon, 23 Mar 2026 08:57:21 +0200 Subject: [PATCH 1/5] ci: enhance extensions test workflow --- .github/workflows/extensions-test.yml | 107 +++++++++++++++++++++++--- 1 file changed, 95 insertions(+), 12 deletions(-) diff --git a/.github/workflows/extensions-test.yml b/.github/workflows/extensions-test.yml index a02c6ab316..42f424771e 100644 --- a/.github/workflows/extensions-test.yml +++ b/.github/workflows/extensions-test.yml @@ -16,7 +16,38 @@ concurrency: cancel-in-progress: true jobs: + build-libsql: + runs-on: ubuntu-latest + name: Build libsql (shared) + + steps: + - uses: hecrj/setup-rust-action@v2 + - name: Checkout repository + uses: actions/checkout@v3 + - name: Set up cargo cache + uses: Swatinem/rust-cache@v2 + - name: build libsql + working-directory: libsql-sqlite3 + run: | + ./configure + make libsql + - name: build bundled sqlite for ffi + run: | + cargo xtask build-bundled + - name: upload shared build artifacts + uses: actions/upload-artifact@v4 + with: + name: libsql-build-output + path: | + libsql-sqlite3/sqlite3.c + libsql-sqlite3/sqlite3.h + libsql-ffi/bundled/src/sqlite3.c + libsql-ffi/bundled/src/sqlite3.h + libsql-ffi/bundled/SQLite3MultipleCiphers/src/sqlite3.c + libsql-ffi/bundled/SQLite3MultipleCiphers/src/sqlite3.h + c-tests: + needs: build-libsql runs-on: ubuntu-latest defaults: run: @@ -27,10 +58,13 @@ jobs: - uses: hecrj/setup-rust-action@v2 - name: Checkout repository uses: actions/checkout@v3 - - name: build libsql - run: | - ./configure - make libsql + - name: Set up cargo cache + uses: Swatinem/rust-cache@v2 + - name: download shared build artifacts + uses: actions/download-artifact@v4 + with: + name: libsql-build-output + path: . - name: build run: | cd ext/crr @@ -41,6 +75,7 @@ jobs: make test rs-tests: + needs: build-libsql runs-on: ubuntu-latest defaults: run: @@ -51,16 +86,20 @@ jobs: - uses: hecrj/setup-rust-action@v2 - name: Checkout repository uses: actions/checkout@v3 - - name: build libsql - run: | - ./configure - make libsql + - name: Set up cargo cache + uses: Swatinem/rust-cache@v2 + - name: download shared build artifacts + uses: actions/download-artifact@v4 + with: + name: libsql-build-output + path: . - name: test run: | cd ext/crr/rs/core cargo test --features=loadable_extension extensions-tests: + needs: build-libsql runs-on: ubuntu-latest name: Extensions Tests @@ -68,12 +107,17 @@ jobs: - uses: hecrj/setup-rust-action@v2 - name: Checkout repository uses: actions/checkout@v3 + - name: Set up cargo cache + uses: Swatinem/rust-cache@v2 + - name: download shared build artifacts + uses: actions/download-artifact@v4 + with: + name: libsql-build-output + path: . - name: install libs run: | - sudo apt install libblas-dev liblapack-dev - - name: build libsql and ffi bindings - run: | - cargo xtask build-bundled + sudo apt update + sudo apt install -y libblas-dev liblapack-dev - name: download extensions run: | cd libsql-sqlite3/test/rust_suite @@ -85,3 +129,42 @@ jobs: cd libsql-sqlite3/test/rust_suite # Only execute extensions tests cargo test --features=extensions extensions + + cross-platform-build-checks: + name: Cross-platform build checks + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [macos-latest, windows-latest] + + steps: + - uses: hecrj/setup-rust-action@v2 + - name: Checkout repository + uses: actions/checkout@v3 + - name: Set up cargo cache + uses: Swatinem/rust-cache@v2 + + - name: setup msys2 for windows + if: matrix.os == 'windows-latest' + uses: msys2/setup-msys2@v2 + with: + update: true + install: mingw-w64-x86_64-toolchain make base-devel + msystem: mingw64 + path-type: inherit + + - name: build libsql on windows + if: matrix.os == 'windows-latest' + shell: msys2 {0} + working-directory: libsql-sqlite3 + run: | + ./configure + make libsql + + - name: build libsql on macos + if: matrix.os == 'macos-latest' + working-directory: libsql-sqlite3 + run: | + ./configure + make libsql From 88e343b89146009a19a7f673d902f630af11580d Mon Sep 17 00:00:00 2001 From: standard-librarian Date: Mon, 23 Mar 2026 09:07:14 +0200 Subject: [PATCH 2/5] ci: fix extensions workflow windows and crr headers --- .github/workflows/extensions-test.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/extensions-test.yml b/.github/workflows/extensions-test.yml index 42f424771e..419d16b7b3 100644 --- a/.github/workflows/extensions-test.yml +++ b/.github/workflows/extensions-test.yml @@ -41,6 +41,7 @@ jobs: path: | libsql-sqlite3/sqlite3.c libsql-sqlite3/sqlite3.h + libsql-sqlite3/sqlite3ext.h libsql-ffi/bundled/src/sqlite3.c libsql-ffi/bundled/src/sqlite3.h libsql-ffi/bundled/SQLite3MultipleCiphers/src/sqlite3.c @@ -56,6 +57,11 @@ jobs: steps: - uses: hecrj/setup-rust-action@v2 + - name: set git to use LF on windows + if: matrix.os == 'windows-latest' + run: | + git config --global core.autocrlf false + git config --global core.eol lf - name: Checkout repository uses: actions/checkout@v3 - name: Set up cargo cache From 16ace0941e2db8e8c77a425f5b09007f612fdf85 Mon Sep 17 00:00:00 2001 From: standard-librarian Date: Mon, 23 Mar 2026 09:15:40 +0200 Subject: [PATCH 3/5] ci: normalize windows configure inputs --- .github/workflows/extensions-test.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/extensions-test.yml b/.github/workflows/extensions-test.yml index 419d16b7b3..d62097276c 100644 --- a/.github/workflows/extensions-test.yml +++ b/.github/workflows/extensions-test.yml @@ -57,11 +57,6 @@ jobs: steps: - uses: hecrj/setup-rust-action@v2 - - name: set git to use LF on windows - if: matrix.os == 'windows-latest' - run: | - git config --global core.autocrlf false - git config --global core.eol lf - name: Checkout repository uses: actions/checkout@v3 - name: Set up cargo cache @@ -111,6 +106,11 @@ jobs: steps: - uses: hecrj/setup-rust-action@v2 + - name: set git to use LF on windows + if: matrix.os == 'windows-latest' + run: | + git config --global core.autocrlf false + git config --global core.eol lf - name: Checkout repository uses: actions/checkout@v3 - name: Set up cargo cache @@ -165,6 +165,7 @@ jobs: shell: msys2 {0} working-directory: libsql-sqlite3 run: | + sed -i 's/\r$//' configure VERSION ./configure make libsql From 698f656d230f1dae0db1d6c5b645553d2739d09e Mon Sep 17 00:00:00 2001 From: standard-librarian Date: Mon, 23 Mar 2026 09:20:51 +0200 Subject: [PATCH 4/5] ci: use valid windows libsql build target --- .github/workflows/extensions-test.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/extensions-test.yml b/.github/workflows/extensions-test.yml index d62097276c..e500d9ccdd 100644 --- a/.github/workflows/extensions-test.yml +++ b/.github/workflows/extensions-test.yml @@ -106,11 +106,6 @@ jobs: steps: - uses: hecrj/setup-rust-action@v2 - - name: set git to use LF on windows - if: matrix.os == 'windows-latest' - run: | - git config --global core.autocrlf false - git config --global core.eol lf - name: Checkout repository uses: actions/checkout@v3 - name: Set up cargo cache @@ -167,7 +162,7 @@ jobs: run: | sed -i 's/\r$//' configure VERSION ./configure - make libsql + make liblibsql.la - name: build libsql on macos if: matrix.os == 'macos-latest' From c4d484c042ee9b044ae8e87558dfc69211ce5e78 Mon Sep 17 00:00:00 2001 From: standard-librarian Date: Mon, 23 Mar 2026 09:45:45 +0200 Subject: [PATCH 5/5] ci: retrigger flaky go bindings check