Skip to content

[#4514] improvement(iceberg): shrink catalog-lakehouse-iceberg libs size from 184MB to 56MB, IcebergRESTServer size from 162M to 70M #14163

[#4514] improvement(iceberg): shrink catalog-lakehouse-iceberg libs size from 184MB to 56MB, IcebergRESTServer size from 162M to 70M

[#4514] improvement(iceberg): shrink catalog-lakehouse-iceberg libs size from 184MB to 56MB, IcebergRESTServer size from 162M to 70M #14163

Workflow file for this run

name: build
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "main", "branch-*" ]
pull_request:
branches: [ "main", "branch-*" ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
changes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
source_changes:
- .github/**
- api/**
- authorizations/**
- bin/**
- catalogs/**
- clients/client-java/**
- clients/client-java-runtime/**
- clients/filesystem-hadoop3/**
- clients/filesystem-hadoop3-runtime/**
- common/**
- conf/**
- core/**
- dev/**
- docs/open-api/**
- docs/build.gradle.kts
- flink-connector/**
- gradle/**
- iceberg/**
- integration-test-common/**
- meta/**
- scripts/**
- server/**
- server-common/**
- spark-connector/**
- trino-connector/**
- web/**
- build.gradle.kts
- gradle.properties
- gradlew
- setting.gradle.kts
spark_connector_changes:
- spark-connector/**
outputs:
source_changes: ${{ steps.filter.outputs.source_changes }}
spark_connector_changes: ${{ steps.filter.outputs.spark_connector_changes }}
compile-check:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.source_changes != 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v4
with:
java-version: 8
distribution: 'temurin'
cache: 'gradle'
- name: Build with Gradle
run: ./gradlew build -x test -PjdkVersion=8
# To check the spark-connector is compatible with scala2.13
spark-connector-build:
runs-on: ubuntu-latest
timeout-minutes: 30
needs: changes
if: needs.changes.outputs.spark_connector_changes == 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v4
with:
java-version: 8
distribution: 'temurin'
cache: 'gradle'
- name: Free up disk space
run: |
dev/ci/util_free_space.sh
- name: Build with Scala2.13
run: |
./gradlew :spark-connector:spark-3.4:build -PscalaVersion=2.13 -PskipITs -PskipDockerTests=false
./gradlew :spark-connector:spark-3.5:build -PscalaVersion=2.13 -PskipITs -PskipDockerTests=false
- name: Upload unit tests report
uses: actions/upload-artifact@v3
if: failure()
with:
name: unit test report
path: |
build/reports
spark-connector/**/*.log
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [ 8, 11, 17 ]
timeout-minutes: 30
needs: changes
if: needs.changes.outputs.source_changes == 'true'
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
cache: 'gradle'
- name: Test publish to local
run: ./gradlew publishToMavenLocal -x test -PjdkVersion=${{ matrix.java-version }}
- name: Free up disk space
run: |
dev/ci/util_free_space.sh
- name: Build with Gradle
run: ./gradlew build -PskipITs -PjdkVersion=${{ matrix.java-version }} -PskipDockerTests=false -x :clients:client-python:build
- name: Upload unit tests report
uses: actions/upload-artifact@v3
if: failure()
with:
name: unit test report
path: |
build/reports
catalogs/**/*.log
catalogs/**/*.tar