Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
acc0f20
fix(ui): Avoid auto-applying LIMIT to non-SELECT statements (#26987)
prabhushankar-ps Jan 20, 2026
8a219ee
fix(docs): Fix redis-hbo-provider docs (#26190)
pratyakshsharma Jan 20, 2026
fe2f09e
docs: Refactor the page explaining how to deploy Presto with Docker (…
dnskr Jan 20, 2026
e5aed79
fix(docs): Fix grammar in iceberg docs (#26991)
pratyakshsharma Jan 20, 2026
57f42d8
fix(native): Enable TestPrestoNativeAsyncDataCacheCleanupAPI (#26923)
agrawalreetika Jan 20, 2026
5a28e1c
fix(docs): Fix spilling docs (#26194)
pratyakshsharma Jan 21, 2026
f552971
chore: Move permissions checks outside of Analyzer (#26869)
kevintang2022 Jan 21, 2026
688e0a2
fix(native): Incorrect release build and make errors (#26997)
czentgr Jan 21, 2026
e3db5a2
feat(native): Create a runtime metric for worker uptime to be used fo…
jja725 Jan 21, 2026
3b328e7
fix(plugin-iceberg): Drop data table if the MV fails validation (#26994)
tdcmeehan Jan 21, 2026
69c842f
feat(native): Add support for NativeFunctionHandle parsing (#26948)
pdabre12 Jan 22, 2026
b105046
chore(deps): Bump iceberg to 1.10.0 (#26879)
Joe-Abraham Jan 22, 2026
6ac60ce
feat(plugin-delta): Add support to show the external table location o…
acarpente-denodo Jan 22, 2026
4e91f15
fix(docs): Added documentation for the comparator version of array_to…
allenshen13 Jan 22, 2026
2a248d3
fix(build): Fully qualify yield call to avoid java 17 compilation err…
kiersten-stokes Jan 23, 2026
3d8af97
chore(deps): Upgrade org.glassfish.jaxb:jaxb-runtime version to 4.0.6…
bibith4 Jan 23, 2026
2ae4e02
fix: Add global tracker for view definitions used in a query (#26927)
kevintang2022 Jan 23, 2026
62b670b
test: Add TVF invocation tests with nested table function calls (#27001)
mohsaka Jan 23, 2026
881439c
fix: Add row field names for varchar/map types when registering funct…
kevintang2022 Jan 23, 2026
b096c68
chore(native): Remove unused variable in VeloxToPrestoExprConverter (…
pramodsatya Jan 23, 2026
c53e51d
feat(connector): Upgrade AWS Glue to AWS SDK v2 and Migrate to Metric…
imjalpreet Jan 24, 2026
c57d320
misc: Remove unused includes (#27026)
amitkdutta Jan 24, 2026
77059c6
feat(connector): Allow fine-grained enable/disable of hive metastore …
imjalpreet Jan 26, 2026
b11d857
fix(optimizer): Fix hash function for prefilter groupby limit (#27033)
kaikalur Jan 26, 2026
fede681
feat: Add configurable query admission pacing to prevent worker overl…
prashantgolash Jan 26, 2026
ffa70a3
chore: Upgrade org.locationtech.jts version to 1.20.0 (#26646)
sumi-mathew Jan 27, 2026
3c10095
build(deps): Bump lodash from 4.17.21 to 4.17.23 in /presto-ui/src (#…
dependabot[bot] Jan 27, 2026
ec75c58
docs(native): Add documentation for Presto C++ Installation (#26718)
saurabhmahawar Jan 27, 2026
2c7a13f
chore(deps): Upgrade postgresql to version 42.7.9 (#27012)
bibith4 Jan 28, 2026
4be75f0
fix(plugin-native-sidecar): Avoid sending aggregate and window functi…
pdabre12 Jan 29, 2026
1a67c8e
chore: Upgrade io.opentelemetry version to 1.58.0 (#26644)
sumi-mathew Jan 29, 2026
ed0c4df
feat: Add subfields pushdown for cardinality function (#26834)
maniloya Jan 29, 2026
f958bac
feat(optimizer): Add option to set task count for remote functions (#…
feilong-liu Jan 29, 2026
feb403b
fix: Fix typo in sidecar docs (#27053)
pdabre12 Jan 29, 2026
32207b9
feat(plugin-iceberg): Add support for materialized views with Hive ca…
tdcmeehan Jan 30, 2026
c012600
fix(plugin-iceberg): Disable metadata deletion on varbinary columns (…
hantangwangd Jan 30, 2026
4e8c0ba
perf(optimizer): Make cost-based strategy of using parent preference …
kagamiori Jan 30, 2026
ced6b6c
refactor: Remove unused code (#27060)
agrawalreetika Feb 1, 2026
9d0ee11
fix(docs): Iceberg connector reference in ANALYZE docs (#27041)
Ishaan-2312 Feb 2, 2026
0cbcc74
feat(plugin-iceberg): Add session prop for max number of partitions p…
hantangwangd Feb 2, 2026
1adbfdc
chore(ci): Advance velox and update Iceberg API (#27061)
amitkdutta Feb 2, 2026
49975aa
feat(plugin-hive): Session property to control file size for presto w…
prashantgolash Feb 2, 2026
4d1c6d0
chore(ci): Advance velox (#27069)
amitkdutta Feb 3, 2026
6b9cb83
perf(native): Fix unnecessary copy in http module (#27063)
amitkdutta Feb 3, 2026
856de26
feat: Adds a new session property to catch remote function errors by …
pradeepvaka Feb 3, 2026
e300b7d
feat: Add 'native_partitioned_output_eager_flush' session property (#…
spershin Feb 3, 2026
5525534
fix: Resolve table names in MV query optimizer for consistent matchin…
ceekay47 Feb 4, 2026
9ab52f5
test(native): Add ipprefix and ipaddress tests to native-tests (#26905)
wongquijote Feb 4, 2026
93def8b
fix(planner): Fix filter stats estimation corner cases (#26812)
aaneja Feb 4, 2026
e100648
feat(native): Add config for asyc cache numShards (#27073)
kewang1024 Feb 4, 2026
c3b3eeb
feat(ci): Expand CVE reporting to med and low (#27081)
czentgr Feb 5, 2026
6c7dd64
fix(native): Fix Velox to Presto IN expression conversion (#26951)
pramodsatya Feb 5, 2026
6fb40f0
fix(native): Add support for kHyperLogLog type in NativeTypeManager (…
pramodsatya Feb 5, 2026
a6926d1
fix(native): Fix Dereference expression index type in VeloxToPrestoEx…
pramodsatya Feb 6, 2026
11dbbb5
fix(docs): Update link in Hudi documentation to RFC-44 (#27092)
Joe-Abraham Feb 6, 2026
00da669
chore(ci): Advance velox (#27095)
amitkdutta Feb 7, 2026
1efbb75
misc(native): Minor warning fixes (#27102)
amitkdutta Feb 7, 2026
28f7e58
feat: Add CUBE limitation in Presto docs (#27098)
natashasehgal Feb 7, 2026
def6ddf
misc(native): Decouple HttpServer and HttpClient from SystemConfig si…
amitkdutta Feb 9, 2026
6730470
feat(plugin-iceberg): Add DDL statements for CREATE BRANCH (#26898)
agrawalreetika Feb 9, 2026
907b1af
chore(build): Cleanup disk space in arrow-flight-tests (#27106)
aditi-pandit Feb 9, 2026
5539e9f
feat(connector): Add comprehensive JMX metrics for metadata operation…
agrawalreetika Feb 9, 2026
82c8390
fix: Add createBranch method implementation in StatsRecordingMetadata…
agrawalreetika Feb 9, 2026
63b2600
fix(ci): Fix no space error in arrow flight tests (#27119)
unidevel Feb 10, 2026
ae63dc2
build(deps): Bump lodash-es from 4.17.21 to 4.17.23 in /presto-ui/src…
Dilli-Babu-Godari Feb 10, 2026
b84574f
misc: Fix RemoveCrossJoinWithConstantInput to use unknown locality (#…
feilong-liu Feb 10, 2026
f345bc5
build(deps): Bump CUDA from 12.8 to 12.9 (#27074)
simoneves Feb 10, 2026
277d03c
feat: Add session property for dynamic merge join output batching (#2…
tanjialiang Feb 10, 2026
ee4cc9b
chore(native): Advance Velox (#27103)
aditi-pandit Feb 10, 2026
aabe558
fix(testing): Check both type and data for GenericLiteral in verifier…
hantangwangd Feb 11, 2026
d23b021
feat(native-pos): Add capability for parallel shuffle checksum (#27078)
shrinidhijoshi Feb 11, 2026
fc589a5
fix: Query rewriter truncate (#27115)
han-yan01 Feb 11, 2026
876baba
fix(build): Undefined Iceberg* symbols (#27094)
PingLiuPing Feb 11, 2026
45784a9
chore(deps): Upgrade org.apache.httpcomponents.core5:httpcore5 versio…
sumi-mathew Feb 11, 2026
ff462d8
feat(optimizer): Native TopNRank optimization (#24138)
aditi-pandit Feb 12, 2026
a023a5b
fix(plugin-cassandra): Drop stale tables if table creation process fa…
pdabre12 Feb 12, 2026
873393f
chore(deps): Update hive-apache version to 3.0.0-11 (#27046)
Joe-Abraham Feb 12, 2026
932f85a
docs: Add scale-writers property documentation (#27110)
garimauttam Feb 12, 2026
223b0da
docs(native): Add runtime metrics documentation (#27109)
garimauttam Feb 12, 2026
2a5a908
build(deps): Install_ucx in centos-dependency image (#27118)
karthikeyann Feb 13, 2026
ef9ef78
fix(build): Upgrade testconatiners to 2.0.3 (#27140)
yhwang Feb 14, 2026
dae492a
fix(build): Fix deps container dockerfile (#27145)
simoneves Feb 14, 2026
e422703
build!: Remove implicit bundling of sql invoked function plugins from…
pdabre12 Feb 16, 2026
3a42841
chore(ci): Advance velox (#27133)
amitkdutta Feb 16, 2026
418e326
fix(planner): Fix size estimate used in TextRenderer (#27080)
aaneja Feb 17, 2026
7d5b929
chore(deps): Upgrade Arrow to 18.3.0 (#27134)
lithin92 Feb 17, 2026
8236897
build(native): Add c-ares installation to Mac setup (#27135)
nmahadevuni Feb 17, 2026
88b6343
fix(scheduler): Coordinator Task Throttling Bug (#27146)
shelton408 Feb 17, 2026
69b959d
docs: Add to Presto C++ limitations doc (#27120)
steveburnett Feb 17, 2026
a5e12fd
fix(security): Upgrade druid version to 35.0.1 (#26820)
ShahimSharafudeen Feb 18, 2026
8bfb3f3
docs: Add dev container repo to readme (#27089)
czentgr Feb 18, 2026
8d6d954
fix(security): Bump ajv from 8.17.1 to 8.18.0 (#27154)
sumi-mathew Feb 18, 2026
2d66492
fix: EXPLAIN CREATE TABLE to show IF NOT EXISTS clause (#27138)
HeidiHan0000 Feb 19, 2026
82a1939
fix(spi): Typo in the comment of MaterializedViewDefinition.TableColu…
hantangwangd Feb 19, 2026
151cc8c
feat(native): Add config for asyc cache flush threshold (#27171)
kewang1024 Feb 19, 2026
a5f84ae
refactor: Extract internal communication authentication in a reusable…
pdabre12 Feb 20, 2026
662a661
fix(security): Upgrade highlight.js version to 10.1.2 (#26907)
adkharat Feb 20, 2026
940babe
chore(deps): Upgrade jakarta.el to 5.0.0-M1 (#27084)
bibith4 Feb 20, 2026
a97b826
test(native): Iceberg Materialized Views (#27020)
tdcmeehan Feb 20, 2026
c715313
fix(build): Add library required for Velox as of 44e10f4 (#27166)
simoneves Feb 20, 2026
2f4261a
feat(optimizer): Add PushSemiJoinThroughUnion iterative rule (#27176)
kaikalur Feb 20, 2026
afb5e86
docs: Add CREATE/DROP TABLE docs to sql/explain.rst (#27182)
HeidiHan0000 Feb 20, 2026
1b49ef9
fix(security): Upgrade pinot to version 1.40 and Override vulnerable…
imsayari404 Feb 21, 2026
67dda4b
fix: Presto spark add X509 certificates to SessionContext (#27183)
kevintang2022 Feb 21, 2026
6998432
misc(native): Refactor PrestoServer::run() into smaller methods for r…
amitkdutta Feb 22, 2026
f98b61d
fix(build): Remove duplicate BasicPrincipal from presto-main-base (#2…
vandreykiv Feb 23, 2026
39d1b3d
fix(optimizer): Fix bug in partitioning utils (#27179)
feilong-liu Feb 23, 2026
25baa62
fix: Do not add redundant exchange over remote function (#27170)
feilong-liu Feb 23, 2026
ef8463c
feat: Add TEXTFILE custom serde parameters support (#27167)
xin-zhang2 Feb 23, 2026
920353f
chore: Update airlift to 0.227 version (#27070)
NikhilCollooru Feb 23, 2026
a626728
misc(native): Fix lint issues in presto_cpp types/ directory (#27194)
amitkdutta Feb 24, 2026
ad48335
fix(planner): Set the size estimate for a ConstantExpression/Literal …
aaneja Feb 24, 2026
e72544f
feat(planner): Improve TextRenderer to show input totals (#27189)
aaneja Feb 24, 2026
a4a4b3d
feat(server): Add ability to disable the UI (#26682)
aaneja Feb 24, 2026
08a8dc1
feat(native): Implement Sketch Theta aggregate and scalar functions (…
nmahadevuni Feb 25, 2026
7d35ad2
fix: Fix isNativeExecutionEnabled to be based on session property (#2…
adheer-araokar Feb 25, 2026
6d7ab53
fix: Add null check to UtilizedColumnAnalyzer (#27083)
auden-woolfson Feb 25, 2026
ee7c62a
feat(optimizer): Add PushdownThroughUnnest optimizer rule (#27125)
kaikalur Feb 26, 2026
4e56503
feat(plugin-iceberg): Add DDL statements for CREATE TAG (#27113)
agrawalreetika Feb 26, 2026
1fc8fad
fix(connector): Enable NDV stats collection for Iceberg in native mod…
nmahadevuni Feb 26, 2026
0d6a4d5
docs: Improve Hive storage format and compression codec documentation…
garimauttam Feb 26, 2026
d39e062
misc: Make theta_sketch configurable via PRESTO_ENABLE_THETA_SKETCH m…
vandreykiv Feb 26, 2026
4bb9c91
fix: Enable GPU build in CI and replace clang usage (#27160)
czentgr Feb 26, 2026
26b7228
fix(native): Replace unsafe atol() with folly::to<> in PrestoExchange…
amitkdutta Feb 27, 2026
8ed0e15
refactor: Extract helpers to eliminate duplicated HTTP handler boiler…
amitkdutta Feb 27, 2026
bcccfeb
feat: Support Iceberg's single-table multi-statement writes transacti…
hantangwangd Feb 27, 2026
6e5d260
feat: Update timezone data to 2025b (#26981)
rdtr Feb 27, 2026
8411757
misc: Move TopNRowNumberNode to presto-spi for connector optimizer ac…
feilong-liu Feb 27, 2026
9036f92
fix: Replace regex-based json_parse safety wrapper with AST-level rew…
han-yan01 Feb 27, 2026
20b9c53
feat(ci): Update maven to 3.9.12 (#27030)
msmygit Mar 1, 2026
176641a
fix(native): Fix copy-paste bug in veloxQueryConfigOperation log mess…
amitkdutta Mar 2, 2026
2369666
feat: Add initial support for Iceberg format version 3 (#27021)
Joe-Abraham Mar 2, 2026
14ef525
fix: Increase max-task-update-size for the test (#27220)
vandreykiv Mar 2, 2026
ec533ab
chore(deps): Bump aircompressor from 0.27 to 2.0.3 (#27152)
Dilli-Babu-Godari Mar 3, 2026
caab121
misc(native): Clean up SystemConnector: fix fragile statics, macro hy…
amitkdutta Mar 3, 2026
86eaf11
chore(ci): Advance velox and fix Arrow Flight 18 (#27163)
czentgr Mar 4, 2026
4c8220e
refactor: Move RebindSafeMBeanServer to presto-common (#27173)
KNagaVivek Mar 4, 2026
a9094ae
feat: Add session property aggregation_memory_compaction_reclaim_enab…
duxiao1212 Mar 4, 2026
6dc9dc6
fix: Fix update error with pushdownsubfields optimization (#27254)
zation99 Mar 5, 2026
e75f5a5
feat(plugin-iceberg): Add support for mutating an Iceberg branch (#27…
agrawalreetika Mar 5, 2026
8a4fae0
misc: Migrate cpp.ref_type and drift.recursive_reference in presto th…
iahs Mar 5, 2026
aca6ee9
refactor(plugin-native-sidecar): Replace OkHttpClient with Airlift Ht…
pdabre12 Mar 5, 2026
894f0d4
fix: Add kMaxSpillBytes to system config -> velox query config mappin…
han-yan01 Mar 5, 2026
530823e
test: Add test for querying iceberg branch (#27268)
agrawalreetika Mar 6, 2026
f751174
chore(ci): Advance velox (#27271)
amitkdutta Mar 6, 2026
f98d4eb
chore(deps): Upgarde org.xerial.snappy:snappy-java to 1.1.10.8 (#27205)
sumi-mathew Mar 6, 2026
9362b1b
test: Add testing infra for the presto-ui (#27144)
yhwang Mar 6, 2026
de008fd
chore(deps): Upgrade netty to 4.2.10.Final (#27277)
vandreykiv Mar 6, 2026
17bd413
fix(native): Replace lambda body with optimized expression in NativeE…
pramodsatya Mar 6, 2026
44300f7
feat(optimizer): Simplify COALESCE over equi-join keys based on join …
kaikalur Mar 6, 2026
a702f22
feat(optimizer): Simplify nested IF expressions with matching else br…
kaikalur Mar 6, 2026
4073ecb
refactor: HivePartitionManager.parsePartition to instance method and …
gggrace14 Mar 7, 2026
c02223f
feat(optimizer): Add SimplifyAggregationsOverConstant iterative rule …
kaikalur Mar 7, 2026
9ecc7ac
feat(analyzer): Allow CTAS and INSERT from materialized views (#27227)
ceekay47 Mar 7, 2026
25d2fb1
fix(ci): Skip arrowflight CI for doc-only changes (#27285)
yhwang Mar 8, 2026
9c230da
chore(ci): Advance velox & Migrate presto-trunk from VectorSerde::Kin…
han-yan01 Mar 8, 2026
0f5d277
test: Add Iceberg branch and tags support related tests in Prestissim…
agrawalreetika Mar 9, 2026
ab53686
chore(deps): Upgrade avro to version 1.12.1 (#27153)
bibith4 Mar 9, 2026
6993507
feat(plugin-openlineage-event-listener): Add OpenLineage event listen…
jja725 Mar 9, 2026
f9d87a2
feat(planner): Add feature config for PushPartialAggregationThroughJo…
aaneja Mar 10, 2026
2c1e95f
fix(docs): Add ANALYZE example to Iceberg connector documentation (#2…
garimauttam Mar 10, 2026
1b41219
misc: Add aggregation and hash join spill file create configs (#27299)
tanjialiang Mar 10, 2026
2a97656
feat(optimizer): Support predicate stitching in MaterializedViewRewri…
tdcmeehan Mar 10, 2026
9970fa3
fix(planner): Fix failing isDistinct for equivalent variables for log…
aaneja Mar 10, 2026
d6a34bc
docs: Add documentation for Iceberg transaction support (#27252)
garimauttam Mar 10, 2026
b38d89c
feat(native): Split IndexLookupJoin stats for IndexSource (#27292)
zacw7 Mar 10, 2026
b7142a3
feat(planner): Update AggregationStatsRule to work for more aggregati…
aaneja Mar 11, 2026
626c09d
feat(analyzer): Add support for SELECT alias references in HAVING cla…
mehradpk Mar 11, 2026
0528912
fix(security): Override vulnerable lz4-java dependency to address CVE…
sumi-mathew Mar 11, 2026
4a4d1e9
test: Add end to end test for key_sampling_percent (#27025)
jkhaliqi Mar 11, 2026
31f7d85
docs: Remove redundant table of contents (#27235)
dnskr Mar 11, 2026
06ca23e
docs: Fix formatting in router/scheduler.rst (#27303)
steveburnett Mar 11, 2026
2ebf611
fix(ci): Skip OWASP dep check for doc-only changes (#27305)
yhwang Mar 11, 2026
c27afbb
refactor: Replace throw std::invalid_argument with VELOX_USER_FAIL in…
tanjialiang Mar 11, 2026
4790816
fix(docs): Fix configuration properties docs (#27280)
pratyakshsharma Mar 11, 2026
e7b539b
fix(native): Replace raw assert() with VELOX_CHECK in PrestoToVeloxCo…
tanjialiang Mar 11, 2026
770176b
fix(docs): Fix merge command docs (#27279)
pratyakshsharma Mar 12, 2026
7925aff
docs(plugin-iceberg): Supplement documentation for transaction suppor…
hantangwangd Mar 12, 2026
8e27030
feat(connector): Presto Lance Connector (#27185)
jja725 Mar 12, 2026
f97a817
feat(lance): Add configurable index and metadata cache sizes
jja725 Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
113 changes: 103 additions & 10 deletions .github/workflows/arrow-flight-tests.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: arrow flight tests

on:
pull_request:
paths-ignore:
- presto-docs/**
on: pull_request

permissions:
contents: read
Expand All @@ -17,12 +14,30 @@ env:
RETRY: .github/bin/retry

jobs:
changes:
runs-on: ubuntu-latest
# Required permissions
permissions:
pull-requests: read
# Set job outputs to values from filter step
outputs:
codechange: ${{ steps.filter.outputs.codechange }}
steps:
# For pull requests it's not necessary to checkout the code
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
filters: |
codechange:
- '!presto-docs/**'

arrowflight-java-tests:
runs-on: ubuntu-latest
needs: changes
strategy:
fail-fast: false
matrix:
java: [17.0.15]
java: ['17']
modules:
- :presto-base-arrow-flight # Only run tests for the `presto-base-arrow-flight` module

Expand All @@ -34,33 +49,52 @@ jobs:
steps:
# Checkout the code only if there are changes in the relevant files
- uses: actions/checkout@v4
if: needs.changes.outputs.codechange == 'true'
with:
show-progress: false
persist-credentials: false

# Set up Java and dependencies for the build environment
- uses: actions/setup-java@v4
if: needs.changes.outputs.codechange == 'true'
with:
distribution: temurin
java-version: ${{ matrix.java }}
cache: maven

# Cleanup before build
- name: Clean up before build
if: needs.changes.outputs.codechange == 'true'
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
df -h
docker system prune -af || true

- name: Download nodejs to maven cache
if: needs.changes.outputs.codechange == 'true'
run: .github/bin/download_nodejs

# Install dependencies for the target module
- name: Maven Install
if: needs.changes.outputs.codechange == 'true'
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
./mvnw install ${MAVEN_FAST_INSTALL} -e -am -pl ${{ matrix.modules }}

# Run Maven tests for the target module, excluding native tests
- name: Maven Tests
if: needs.changes.outputs.codechange == 'true'
run: ./mvnw test ${MAVEN_TEST} -pl ${{ matrix.modules }} -Dtest="*,!TestArrowFlightNativeQueries*"

prestocpp-linux-build-for-test:
runs-on: ubuntu-22.04
needs: changes
container:
image: prestodb/presto-native-dependency:0.292-20250204112033-cf8ba84
image: prestodb/presto-native-dependency:0.297-202602271419-160459b8
volumes:
- /usr:/host_usr
- /opt:/host_opt
concurrency:
group: ${{ github.workflow }}-prestocpp-linux-build-for-test-${{ github.event.pull_request.number }}
cancel-in-progress: true
Expand All @@ -71,21 +105,42 @@ jobs:
permissions:
actions: write
steps:
# We cannot use the github action to free disk space from the runner
# because we are in the container and not on the runner anymore.
- name: Free Disk Space
run: |
# Re-used from free-disk-space github action.
getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
# Show before
echo "Original available disk space: " $(getAvailableSpace)
# Remove DotNet.
rm -rf /host_usr/share/dotnet || true
# Remove android
rm -rf /host_usr/local/lib/android || true
# Remove CodeQL
rm -rf /host_opt/hostedtoolcache/CodeQL || true
# Show after
echo "New available disk space: " $(getAvailableSpace)

- uses: actions/checkout@v4
if: needs.changes.outputs.codechange == 'true'
with:
persist-credentials: false

- name: Fix git permissions
if: needs.changes.outputs.codechange == 'true'
# Usually actions/checkout does this but as we run in a container
# it doesn't work
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}

- name: Update velox
if: needs.changes.outputs.codechange == 'true'
run: |
cd presto-native-execution
make velox-submodule

- name: Install Arrow Flight
if: needs.changes.outputs.codechange == 'true'
run: |
mkdir -p ${DEPENDENCY_DIR}/adapter-deps/download
mkdir -p ${INSTALL_PREFIX}/adapter-deps/install
Expand All @@ -95,19 +150,23 @@ jobs:
PROMPT_ALWAYS_RESPOND=n ./scripts/setup-adapters.sh arrow_flight

- name: Install Github CLI for using apache/infrastructure-actions/stash
if: needs.changes.outputs.codechange == 'true'
run: |
curl -L https://github.com/cli/cli/releases/download/v2.63.2/gh_2.63.2_linux_amd64.rpm > gh_2.63.2_linux_amd64.rpm
rpm -iv gh_2.63.2_linux_amd64.rpm

- uses: apache/infrastructure-actions/stash/restore@4ab8682fbd4623d2b4fc1c98db38aba5091924c3
if: needs.changes.outputs.codechange == 'true'
with:
path: '${{ env.CCACHE_DIR }}'
key: ccache-prestocpp-linux-build-for-test

- name: Zero ccache statistics
if: needs.changes.outputs.codechange == 'true'
run: ccache -sz

- name: Build engine
if: needs.changes.outputs.codechange == 'true'
run: |
source /opt/rh/gcc-toolset-12/enable
cd presto-native-execution
Expand All @@ -122,39 +181,47 @@ jobs:
-DCMAKE_PREFIX_PATH=/usr/local \
-DThrift_ROOT=/usr/local \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DMAX_LINK_JOBS=4
-DMAX_LINK_JOBS=3
ninja -C _build/release -j 4

- name: Ccache after
if: needs.changes.outputs.codechange == 'true'
run: ccache -s

- uses: apache/infrastructure-actions/stash/save@4ab8682fbd4623d2b4fc1c98db38aba5091924c3
if: needs.changes.outputs.codechange == 'true'
with:
path: '${{ env.CCACHE_DIR }}'
key: ccache-prestocpp-linux-build-for-test

- name: Run Unit Tests for the Arrow Flight connector only
if: needs.changes.outputs.codechange == 'true'
run: |
cd presto-native-execution/_build/release
ctest -j 4 -VV --output-on-failure --tests-regex ^presto_flight.*

- name: Upload artifacts
if: needs.changes.outputs.codechange == 'true'
uses: actions/upload-artifact@v4
with:
name: arrow-flight-presto-native-build
path: presto-native-execution/_build/release/presto_cpp/main/presto_server

- name: Upload Arrow Flight install artifacts
if: needs.changes.outputs.codechange == 'true'
uses: actions/upload-artifact@v4
with:
name: arrow-flight-install
path: ${{ env.INSTALL_PREFIX }}/lib64/libarrow_flight*

arrowflight-native-e2e-tests:
needs: prestocpp-linux-build-for-test
needs: [changes, prestocpp-linux-build-for-test]
runs-on: ubuntu-22.04
container:
image: prestodb/presto-native-dependency:0.292-20250204112033-cf8ba84
image: prestodb/presto-native-dependency:0.297-202602271419-160459b8
volumes:
- /usr:/host_usr
- /opt:/host_opt
env:
INSTALL_PREFIX: "${{ github.workspace }}/adapter-deps/install"
strategy:
Expand All @@ -169,44 +236,69 @@ jobs:
cancel-in-progress: true

steps:
# We cannot use the github action to free disk space from the runner
# because we are in the container and not on the runner anymore.
- name: Free Disk Space
run: |
# Re-used from free-disk-space github action.
getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
# Show before
echo "Original available disk space: " $(getAvailableSpace)
# Remove DotNet.
rm -rf /host_usr/share/dotnet || true
# Remove android
rm -rf /host_usr/local/lib/android || true
# Remove CodeQL
rm -rf /host_opt/hostedtoolcache/CodeQL || true
# Show after
echo "New available disk space: " $(getAvailableSpace)

- uses: actions/checkout@v4
if: needs.changes.outputs.codechange == 'true'
with:
persist-credentials: false

- name: Fix git permissions
if: needs.changes.outputs.codechange == 'true'
# Usually actions/checkout does this but as we run in a container
# it doesn't work
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}

- name: Download artifacts
if: needs.changes.outputs.codechange == 'true'
uses: actions/download-artifact@v4
with:
name: arrow-flight-presto-native-build
path: presto-native-execution/_build/release/presto_cpp/main

- name: Download Arrow Flight install artifacts
if: needs.changes.outputs.codechange == 'true'
uses: actions/download-artifact@v4
with:
name: arrow-flight-install
path: ${{ env.INSTALL_PREFIX }}/lib64

# Permissions are lost when uploading. Details here: https://github.com/actions/upload-artifact/issues/38
- name: Restore execute permissions and library path
if: needs.changes.outputs.codechange == 'true'
run: |
chmod +x ${GITHUB_WORKSPACE}/presto-native-execution/_build/release/presto_cpp/main/presto_server
# Ensure transitive dependency libboost-iostreams is found.
ldconfig /usr/local/lib

- name: Install OpenJDK8
if: needs.changes.outputs.codechange == 'true'
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17.0.15
java-version: '17'
cache: maven
- name: Download nodejs to maven cache
if: needs.changes.outputs.codechange == 'true'
run: .github/bin/download_nodejs

- name: Maven install
if: needs.changes.outputs.codechange == 'true'
env:
# Use different Maven options to install.
MAVEN_OPTS: -Xmx2G -XX:+ExitOnOutOfMemoryError
Expand All @@ -215,6 +307,7 @@ jobs:
./mvnw install ${MAVEN_FAST_INSTALL} -am -pl ${{ matrix.modules }}

- name: Run arrowflight native e2e tests
if: needs.changes.outputs.codechange == 'true'
run: |
export PRESTO_SERVER_PATH="${GITHUB_WORKSPACE}/presto-native-execution/_build/release/presto_cpp/main/presto_server"
mvn test \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17.0.15
java-version: '17'
cache: maven
- name: Maven Install
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/hive-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [17.0.15]
java: ['17']
runs-on: ubuntu-latest
needs: changes
timeout-minutes: 60
Expand Down Expand Up @@ -92,7 +92,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [17.0.15]
java: ['17']
runs-on: ubuntu-latest
needs: changes
timeout-minutes: 20
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/jdbc-connector-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [17.0.15]
java: ['17']
runs-on: ubuntu-latest
needs: changes
timeout-minutes: 60
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/kudu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [17.0.15]
java: ['17']
runs-on: ubuntu-latest
needs: changes
timeout-minutes: 60
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/maven-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [17.0.15]
java: ['17']
runs-on: ubuntu-latest
timeout-minutes: 45
concurrency:
Expand Down
Loading
Loading