Skip to content

Commit e3f3e16

Browse files
Initial cherry-pick of changes
1 parent 6b854f8 commit e3f3e16

30 files changed

+262
-239
lines changed

.github/workflows/connectors_test.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# TODO - do we need to update this?
12
name: "Delta Connectors"
23
on: [push, pull_request]
34
jobs:

.github/workflows/kernel_test.yaml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,30 @@ jobs:
55
name: "DK"
66
runs-on: ubuntu-24.04
77
env:
8-
SCALA_VERSION: 2.12.18
8+
SCALA_VERSION: 2.13.13
99
steps:
1010
- uses: actions/checkout@v3
11+
12+
# Install JDK 8
1113
- name: install java
1214
uses: actions/setup-java@v3
1315
with:
1416
distribution: "zulu"
1517
java-version: "8"
16-
- name: Run tests
17-
run: |
18-
python run-tests.py --group kernel --coverage
19-
- name: Run integration tests
18+
19+
# Run integration tests with JDK 8, as they have no Spark dependency
20+
- name: Run integration tests (JDK 8)
2021
run: |
2122
cd kernel/examples && python run-kernel-examples.py --use-local
23+
24+
# Install JDK 17
25+
- name: install java
26+
uses: actions/setup-java@v3
27+
with:
28+
distribution: "zulu"
29+
java-version: "17"
30+
31+
# Run unit tests with JDK 17. These unit tests depend on Spark, and Spark 4.0+ is JDK 17.
32+
- name: Run unit tests (JDK 17)
33+
run: |
34+
python run-tests.py --group kernel --coverage

.github/workflows/spark_examples_test.yaml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
strategy:
88
matrix:
99
# These Scala versions must match those in the build.sbt
10-
scala: [2.12.18, 2.13.13]
10+
scala: [2.13.13]
1111
env:
1212
SCALA_VERSION: ${{ matrix.scala }}
1313
steps:
@@ -24,7 +24,7 @@ jobs:
2424
uses: actions/setup-java@v3
2525
with:
2626
distribution: "zulu"
27-
java-version: "8"
27+
java-version: "17"
2828
- name: Cache Scala, SBT
2929
uses: actions/cache@v3
3030
with:
@@ -44,13 +44,10 @@ jobs:
4444
sudo apt install libedit-dev
4545
if: steps.git-diff.outputs.diff
4646
- name: Run Delta Spark Local Publishing and Examples Compilation
47-
# examples/scala/build.sbt will compile against the local Delta relase version (e.g. 3.2.0-SNAPSHOT).
47+
# examples/scala/build.sbt will compile against the local Delta release version (e.g. 3.2.0-SNAPSHOT).
4848
# Thus, we need to publishM2 first so those jars are locally accessible.
49-
# We publish storage explicitly so that it is available for the Scala 2.13 build. As a java project
50-
# it is typically only released when publishing for Scala 2.12.
5149
run: |
5250
build/sbt clean
53-
build/sbt storage/publishM2
5451
build/sbt "++ $SCALA_VERSION publishM2"
5552
cd examples/scala && build/sbt "++ $SCALA_VERSION compile"
5653
if: steps.git-diff.outputs.diff

.github/workflows/spark_python_test.yaml renamed to .github/workflows/spark_master_python_test.yaml

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: "Delta Spark Python"
1+
name: "Delta Spark Master Python"
22
on: [push, pull_request]
33
jobs:
44
test:
@@ -7,7 +7,7 @@ jobs:
77
strategy:
88
matrix:
99
# These Scala versions must match those in the build.sbt
10-
scala: [2.12.18]
10+
scala: [2.13.13]
1111
env:
1212
SCALA_VERSION: ${{ matrix.scala }}
1313
steps:
@@ -24,19 +24,20 @@ jobs:
2424
uses: actions/setup-java@v3
2525
with:
2626
distribution: "zulu"
27-
java-version: "8"
27+
java-version: "17"
2828
- name: Cache Scala, SBT
2929
uses: actions/cache@v3
3030
with:
3131
path: |
3232
~/.sbt
3333
~/.ivy2
3434
~/.cache/coursier
35+
!~/.cache/coursier/v1/https/repository.apache.org/content/groups/snapshots
3536
# Change the key if dependencies are changed. For each key, GitHub Actions will cache the
3637
# the above directories when we use the key for the first time. After that, each run will
3738
# just use the cache. The cache is immutable so we need to use a new key when trying to
3839
# cache new stuff.
39-
key: delta-sbt-cache-spark3.2-scala${{ matrix.scala }}
40+
key: delta-sbt-cache-spark-master-scala${{ matrix.scala }}
4041
- name: Install Job dependencies
4142
run: |
4243
sudo apt-get update
@@ -47,34 +48,27 @@ jobs:
4748
tar -xvzf buf-Linux-x86_64.tar.gz -C ~/buf --strip-components 1
4849
rm buf-Linux-x86_64.tar.gz
4950
sudo apt install python3-pip --fix-missing
50-
sudo pip3 install pipenv==2024.4.1
51+
sudo pip3 install pipenv==2021.5.29
5152
curl https://pyenv.run | bash
5253
export PATH="~/.pyenv/bin:$PATH"
5354
eval "$(pyenv init -)"
5455
eval "$(pyenv virtualenv-init -)"
55-
pyenv install 3.8.18
56-
pyenv global system 3.8.18
57-
pipenv --python 3.8 install
58-
# Update the pip version to 24.0. By default `pyenv.run` installs the latest pip version
59-
# available. From version 24.1, `pip` doesn't allow installing python packages
60-
# with version string containing `-`. In Delta-Spark case, the pypi package generated has
61-
# `-SNAPSHOT` in version (e.g. `3.3.0-SNAPSHOT`) as the version is picked up from
62-
# the`version.sbt` file.
63-
pipenv run pip install pip==24.0 setuptools==69.5.1 wheel==0.43.0
64-
pipenv run pip install pyspark==3.5.3
65-
pipenv run pip install flake8==3.5.0 pypandoc==1.3.3
56+
pyenv install 3.9
57+
pyenv global system 3.9
58+
pipenv --python 3.9 install
59+
pipenv run pip install flake8==3.9.0
6660
pipenv run pip install black==23.9.1
67-
pipenv run pip install importlib_metadata==3.10.0
68-
pipenv run pip install mypy==0.982
61+
pipenv run pip install mypy==1.8.0
6962
pipenv run pip install mypy-protobuf==3.3.0
7063
pipenv run pip install cryptography==37.0.4
7164
pipenv run pip install twine==4.0.1
7265
pipenv run pip install wheel==0.33.4
7366
pipenv run pip install setuptools==41.1.0
7467
pipenv run pip install pydocstyle==3.0.0
75-
pipenv run pip install pandas==1.1.3
68+
pipenv run pip install pandas==1.4.4
7669
pipenv run pip install pyarrow==8.0.0
77-
pipenv run pip install numpy==1.20.3
70+
pipenv run pip install numpy==1.21
71+
pipenv run pip install https://dist.apache.org/repos/dist/dev/spark/v4.0.0-rc4-bin//pyspark-4.0.0.dev1.tar.gz
7872
if: steps.git-diff.outputs.diff
7973
- name: Run Python tests
8074
# when changing TEST_PARALLELISM_COUNT make sure to also change it in spark_master_test.yaml

.github/workflows/spark_master_test.yaml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,43 @@ jobs:
4343
# cache new stuff.
4444
key: delta-sbt-cache-spark-master-scala${{ matrix.scala }}
4545
- name: Install Job dependencies
46+
# TODO: update pyspark installation once Spark preview is formally released
4647
run: |
4748
sudo apt-get update
4849
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git
4950
sudo apt install libedit-dev
51+
curl -LO https://github.com/bufbuild/buf/releases/download/v1.28.1/buf-Linux-x86_64.tar.gz
52+
mkdir -p ~/buf
53+
tar -xvzf buf-Linux-x86_64.tar.gz -C ~/buf --strip-components 1
54+
rm buf-Linux-x86_64.tar.gz
55+
sudo apt install python3-pip --fix-missing
56+
sudo pip3 install pipenv==2021.5.29
57+
curl https://pyenv.run | bash
58+
export PATH="~/.pyenv/bin:$PATH"
59+
eval "$(pyenv init -)"
60+
eval "$(pyenv virtualenv-init -)"
61+
pyenv install 3.9
62+
pyenv global system 3.9
63+
pipenv --python 3.9 install
64+
pipenv run pip install flake8==3.9.0
65+
pipenv run pip install black==23.9.1
66+
pipenv run pip install mypy==1.8.0
67+
pipenv run pip install mypy-protobuf==3.3.0
68+
pipenv run pip install cryptography==37.0.4
69+
pipenv run pip install twine==4.0.1
70+
pipenv run pip install wheel==0.33.4
71+
pipenv run pip install setuptools==41.1.0
72+
pipenv run pip install pydocstyle==3.0.0
73+
pipenv run pip install pandas==1.4.4
74+
pipenv run pip install pyarrow==8.0.0
75+
pipenv run pip install numpy==1.21
76+
pipenv run pip install https://dist.apache.org/repos/dist/dev/spark/v4.0.0-rc4-bin//pyspark-4.0.0.dev1.tar.gz
5077
if: steps.git-diff.outputs.diff
5178
- name: Run Spark Master tests
5279
# when changing TEST_PARALLELISM_COUNT make sure to also change it in spark_test.yaml
80+
# NOTE: in this branch, the default sparkVersion is the SPARK_MASTER_VERSION
5381
run: |
54-
TEST_PARALLELISM_COUNT=4 SHARD_ID=${{matrix.shard}} build/sbt -DsparkVersion=master "++ ${{ matrix.scala }}" clean spark/test
5582
TEST_PARALLELISM_COUNT=4 build/sbt -DsparkVersion=master "++ ${{ matrix.scala }}" clean connectServer/test
5683
TEST_PARALLELISM_COUNT=4 build/sbt -DsparkVersion=master "++ ${{ matrix.scala }}" clean connectServer/assembly connectClient/test
84+
TEST_PARALLELISM_COUNT=4 pipenv run python run-tests.py --group spark
5785
if: steps.git-diff.outputs.diff

.github/workflows/spark_test.yaml

Lines changed: 0 additions & 93 deletions
This file was deleted.

.github/workflows/unidoc.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# TODO - address unidoc build
12
name: "Unidoc"
23
on: [push, pull_request]
34
jobs:
@@ -6,14 +7,14 @@
67
runs-on: ubuntu-24.04
78
strategy:
89
matrix:
9-
# These Scala versions must match those in the build.sbt
10-
scala: [2.13.13, 2.12.18]
10+
# These Scala versions must match those in the build.sbt
11+
scala: [2.13.13]
1112
steps:
1213
- name: install java
1314
uses: actions/setup-java@v3
1415
with:
1516
distribution: "zulu"
16-
java-version: "8"
17+
java-version: "17"
1718
- uses: actions/checkout@v3
1819
- name: generate unidoc
1920
run: build/sbt "++ ${{ matrix.scala }}" unidoc

0 commit comments

Comments
 (0)