2424 SPARK_LOCAL_IP : 127.0.0.1
2525 ZEPPELIN_LOCAL_IP : 127.0.0.1
2626 INTERPRETERS : ' !hbase,!jdbc,!file,!flink,!cassandra,!elasticsearch,!bigquery,!alluxio,!livy,!groovy,!java,!neo4j,!sparql,!mongodb'
27+ ZEPPELIN_E2E_TEST_NOTEBOOK_DIR : ' /tmp/zeppelin-e2e-notebooks'
2728
2829permissions :
2930 contents : read # to fetch code (actions/checkout)
6263
6364 run-playwright-e2e-tests :
6465 runs-on : ubuntu-24.04
66+ env :
67+ # Use VFS storage instead of Git to avoid Git-related issues in CI
68+ ZEPPELIN_NOTEBOOK_STORAGE : org.apache.zeppelin.notebook.repo.VFSNotebookRepo
6569 strategy :
6670 matrix :
6771 mode : [anonymous, auth]
72+ python : [ 3.9 ]
6873 steps :
6974 - name : Checkout
7075 uses : actions/checkout@v4
@@ -93,15 +98,29 @@ jobs:
9398 key : ${{ runner.os }}-zeppelin-${{ hashFiles('**/pom.xml') }}
9499 restore-keys : |
95100 ${{ runner.os }}-zeppelin-
101+ - name : Setup conda environment with python ${{ matrix.python }}
102+ uses : conda-incubator/setup-miniconda@v3
103+ with :
104+ activate-environment : python_only
105+ python-version : ${{ matrix.python }}
106+ auto-activate-base : false
107+ use-mamba : true
108+ channels : conda-forge,defaults
109+ channel-priority : strict
96110 - name : Install application
97- run : ./mvnw clean install -DskipTests -am -pl zeppelin-web-angular ${MAVEN_ARGS}
111+ run : ./mvnw clean install -DskipTests -am -pl python,rlang,zeppelin-jupyter-interpreter, zeppelin-web-angular ${MAVEN_ARGS}
98112 - name : Setup Zeppelin Server (Shiro.ini)
99113 run : |
100114 export ZEPPELIN_CONF_DIR=./conf
101115 if [ "${{ matrix.mode }}" != "anonymous" ]; then
102116 cp conf/shiro.ini.template conf/shiro.ini
103117 sed -i 's/user1 = password2, role1, role2/user1 = password2, role1, role2, admin/' conf/shiro.ini
104118 fi
119+ - name : Setup Test Notebook Directory
120+ run : |
121+ # NOTE: Must match zeppelin.notebook.dir defined in pom.xml
122+ mkdir -p $ZEPPELIN_E2E_TEST_NOTEBOOK_DIR
123+ echo "Created test notebook directory: $ZEPPELIN_E2E_TEST_NOTEBOOK_DIR"
105124 - name : Run headless E2E test with Maven
106125 run : xvfb-run --auto-servernum --server-args="-screen 0 1024x768x24" ./mvnw verify -pl zeppelin-web-angular -Pweb-e2e ${MAVEN_ARGS}
107126 - name : Upload Playwright Report
@@ -110,10 +129,20 @@ jobs:
110129 with :
111130 name : playwright-report-${{ matrix.mode }}
112131 path : zeppelin-web-angular/playwright-report/
113- retention-days : 30
132+ retention-days : 3
114133 - name : Print Zeppelin logs
115134 if : always()
116135 run : if [ -d "logs" ]; then cat logs/*; fi
136+ - name : Cleanup Test Notebook Directory
137+ if : always()
138+ run : |
139+ if [ -d "$ZEPPELIN_E2E_TEST_NOTEBOOK_DIR" ]; then
140+ echo "Cleaning up test notebook directory: $ZEPPELIN_E2E_TEST_NOTEBOOK_DIR"
141+ rm -rf $ZEPPELIN_E2E_TEST_NOTEBOOK_DIR
142+ echo "Test notebook directory cleaned up"
143+ else
144+ echo "No test notebook directory to clean up"
145+ fi
117146
118147 test-selenium-with-spark-module-for-spark-3-5 :
119148 runs-on : ubuntu-24.04
@@ -162,7 +191,7 @@ jobs:
162191 - name : Setup conda environment with python 3.9 and R
163192 uses : conda-incubator/setup-miniconda@v3
164193 with :
165- activate-environment : python_3_with_R
194+ activate-environment : python_only
166195 environment-file : testing/env_python_3_with_R.yml
167196 python-version : 3.9
168197 channels : conda-forge,defaults
0 commit comments