Skip to content

Commit cf7b7e3

Browse files
sabbasaniSthuthiGhosh9400lithinwxdsteveburnettelbinpallimalilibm
committed
Arrow Flight connector template
Co-authored-by: sai bhaskar reddy <[email protected]> Co-authored-by: SthuthiGhosh9400 <[email protected]> Co-authored-by: lithinwxd <[email protected]> Co-authored-by: Steve Burnett <[email protected]> Co-authored-by: elbinpallimalilibm <[email protected]> Co-authored-by: Steve Burnett <[email protected]> Co-authored-by: Timothy Meehan <[email protected]>
1 parent 004ee32 commit cf7b7e3

File tree

55 files changed

+6432
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+6432
-1
lines changed
+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: arrow flight tests
2+
3+
on:
4+
pull_request:
5+
6+
env:
7+
CONTINUOUS_INTEGRATION: true
8+
MAVEN_OPTS: "-Xmx1024M -XX:+ExitOnOutOfMemoryError"
9+
MAVEN_INSTALL_OPTS: "-Xmx2G -XX:+ExitOnOutOfMemoryError"
10+
MAVEN_FAST_INSTALL: "-B -V --quiet -T 1C -DskipTests -Dair.check.skip-all --no-transfer-progress -Dmaven.javadoc.skip=true"
11+
MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end"
12+
RETRY: .github/bin/retry
13+
14+
jobs:
15+
changes:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
pull-requests: read
19+
outputs:
20+
codechange: ${{ steps.filter.outputs.codechange }}
21+
steps:
22+
- uses: dorny/paths-filter@v2
23+
id: filter
24+
with:
25+
filters: |
26+
codechange:
27+
- '!presto-docs/**'
28+
test:
29+
runs-on: ubuntu-latest
30+
needs: changes
31+
strategy:
32+
fail-fast: false
33+
matrix:
34+
modules:
35+
- ":presto-base-arrow-flight" # Only run tests for the `presto-base-arrow-flight` module
36+
37+
timeout-minutes: 80
38+
concurrency:
39+
group: ${{ github.workflow }}-test-${{ matrix.modules }}-${{ github.event.pull_request.number }}
40+
cancel-in-progress: true
41+
42+
steps:
43+
# Checkout the code only if there are changes in the relevant files
44+
- uses: actions/checkout@v4
45+
if: needs.changes.outputs.codechange == 'true'
46+
with:
47+
show-progress: false
48+
49+
# Set up Java for the build environment
50+
- uses: actions/setup-java@v2
51+
if: needs.changes.outputs.codechange == 'true'
52+
with:
53+
distribution: 'temurin'
54+
java-version: 8
55+
56+
# Cache Maven dependencies to speed up the build
57+
- name: Cache local Maven repository
58+
if: needs.changes.outputs.codechange == 'true'
59+
id: cache-maven
60+
uses: actions/cache@v2
61+
with:
62+
path: ~/.m2/repository
63+
key: ${{ runner.os }}-maven-2-${{ hashFiles('**/pom.xml') }}
64+
restore-keys: |
65+
${{ runner.os }}-maven-2-
66+
67+
# Resolve Maven dependencies (if cache is not found)
68+
- name: Populate Maven cache
69+
if: steps.cache-maven.outputs.cache-hit != 'true' && needs.changes.outputs.codechange == 'true'
70+
run: ./mvnw de.qaware.maven:go-offline-maven-plugin:resolve-dependencies --no-transfer-progress && .github/bin/download_nodejs
71+
72+
# Install dependencies for the target module
73+
- name: Maven Install
74+
if: needs.changes.outputs.codechange == 'true'
75+
run: |
76+
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
77+
./mvnw install ${MAVEN_FAST_INSTALL} -am -pl ${{ matrix.modules }}
78+
79+
# Run Maven tests for the target module
80+
- name: Maven Tests
81+
if: needs.changes.outputs.codechange == 'true'
82+
run: ./mvnw test ${MAVEN_TEST} -pl ${{ matrix.modules }}

.github/workflows/test-other-modules.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,5 @@ jobs:
8484
!presto-test-coverage,
8585
!presto-iceberg,
8686
!presto-singlestore,
87-
!presto-native-sidecar-plugin'
87+
!presto-native-sidecar-plugin,
88+
!presto-base-arrow-flight'

pom.xml

+27
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
<dep.protobuf-java.version>3.25.5</dep.protobuf-java.version>
8585
<dep.netty.version>4.1.115.Final</dep.netty.version>
8686
<dep.snakeyaml.version>2.0</dep.snakeyaml.version>
87+
<dep.arrow.version>17.0.0</dep.arrow.version>
8788

8889
<!--
8990
America/Bahia_Banderas has:
@@ -204,6 +205,7 @@
204205
<module>presto-hana</module>
205206
<module>presto-openapi</module>
206207
<module>presto-native-sidecar-plugin</module>
208+
<module>presto-base-arrow-flight</module>
207209
</modules>
208210

209211
<dependencyManagement>
@@ -2242,6 +2244,31 @@
22422244
<artifactId>snakeyaml</artifactId>
22432245
<version>${dep.snakeyaml.version}</version>
22442246
</dependency>
2247+
2248+
<dependency>
2249+
<groupId>org.apache.arrow</groupId>
2250+
<artifactId>arrow-memory-core</artifactId>
2251+
<version>${dep.arrow.version}</version>
2252+
</dependency>
2253+
2254+
<dependency>
2255+
<groupId>org.apache.arrow</groupId>
2256+
<artifactId>arrow-jdbc</artifactId>
2257+
<version>${dep.arrow.version}</version>
2258+
</dependency>
2259+
2260+
<dependency>
2261+
<groupId>org.apache.arrow</groupId>
2262+
<artifactId>arrow-vector</artifactId>
2263+
<version>${dep.arrow.version}</version>
2264+
</dependency>
2265+
2266+
<dependency>
2267+
<groupId>org.apache.arrow</groupId>
2268+
<artifactId>flight-core</artifactId>
2269+
<version>${dep.arrow.version}</version>
2270+
</dependency>
2271+
22452272
</dependencies>
22462273
</dependencyManagement>
22472274

0 commit comments

Comments
 (0)