Skip to content

Commit e3e202f

Browse files
authored
feat: make things work (#4)
1 parent 7f0ad2a commit e3e202f

127 files changed

Lines changed: 13361 additions & 7256 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,38 @@
1010
# See the License for the specific language governing permissions and
1111
# limitations under the License.
1212

13-
name: Java
13+
name: Java Glue
1414

1515
on:
1616
push:
1717
branches:
1818
- main
19+
paths:
20+
- java/lance-namespace-glue/**
21+
- java/pom.xml
22+
- .github/workflows/java-glue.yml
1923
pull_request:
2024
types:
2125
- opened
2226
- synchronize
2327
- ready_for_review
2428
- reopened
2529
paths:
26-
- java/**
27-
- .github/workflows/java.yml
30+
- java/lance-namespace-glue/**
31+
- java/pom.xml
32+
- .github/workflows/java-glue.yml
2833

2934
concurrency:
3035
group: ${{ github.workflow }}-${{ github.ref }}
3136
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
3237

3338
jobs:
34-
linux-build:
39+
test:
3540
runs-on: ubuntu-24.04
36-
timeout-minutes: 60
41+
timeout-minutes: 30
3742
strategy:
3843
matrix:
39-
java-version: [ 11, 17 ]
44+
java-version: [11, 17]
4045
steps:
4146
- name: Checkout repo
4247
uses: actions/checkout@v4
@@ -46,18 +51,12 @@ jobs:
4651
distribution: temurin
4752
java-version: ${{ matrix.java-version }}
4853
cache: "maven"
49-
- name: Check code style
50-
working-directory: java
51-
run: ./mvnw spotless:check
52-
- name: Build with Java ${{ matrix.java-version }}
54+
- name: Lint
5355
working-directory: java
54-
run: ./mvnw install -DskipTests
55-
- name: Run unit tests
56+
run: make lint-glue
57+
- name: Build
5658
working-directory: java
57-
run: |
58-
./mvnw test -pl lance-namespace-glue
59-
./mvnw test -pl lance-namespace-polaris
60-
- name: Build all modules with make (Java 17 only)
61-
if: matrix.java-version == 17
59+
run: make build-glue
60+
- name: Test
6261
working-directory: java
63-
run: make build
62+
run: make test-glue

.github/workflows/java-hive2.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Licensed under the Apache License, Version 2.0 (the "License");
2+
# you may not use this file except in compliance with the License.
3+
# You may obtain a copy of the License at
4+
#
5+
# http://www.apache.org/licenses/LICENSE-2.0
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS,
9+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
# See the License for the specific language governing permissions and
11+
# limitations under the License.
12+
13+
name: Java Hive2
14+
15+
on:
16+
push:
17+
branches:
18+
- main
19+
paths:
20+
- java/lance-namespace-hive2/**
21+
- java/pom.xml
22+
- .github/workflows/java-hive2.yml
23+
pull_request:
24+
types:
25+
- opened
26+
- synchronize
27+
- ready_for_review
28+
- reopened
29+
paths:
30+
- java/lance-namespace-hive2/**
31+
- java/pom.xml
32+
- .github/workflows/java-hive2.yml
33+
34+
concurrency:
35+
group: ${{ github.workflow }}-${{ github.ref }}
36+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
37+
38+
jobs:
39+
test:
40+
runs-on: ubuntu-24.04
41+
timeout-minutes: 30
42+
strategy:
43+
matrix:
44+
java-version: [11, 17]
45+
steps:
46+
- name: Checkout repo
47+
uses: actions/checkout@v4
48+
- name: Set up Java
49+
uses: actions/setup-java@v4
50+
with:
51+
distribution: temurin
52+
java-version: ${{ matrix.java-version }}
53+
cache: "maven"
54+
- name: Lint
55+
working-directory: java
56+
run: make lint-hive2
57+
- name: Build
58+
working-directory: java
59+
run: make build-hive2
60+
- name: Test
61+
working-directory: java
62+
run: make test-hive2

.github/workflows/java-hive3.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Licensed under the Apache License, Version 2.0 (the "License");
2+
# you may not use this file except in compliance with the License.
3+
# You may obtain a copy of the License at
4+
#
5+
# http://www.apache.org/licenses/LICENSE-2.0
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS,
9+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
# See the License for the specific language governing permissions and
11+
# limitations under the License.
12+
13+
name: Java Hive3
14+
15+
on:
16+
push:
17+
branches:
18+
- main
19+
paths:
20+
- java/lance-namespace-hive3/**
21+
- java/pom.xml
22+
- .github/workflows/java-hive3.yml
23+
pull_request:
24+
types:
25+
- opened
26+
- synchronize
27+
- ready_for_review
28+
- reopened
29+
paths:
30+
- java/lance-namespace-hive3/**
31+
- java/pom.xml
32+
- .github/workflows/java-hive3.yml
33+
34+
concurrency:
35+
group: ${{ github.workflow }}-${{ github.ref }}
36+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
37+
38+
jobs:
39+
test:
40+
runs-on: ubuntu-24.04
41+
timeout-minutes: 30
42+
strategy:
43+
matrix:
44+
java-version: [11, 17]
45+
steps:
46+
- name: Checkout repo
47+
uses: actions/checkout@v4
48+
- name: Set up Java
49+
uses: actions/setup-java@v4
50+
with:
51+
distribution: temurin
52+
java-version: ${{ matrix.java-version }}
53+
cache: "maven"
54+
- name: Lint
55+
working-directory: java
56+
run: make lint-hive3
57+
- name: Build
58+
working-directory: java
59+
run: make build-hive3
60+
- name: Test
61+
working-directory: java
62+
run: make test-hive3

.github/workflows/java-iceberg.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Licensed under the Apache License, Version 2.0 (the "License");
2+
# you may not use this file except in compliance with the License.
3+
# You may obtain a copy of the License at
4+
#
5+
# http://www.apache.org/licenses/LICENSE-2.0
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS,
9+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
# See the License for the specific language governing permissions and
11+
# limitations under the License.
12+
13+
name: Java Iceberg
14+
15+
on:
16+
push:
17+
branches:
18+
- main
19+
paths:
20+
- java/lance-namespace-iceberg/**
21+
- java/pom.xml
22+
- .github/workflows/java-iceberg.yml
23+
pull_request:
24+
types:
25+
- opened
26+
- synchronize
27+
- ready_for_review
28+
- reopened
29+
paths:
30+
- java/lance-namespace-iceberg/**
31+
- java/pom.xml
32+
- .github/workflows/java-iceberg.yml
33+
34+
concurrency:
35+
group: ${{ github.workflow }}-${{ github.ref }}
36+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
37+
38+
jobs:
39+
test:
40+
runs-on: ubuntu-24.04
41+
timeout-minutes: 30
42+
strategy:
43+
matrix:
44+
java-version: [11, 17]
45+
steps:
46+
- name: Checkout repo
47+
uses: actions/checkout@v4
48+
- name: Set up Java
49+
uses: actions/setup-java@v4
50+
with:
51+
distribution: temurin
52+
java-version: ${{ matrix.java-version }}
53+
cache: "maven"
54+
- name: Lint
55+
working-directory: java
56+
run: make lint-iceberg
57+
- name: Build
58+
working-directory: java
59+
run: make build-iceberg
60+
- name: Test
61+
working-directory: java
62+
run: make test-iceberg
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Licensed under the Apache License, Version 2.0 (the "License");
2+
# you may not use this file except in compliance with the License.
3+
# You may obtain a copy of the License at
4+
#
5+
# http://www.apache.org/licenses/LICENSE-2.0
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS,
9+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
# See the License for the specific language governing permissions and
11+
# limitations under the License.
12+
13+
name: Java Glue Integration
14+
15+
on:
16+
push:
17+
branches:
18+
- main
19+
paths:
20+
- java/lance-namespace-glue/**
21+
- .github/workflows/java-integ-glue.yml
22+
pull_request_target:
23+
types:
24+
- opened
25+
- synchronize
26+
- ready_for_review
27+
- reopened
28+
paths:
29+
- java/lance-namespace-glue/**
30+
- .github/workflows/java-integ-glue.yml
31+
workflow_dispatch:
32+
33+
concurrency:
34+
group: ${{ github.workflow }}-${{ github.ref }}
35+
cancel-in-progress: true
36+
37+
jobs:
38+
integration-test:
39+
runs-on: ubuntu-24.04
40+
timeout-minutes: 30
41+
steps:
42+
- name: Checkout
43+
uses: actions/checkout@v4
44+
with:
45+
ref: ${{ github.event.pull_request.head.sha || github.sha }}
46+
- name: Set up JDK 17
47+
uses: actions/setup-java@v4
48+
with:
49+
java-version: "17"
50+
distribution: "temurin"
51+
cache: "maven"
52+
- name: Build
53+
run: make build-java
54+
- name: Run integration tests
55+
env:
56+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
57+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
58+
AWS_REGION: ${{ secrets.AWS_REGION }}
59+
AWS_S3_BUCKET_NAME: ${{ secrets.AWS_S3_BUCKET_NAME }}
60+
run: make java-integ-test-glue

0 commit comments

Comments
 (0)