@@ -93,12 +93,11 @@ jobs:
9393 if : ${{ github.event.inputs.target != '' }}
9494 run : git merge --progress --ff-only origin/${{ github.event.inputs.target }}
9595 # Cache local repositories. Note that GitHub Actions cache has a 2G limit.
96- - name : Cache Scala, SBT, Maven and Zinc
96+ - name : Cache Scala, SBT and Maven
9797 uses : actions/cache@v2
9898 with :
9999 path : |
100100 build/apache-maven-*
101- build/zinc-*
102101 build/scala-*
103102 build/*.jar
104103 ~/.sbt
@@ -180,12 +179,11 @@ jobs:
180179 if : ${{ github.event.inputs.target != '' }}
181180 run : git merge --progress --ff-only origin/${{ github.event.inputs.target }}
182181 # Cache local repositories. Note that GitHub Actions cache has a 2G limit.
183- - name : Cache Scala, SBT, Maven and Zinc
182+ - name : Cache Scala, SBT and Maven
184183 uses : actions/cache@v2
185184 with :
186185 path : |
187186 build/apache-maven-*
188- build/zinc-*
189187 build/scala-*
190188 build/*.jar
191189 ~/.sbt
@@ -248,12 +246,11 @@ jobs:
248246 if : ${{ github.event.inputs.target != '' }}
249247 run : git merge --progress --ff-only origin/${{ github.event.inputs.target }}
250248 # Cache local repositories. Note that GitHub Actions cache has a 2G limit.
251- - name : Cache Scala, SBT, Maven and Zinc
249+ - name : Cache Scala, SBT and Maven
252250 uses : actions/cache@v2
253251 with :
254252 path : |
255253 build/apache-maven-*
256- build/zinc-*
257254 build/scala-*
258255 build/*.jar
259256 ~/.sbt
@@ -285,16 +282,17 @@ jobs:
285282 lint :
286283 name : Linters, licenses, dependencies and documentation generation
287284 runs-on : ubuntu-20.04
285+ container :
286+ image : dongjoon/apache-spark-github-action-image:20201025
288287 steps :
289288 - name : Checkout Spark repository
290289 uses : actions/checkout@v2
291290 # Cache local repositories. Note that GitHub Actions cache has a 2G limit.
292- - name : Cache Scala, SBT, Maven and Zinc
291+ - name : Cache Scala, SBT and Maven
293292 uses : actions/cache@v2
294293 with :
295294 path : |
296295 build/apache-maven-*
297- build/zinc-*
298296 build/scala-*
299297 build/*.jar
300298 ~/.sbt
@@ -315,10 +313,6 @@ jobs:
315313 key : docs-maven-${{ hashFiles('**/pom.xml') }}
316314 restore-keys : |
317315 docs-maven-
318- - name : Install Java 8
319- uses : actions/setup-java@v1
320- with :
321- java-version : 8
322316 - name : Install Python 3.6
323317 uses : actions/setup-python@v2
324318 with :
@@ -328,30 +322,26 @@ jobs:
328322 run : |
329323 # TODO(SPARK-32407): Sphinx 3.1+ does not correctly index nested classes.
330324 # See also https://github.com/sphinx-doc/sphinx/issues/7551.
331- pip3 install flake8 'sphinx<3.1.0' numpy pydata_sphinx_theme ipython nbsphinx mypy numpydoc
332- - name : Install R 4.0
333- uses : r-lib/actions/setup-r@v1
334- with :
335- r-version : 4.0
325+ python3.6 -m pip install flake8 'sphinx<3.1.0' numpy pydata_sphinx_theme ipython nbsphinx mypy numpydoc
336326 - name : Install R linter dependencies and SparkR
337327 run : |
338- sudo apt-get install -y libcurl4-openssl-dev libgit2-dev libssl-dev libxml2-dev
339- sudo Rscript -e "install.packages(c('devtools'), repos='https://cloud.r-project.org/')"
340- sudo Rscript -e "devtools::install_github('jimhester/lintr@v2.0.0')"
328+ apt-get install -y libcurl4-openssl-dev libgit2-dev libssl-dev libxml2-dev
329+ Rscript -e "install.packages(c('devtools'), repos='https://cloud.r-project.org/')"
330+ Rscript -e "devtools::install_github('jimhester/lintr@v2.0.0')"
341331 ./R/install-dev.sh
342- - name : Install Ruby 2.7 for documentation generation
343- uses : actions/setup-ruby@v1
344- with :
345- ruby-version : 2.7
346332 - name : Install dependencies for documentation generation
347333 run : |
348334 # pandoc is required to generate PySpark APIs as well in nbsphinx.
349- sudo apt-get install -y libcurl4-openssl-dev pandoc
335+ apt-get install -y libcurl4-openssl-dev pandoc
350336 # TODO(SPARK-32407): Sphinx 3.1+ does not correctly index nested classes.
351337 # See also https://github.com/sphinx-doc/sphinx/issues/7551.
352- pip install 'sphinx<3.1.0' mkdocs numpy pydata_sphinx_theme ipython nbsphinx numpydoc
353- gem install jekyll jekyll-redirect-from rouge
354- sudo Rscript -e "install.packages(c('devtools', 'testthat', 'knitr', 'rmarkdown', 'roxygen2'), repos='https://cloud.r-project.org/')"
338+ python3.6 -m pip install 'sphinx<3.1.0' mkdocs numpy pydata_sphinx_theme ipython nbsphinx numpydoc
339+ apt-get update -y
340+ apt-get install -y ruby ruby-dev
341+ Rscript -e "install.packages(c('devtools', 'testthat', 'knitr', 'rmarkdown', 'roxygen2'), repos='https://cloud.r-project.org/')"
342+ gem install bundler
343+ cd docs
344+ bundle install
355345 - name : Scala linter
356346 run : ./dev/lint-scala
357347 - name : Java linter
@@ -367,7 +357,9 @@ jobs:
367357 - name : Run documentation build
368358 run : |
369359 cd docs
370- jekyll build
360+ export LC_ALL=C.UTF-8
361+ export LANG=C.UTF-8
362+ bundle exec jekyll build
371363
372364 java-11 :
373365 name : Java 11 build with Maven
@@ -436,3 +428,51 @@ jobs:
436428 - name : Build with SBT
437429 run : |
438430 ./build/sbt -Pyarn -Pmesos -Pkubernetes -Phive -Phive-thriftserver -Phadoop-cloud -Pkinesis-asl -Phadoop-2.7 compile test:compile
431+
432+ tpcds-1g :
433+ name : Run TPC-DS queries with SF=1
434+ runs-on : ubuntu-20.04
435+ steps :
436+ - name : Checkout Spark repository
437+ uses : actions/checkout@v2
438+ - name : Cache TPC-DS generated data
439+ id : cache-tpcds-sf-1
440+ uses : actions/cache@v2
441+ with :
442+ path : ./tpcds-sf-1
443+ key : tpcds-${{ hashFiles('tpcds-sf-1/.spark-tpcds-sf-1.md5') }}
444+ restore-keys : |
445+ tpcds-
446+ - name : Checkout TPC-DS (SF=1) generated data repository
447+ if : steps.cache-tpcds-sf-1.outputs.cache-hit != 'true'
448+ uses : actions/checkout@v2
449+ with :
450+ repository : maropu/spark-tpcds-sf-1
451+ ref : 6b660a53091bd6d23cbe58b0f09aae08e71cc667
452+ path : ./tpcds-sf-1
453+ - name : Cache Coursier local repository
454+ uses : actions/cache@v2
455+ with :
456+ path : ~/.cache/coursier
457+ key : tpcds-coursier-${{ hashFiles('**/pom.xml', '**/plugins.sbt') }}
458+ restore-keys : |
459+ tpcds-coursier-
460+ - name : Install Java 8
461+ uses : actions/setup-java@v1
462+ with :
463+ java-version : 8
464+ - name : Run TPC-DS queries
465+ run : |
466+ SPARK_TPCDS_DATA=`pwd`/tpcds-sf-1 build/sbt "sql/testOnly org.apache.spark.sql.TPCDSQueryTestSuite"
467+ - name : Upload test results to report
468+ if : always()
469+ uses : actions/upload-artifact@v2
470+ with :
471+ name : test-results-tpcds--8-hadoop3.2-hive2.3
472+ path : " **/target/test-reports/*.xml"
473+ - name : Upload unit tests log files
474+ if : failure()
475+ uses : actions/upload-artifact@v2
476+ with :
477+ name : unit-tests-log-tpcds--8-hadoop3.2-hive2.3
478+ path : " **/target/unit-tests.log"
0 commit comments