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
37 changes: 19 additions & 18 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Use latest Rust
run: rustup override set stable
- name: Setup Rust
run: |
rustup show active-toolchain || rustup toolchain install
rustup override set stable

- uses: Swatinem/rust-cache@v2
with:
key: sqlx-cli

- run: >
cargo build
-p sqlx-cli
--bin sqlx
--release
--no-default-features
--features mysql,postgres,sqlite
cargo build
-p sqlx-cli
--bin sqlx
--release
--no-default-features
--features mysql,postgres,sqlite

- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -63,9 +63,10 @@ jobs:

- uses: actions/checkout@v4

- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
key: mysql-examples

- name: Todos (Setup)
working-directory: examples/mysql/todos
Expand Down Expand Up @@ -98,17 +99,16 @@ jobs:
name: sqlx-cli
path: /home/runner/.local/bin

- run: |
- run: |
ls -R /home/runner/.local/bin
chmod +x $HOME/.local/bin/sqlx
echo $HOME/.local/bin >> $GITHUB_PATH
sleep 10

- uses: actions/checkout@v4

- uses: Swatinem/rust-cache@v2
with:
key: pg-examples
- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- name: Axum Social with Tests (Setup)
working-directory: examples/postgres/axum-social-with-tests
Expand Down Expand Up @@ -217,9 +217,10 @@ jobs:

- uses: actions/checkout@v4

- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
key: sqlite-examples

- name: TODOs (Setup)
env:
Expand Down
28 changes: 15 additions & 13 deletions .github/workflows/sqlx-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ jobs:
steps:
- uses: actions/checkout@v4

- run: |
rustup update
- name: Setup Rust
run: |
rustup show active-toolchain || rustup toolchain install
rustup component add clippy
rustup toolchain install beta
rustup component add --toolchain beta clippy
Expand All @@ -40,18 +41,19 @@ jobs:
matrix:
# Note: macOS-latest uses M1 Silicon (ARM64)
os:
- ubuntu-latest
# FIXME: migrations tests fail on Windows for whatever reason
# - windows-latest
- macOS-13
- macOS-latest
- ubuntu-latest
# FIXME: migrations tests fail on Windows for whatever reason
# - windows-latest
- macOS-13
- macOS-latest

steps:
- uses: actions/checkout@v4

- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
key: ${{ runner.os }}-test

- run: cargo test --manifest-path sqlx-cli/Cargo.toml

Expand Down Expand Up @@ -85,12 +87,12 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Use latest Rust
run: rustup override set stable
- name: Setup Rust
run: |
rustup show active-toolchain || rustup toolchain install
rustup override set stable

- uses: Swatinem/rust-cache@v2
with:
key: ${{ runner.os }}-cli

- run: cargo build --manifest-path sqlx-cli/Cargo.toml --bin cargo-sqlx ${{ matrix.args }}

Expand Down
91 changes: 49 additions & 42 deletions .github/workflows/sqlx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,33 @@ on:
jobs:
format:
name: Format
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: rustup component add rustfmt
- run: cargo fmt --all -- --check

check:
name: Check
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
runtime: [async-std, tokio]
tls: [native-tls, rustls, none]
runtime: [ async-std, tokio ]
tls: [ native-tls, rustls, none ]
steps:
- uses: actions/checkout@v4

- uses: Swatinem/rust-cache@v2
with:
key: "${{ runner.os }}-check-${{ matrix.runtime }}-${{ matrix.tls }}"

- run: |
rustup update
# Swatinem/rust-cache recommends setting up the rust toolchain first because it's used in cache keys
- name: Setup Rust
# https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0.html
run: |
rustup show active-toolchain || rustup toolchain install
rustup component add clippy
rustup toolchain install beta
rustup component add --toolchain beta clippy

- uses: Swatinem/rust-cache@v2

- run: >
cargo clippy
--no-default-features
Expand All @@ -52,26 +53,27 @@ jobs:

check-minimal-versions:
name: Check build using minimal versions
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: rustup update
- run: rustup toolchain install nightly
- name: Setup Rust
run: |
rustup show active-toolchain || rustup toolchain install
rustup toolchain install nightly
- run: cargo +nightly generate-lockfile -Z minimal-versions
- run: cargo build --all-features

test:
name: Unit Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

- uses: Swatinem/rust-cache@v2
with:
key: ${{ runner.os }}-test
# https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0.html
- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- name: Install Rust
run: rustup update
- uses: Swatinem/rust-cache@v2

- name: Test sqlx-core
run: >
Expand Down Expand Up @@ -113,20 +115,22 @@ jobs:

sqlite:
name: SQLite
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
runtime: [async-std, tokio]
linking: [sqlite, sqlite-unbundled]
runtime: [ async-std, tokio ]
linking: [ sqlite, sqlite-unbundled ]
needs: check
steps:
- uses: actions/checkout@v4

- run: mkdir /tmp/sqlite3-lib && wget -O /tmp/sqlite3-lib/ipaddr.so https://github.com/nalgeon/sqlean/releases/download/0.15.2/ipaddr.so

# https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0.html
- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
key: "${{ runner.os }}-${{ matrix.linking }}-${{ matrix.runtime }}-${{ matrix.tls }}"

- name: Install system sqlite library
if: ${{ matrix.linking == 'sqlite-unbundled' }}
Expand Down Expand Up @@ -179,19 +183,20 @@ jobs:

postgres:
name: Postgres
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
postgres: [17, 13]
runtime: [async-std, tokio]
tls: [native-tls, rustls-aws-lc-rs, rustls-ring, none]
postgres: [ 17, 13 ]
runtime: [ async-std, tokio ]
tls: [ native-tls, rustls-aws-lc-rs, rustls-ring, none ]
needs: check
steps:
- uses: actions/checkout@v4

- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
key: "${{ runner.os }}-postgres-${{ matrix.runtime }}-${{ matrix.tls }}"

- env:
# FIXME: needed to disable `ltree` tests in Postgres 9.6
Expand Down Expand Up @@ -279,19 +284,20 @@ jobs:

mysql:
name: MySQL
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
mysql: [8]
runtime: [async-std, tokio]
tls: [native-tls, rustls-aws-lc-rs, rustls-ring, none]
mysql: [ 8 ]
runtime: [ async-std, tokio ]
tls: [ native-tls, rustls-aws-lc-rs, rustls-ring, none ]
needs: check
steps:
- uses: actions/checkout@v4

- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
key: "${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}"

- run: cargo build --features mysql,_unstable-all-types,runtime-${{ matrix.runtime }},tls-${{ matrix.tls }}

Expand Down Expand Up @@ -367,19 +373,20 @@ jobs:

mariadb:
name: MariaDB
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
mariadb: [verylatest, 11_4, 10_11, 10_4]
runtime: [async-std, tokio]
tls: [native-tls, rustls-aws-lc-rs, rustls-ring, none]
mariadb: [ verylatest, 11_4, 10_11, 10_4 ]
runtime: [ async-std, tokio ]
tls: [ native-tls, rustls-aws-lc-rs, rustls-ring, none ]
needs: check
steps:
- uses: actions/checkout@v4

- name: Setup Rust
run: rustup show active-toolchain || rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
key: "${{ runner.os }}-mysql-${{ matrix.runtime }}-${{ matrix.tls }}"

- run: cargo build --features mysql,_unstable-all-types,runtime-${{ matrix.runtime }},tls-${{ matrix.tls }}

Expand Down
Binary file removed ci.db
Binary file not shown.
2 changes: 2 additions & 0 deletions sqlx-postgres/src/type_checking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ impl_type_checking!(

sqlx::postgres::types::PgPath,

sqlx::postgres::types::PgPolygon,

#[cfg(feature = "uuid")]
sqlx::types::Uuid,

Expand Down
1 change: 1 addition & 0 deletions sqlx-postgres/src/types/geometry/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ pub mod line;
pub mod line_segment;
pub mod path;
pub mod point;
pub mod polygon;
Loading