File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -139,3 +139,40 @@ jobs:
139139 - name : Run tests with native-tls
140140 run : |
141141 cargo test --no-default-features --features integration_test,s3-native-tls,datafusion
142+
143+ integration_test_lakefs :
144+ name : Integration Tests (LakeFS v1.48)
145+ runs-on : ubuntu-latest
146+ env :
147+ CARGO_INCREMENTAL : 0
148+ # Disable full debug symbol generation to speed up CI build and keep memory down
149+ # <https://doc.rust-lang.org/cargo/reference/profiles.html>
150+ RUSTFLAGS : " -C debuginfo=line-tables-only"
151+ # https://github.com/rust-lang/cargo/issues/10280
152+ CARGO_NET_GIT_FETCH_WITH_CLI : " true"
153+ RUST_BACKTRACE : " 1"
154+ RUST_LOG : debug
155+
156+ steps :
157+ - uses : actions/checkout@v3
158+
159+ - name : Install minimal stable with clippy and rustfmt
160+ uses : actions-rs/toolchain@v1
161+ with :
162+ profile : default
163+ toolchain : ' 1.81'
164+ override : true
165+
166+ - name : Download Lakectl
167+ run : |
168+ wget -q https://github.com/treeverse/lakeFS/releases/download/1.48.1/lakeFS_1.48.1_Linux_x86_64.tar.gz
169+ tar -xf lakeFS_1.48.1_Linux_x86_64.tar.gz -C $GITHUB_WORKSPACE
170+ echo "$GITHUB_WORKSPACE" >> $GITHUB_PATH
171+
172+ - name : Start emulated services
173+ run : docker compose -f docker-compose-lakefs.yml up -d
174+
175+ - name : Run tests with rustls (default)
176+ run : |
177+ cargo test --features integration_test_lakefs,lakefs,datafusion
178+
Original file line number Diff line number Diff line change 2626 uses : taiki-e/install-action@cargo-llvm-cov
2727 - uses : Swatinem/rust-cache@v2
2828 - name : Generate code coverage
29- run : cargo llvm-cov --features ${DEFAULT_FEATURES} --workspace --codecov --output-path codecov.json -- --skip read_table_version_hdfs
29+ run : cargo llvm-cov --features ${DEFAULT_FEATURES} --workspace --codecov --output-path codecov.json -- --skip read_table_version_hdfs --skip test_read_tables_lakefs
3030 - name : Upload coverage to Codecov
3131 uses : codecov/codecov-action@v4
3232 with :
Original file line number Diff line number Diff line change @@ -77,13 +77,38 @@ jobs:
7777 run : make setup-dat
7878
7979 - name : Run tests
80- run : uv run pytest -m '((s3 or azure) and integration) or not integration and not benchmark' --doctest-modules
80+ run : uv run --no-sync pytest -m '((s3 or azure) and integration) or not integration and not benchmark' --doctest-modules
8181
8282 - name : Test without pandas
8383 run : |
8484 uv pip uninstall pandas
85- uv run pytest -m "not pandas and not integration and not benchmark"
85+ uv run --no-sync pytest -m "not pandas and not integration and not benchmark"
8686 uv pip install pandas
87+
88+ test-lakefs :
89+ name : Python Build (Python 3.10 LakeFS Integration tests)
90+ runs-on : ubuntu-latest
91+ env :
92+ RUSTFLAGS : " -C debuginfo=1"
93+ CARGO_INCREMENTAL : 0
94+
95+ steps :
96+ - uses : actions/checkout@v3
97+
98+ - name : Setup Environment
99+ uses : ./.github/actions/setup-env
100+
101+ - name : Start emulated services
102+ run : docker compose -f ../docker-compose-lakefs.yml up -d
103+
104+ - name : Build and install deltalake
105+ run : make develop
106+
107+ - name : Download Data Acceptance Tests (DAT) files
108+ run : make setup-dat
109+
110+ - name : Run tests
111+ run : uv run --no-sync pytest -m '(lakefs and integration)' --doctest-modules
87112
88113 test-pyspark :
89114 name : PySpark Integration Tests
@@ -109,6 +134,7 @@ jobs:
109134 - name : Run tests
110135 run : make test-pyspark
111136
137+
112138 multi-python-running :
113139 name : Running with Python ${{ matrix.python-version }}
114140 runs-on : ubuntu-latest
Original file line number Diff line number Diff line change 1+ services :
2+ lakefs :
3+ image : docker.io/treeverse/lakefs:1.48
4+ ports :
5+ - " 8000:8000"
6+ environment :
7+ - LAKEFS_DATABASE_TYPE=local
8+ - LAKEFS_BLOCKSTORE_TYPE=local
9+ - LAKEFS_AUTH_ENCRYPT_SECRET_KEY=some random secret string
10+ - LAKEFS_LOGGING_LEVEL=INFO
11+ - LAKEFS_STATS_ENABLED=${LAKEFS_STATS_ENABLED:-1}
12+ - LAKEFS_INSTALLATION_USER_NAME=delta
13+ - LAKEFS_INSTALLATION_ACCESS_KEY_ID=LAKEFSID
14+ - LAKECTL_CREDENTIALS_ACCESS_KEY_ID=LAKEFSID
15+ - LAKEFS_INSTALLATION_SECRET_ACCESS_KEY=LAKEFSKEY
16+ - LAKECTL_CREDENTIALS_SECRET_ACCESS_KEY=LAKEFSKEY
17+ - LAKECTL_SERVER_ENDPOINT_URL=http://localhost:8000
18+ entrypoint : ["/bin/sh", "-c"]
19+ command :
20+ - |
21+ lakefs run --local-settings &
22+ echo "---- Creating repository ----"
23+ wait-for -t 60 lakefs:8000 -- lakectl repo create lakefs://bronze local://bronze || true
24+ echo ""
25+ echo "lakeFS Web UI: http://127.0.0.1:8000/ >(._.)<"
26+ echo " ( )_ "
27+ echo ""
28+ echo " Access Key ID : $$LAKEFS_INSTALLATION_ACCESS_KEY_ID"
29+ echo " Secret Access Key: $$LAKEFS_INSTALLATION_SECRET_ACCESS_KEY"
30+ echo ""
31+ echo "-------- Let's go and have axolotl fun! --------"
32+ echo ""
33+ wait
You can’t perform that action at this time.
0 commit comments