bring streaming search traits and get ready for pgstac 0.10 #2768
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| CARGO_TERM_VERBOSE: true | |
| RUSTDOCFLAGS: -Dwarnings | |
| DUCKDB_VERSION: "1.4.2" | |
| DUCKDB_LIB_DIR: /opt/duckdb | |
| LD_LIBRARY_PATH: /opt/duckdb | |
| jobs: | |
| test-core: | |
| name: Test stac | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - name: Test | |
| run: cargo test -p stac --all-features | |
| check-features-core: | |
| name: Check all features | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: crates/core | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - name: Install check-all-features | |
| run: cargo install cargo-all-features | |
| - name: Check | |
| run: cargo check-all-features | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 | |
| - &get-duckdb | |
| name: Get DuckDB | |
| run: | | |
| wget https://github.com/duckdb/duckdb/releases/download/v${{ env.DUCKDB_VERSION }}/libduckdb-linux-amd64.zip | |
| unzip libduckdb-linux-amd64.zip -d /opt/duckdb | |
| rm libduckdb-linux-amd64.zip | |
| - uses: j178/prek-action@e98a699c41eb69ab013a45817a0406469a748f8d # v2.0.5 | |
| - name: Test | |
| run: cargo test | |
| validate: | |
| name: Validate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 | |
| - *get-duckdb | |
| - name: Validate stac-server | |
| run: uv run --group stac-api-validator scripts/validate-stac-server | |
| - name: Validate stac-geoparquet | |
| run: uv run --group stac-geoparquet scripts/validate-stac-geoparquet | |
| test-pgstac: | |
| name: Test pgstac | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| pgstac_version: | |
| - v0.8.6 | |
| - v0.9.11 | |
| services: | |
| pgstac: | |
| image: ghcr.io/stac-utils/pgstac:${{ matrix.pgstac_version }} | |
| env: | |
| POSTGRES_USER: username | |
| POSTGRES_PASSWORD: password | |
| POSTGRES_DB: postgis | |
| PGUSER: username | |
| PGPASSWORD: password | |
| PGDATABASE: postgis | |
| ports: | |
| - 5432:5432 | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 | |
| - *get-duckdb | |
| - name: Validate | |
| run: uv run --group stac-api-validator scripts/validate-stac-server --pgstac | |
| - name: Search | |
| run: cargo run -F pgstac search postgresql://username:password@localhost:5432/postgis | |
| test-wasm: | |
| name: Test stac-wasm | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: crates/wasm | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: cargo-bins/cargo-binstall@ead08b90bd7b2e6d81963fb9cf0b7239f66d5db4 # v1.21.0 | |
| - name: Install wasm-pack | |
| run: cargo binstall wasm-pack --no-confirm | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - name: Build wasm | |
| run: wasm-pack build --dev | |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: "22" | |
| - name: Install yarn | |
| run: corepack enable && corepack prepare yarn@stable --activate | |
| - name: Install dependencies | |
| run: YARN_ENABLE_HARDENED_MODE=0 yarn install --no-immutable | |
| - name: Install playwright browsers | |
| run: yarn playwright install --with-deps chromium | |
| - name: Run tests | |
| run: yarn test | |
| check-nightly: | |
| name: Check (nightly) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Use nightly | |
| run: rustup override set nightly | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - name: Check | |
| run: cargo check --workspace | |
| msrv: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: cargo-bins/cargo-binstall@ead08b90bd7b2e6d81963fb9cf0b7239f66d5db4 # v1.21.0 | |
| - name: Install cargo-hack | |
| run: cargo binstall cargo-hack --no-confirm | |
| - name: Check msrv | |
| run: cargo hack check --rust-version --workspace --all-targets --ignore-private | |
| doc: | |
| name: Docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| - uses: DavidAnson/markdownlint-cli2-action@8de2aa07cae85fd17c0b35642db70cf5495f1d25 # v24.0.0 | |
| - name: Doc | |
| run: cargo doc --workspace --no-deps |