@@ -43,68 +43,33 @@ jobs:
4343 run : cargo install cargo-all-features
4444 - name : Check
4545 run : cargo check-all-features
46- test-api :
47- name : Test stac-api
46+ test :
47+ name : Test
4848 runs-on : ubuntu-latest
49+ env :
50+ DUCKDB_LIB_DIR : /opt/duckdb
51+ DUCKDB_INCLUDE_DIR : /opt/duckdb
52+ LD_LIBRARY_PATH : /opt/duckdb
4953 steps :
5054 - uses : actions/checkout@v4
5155 - uses : Swatinem/rust-cache@v2
52- - name : Test
53- run : cargo test -p stac-api --all-features
54- test-cli :
55- name : Test stac-cli
56- runs-on : ubuntu-latest
57- defaults :
58- run :
59- working-directory : crates/cli
60- steps :
61- - uses : actions/checkout@v4
62- - uses : Swatinem/rust-cache@v2
63- - name : Test
64- run : cargo test -p stac-cli
65- test-cli-python :
66- name : Test stacrs-cli (python)
67- runs-on : ubuntu-latest
68- defaults :
69- run :
70- working-directory : crates/cli
71- steps :
72- - uses : actions/checkout@v4
73- - uses : Swatinem/rust-cache@v2
74- - uses : actions/setup-python@v5
75- with :
76- python-version : 3.x
7756 - uses : astral-sh/setup-uv@v5
78- with :
79- enable-cache : true
80- - name : Install
81- run : uv sync
82- - name : Smoke test
83- run : uv run stacrs --version
84- test-duckdb :
85- name : Test stac-duckdb
86- runs-on : ubuntu-latest
87- steps :
88- - uses : actions/checkout@v4
89- - uses : Swatinem/rust-cache@v2
9057 - name : Get DuckDB
9158 run : |
9259 wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-linux-amd64.zip
9360 unzip libduckdb-linux-amd64.zip -d /opt/duckdb
61+ - name : Fmt
62+ run : cargo fmt
63+ - name : Clippy
64+ run : cargo clippy --workspace --all-features
65+ - name : Build # need to build first to get the executable for CLI tests
66+ run : cargo build --all-features
9467 - name : Test
95- run : cargo test -p stac-duckdb
96- env :
97- DUCKDB_LIB_DIR : /opt/duckdb
98- DUCKDB_INCLUDE_DIR : /opt/duckdb
99- LD_LIBRARY_PATH : /opt/duckdb
100- test-extensions :
101- name : Test stac-extensions
102- runs-on : ubuntu-latest
103- steps :
104- - uses : actions/checkout@v4
105- - uses : Swatinem/rust-cache@v2
106- - name : Test
107- run : cargo test -p stac-extensions
68+ run : cargo test --all-features
69+ - name : Validate stac-server
70+ run : uv run --group stac-api-validator scripts/validate-stac-server
71+ - name : Validate stac-geoparquet
72+ run : uv run --group stac-geoparquet scripts/validate-stac-geoparquet
10873 test-pgstac :
10974 name : Test pgstac
11075 runs-on : ubuntu-latest
@@ -113,6 +78,10 @@ jobs:
11378 pgstac_version :
11479 - v0.8.6
11580 - v0.9.1
81+ env :
82+ DUCKDB_LIB_DIR : /opt/duckdb
83+ DUCKDB_INCLUDE_DIR : /opt/duckdb
84+ LD_LIBRARY_PATH : /opt/duckdb
11685 services :
11786 pgstac :
11887 image : ghcr.io/stac-utils/pgstac:${{ matrix.pgstac_version }}
@@ -128,46 +97,15 @@ jobs:
12897 steps :
12998 - uses : actions/checkout@v4
13099 - uses : Swatinem/rust-cache@v2
131- - uses : actions/setup-python@v5
132- with :
133- python-version : " 3.10"
134100 - uses : astral-sh/setup-uv@v5
135- with :
136- enable-cache : true
101+ - name : Get DuckDB
102+ run : |
103+ wget https://github.com/duckdb/duckdb/releases/download/v1.1.3/libduckdb-linux-amd64.zip
104+ unzip libduckdb-linux-amd64.zip -d /opt/duckdb
137105 - name : Test
138106 run : cargo test -p pgstac --all-features
139- - name : Install Python dependencies
140- run : uv sync --group stac-api-validator
141- - name : Validate
142- run : uv run scripts/validate-stac-server --pgstac
143- test-server :
144- name : Test stac-server
145- runs-on : ubuntu-latest
146- steps :
147- - uses : actions/checkout@v4
148- - uses : Swatinem/rust-cache@v2
149- - uses : actions/setup-python@v5
150- with :
151- python-version : " 3.x"
152- - uses : astral-sh/setup-uv@v5
153- with :
154- enable-cache : true
155- - name : Test
156- run : cargo test -p stac-server --all-features
157- - name : Install Python dependencies
158- run : uv sync --group stac-api-validator
159107 - name : Validate
160- run : uv run scripts/validate-stac-server
161- lint :
162- name : Lint
163- runs-on : ubuntu-latest
164- steps :
165- - uses : actions/checkout@v4
166- - uses : Swatinem/rust-cache@v2
167- - name : Fmt
168- run : cargo fmt
169- - name : Clippy
170- run : cargo clippy --workspace --all-features
108+ run : uv run --group stac-api-validator scripts/validate-stac-server --pgstac
171109 check-nightly :
172110 name : Check (nightly)
173111 runs-on : ubuntu-latest
@@ -195,19 +133,3 @@ jobs:
195133 - uses : DavidAnson/markdownlint-cli2-action@v19
196134 - name : Doc
197135 run : cargo doc --workspace --all-features
198- validate-stac-geoparquet :
199- name : Validate stac-geoparquet
200- runs-on : ubuntu-latest
201- steps :
202- - uses : actions/checkout@v4
203- - uses : Swatinem/rust-cache@v2
204- - uses : actions/setup-python@v5
205- with :
206- python-version : " 3.x"
207- - uses : astral-sh/setup-uv@v5
208- with :
209- enable-cache : true
210- - name : Install Python dependencies
211- run : uv sync --group stac-geoparquet
212- - name : Validate
213- run : uv run scripts/validate-stac-geoparquet
0 commit comments