babb654c81
### What changes were proposed in this pull request? This PR proposes to generate JUnit XML test report in SparkR tests that can be leveraged in both Jenkins and GitHub Actions. **GitHub Actions** ![Screen Shot 2020-08-18 at 12 42 46 PM](https://user-images.githubusercontent.com/6477701/90467934-55b85b00-e150-11ea-863c-c8415e764ddb.png) **Jenkins** ![Screen Shot 2020-08-18 at 2 03 42 PM](https://user-images.githubusercontent.com/6477701/90472509-a5505400-e15b-11ea-9165-777ec9b96eaa.png) NOTE that while I am here, I am switching back the console reporter from "progress" to "summary". Currently non-ascii codes are broken in Jenkins console and switching it to "summary" can work around it. "summary" is the default format used in testthat 1.x. ### Why are the changes needed? To check the test failures more easily. ### Does this PR introduce _any_ user-facing change? No, dev-only ### How was this patch tested? It is tested in GitHub Actions at https://github.com/HyukjinKwon/spark/pull/23/checks?check_run_id=996586446 In case of Jenkins, https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/127525/testReport/ Closes #29456 from HyukjinKwon/sparkr-junit. Authored-by: HyukjinKwon <gurwls223@apache.org> Signed-off-by: HyukjinKwon <gurwls223@apache.org>
69 lines
2.6 KiB
YAML
69 lines
2.6 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
# (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
version: "{build}-{branch}"
|
|
|
|
shallow_clone: true
|
|
|
|
platform: x64
|
|
configuration: Debug
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
only_commits:
|
|
files:
|
|
- appveyor.yml
|
|
- dev/appveyor-install-dependencies.ps1
|
|
- R/
|
|
- sql/core/src/main/scala/org/apache/spark/sql/api/r/
|
|
- core/src/main/scala/org/apache/spark/api/r/
|
|
- mllib/src/main/scala/org/apache/spark/ml/r/
|
|
- core/src/test/scala/org/apache/spark/deploy/SparkSubmitSuite.scala
|
|
- bin/*.cmd
|
|
|
|
cache:
|
|
- C:\Users\appveyor\.m2
|
|
|
|
install:
|
|
# Install maven and dependencies
|
|
- ps: .\dev\appveyor-install-dependencies.ps1
|
|
# Required package for R unit tests. xml2 is required to use jUnit reporter in testthat.
|
|
- cmd: Rscript -e "install.packages(c('knitr', 'rmarkdown', 'testthat', 'e1071', 'survival', 'arrow', 'xml2'), repos='https://cloud.r-project.org/')"
|
|
- cmd: Rscript -e "pkg_list <- as.data.frame(installed.packages()[,c(1, 3:4)]); pkg_list[is.na(pkg_list$Priority), 1:2, drop = FALSE]"
|
|
|
|
build_script:
|
|
# '-Djna.nosys=true' is required to avoid kernel32.dll load failure.
|
|
# See SPARK-28759.
|
|
# Ideally we should check the tests related to Hive in SparkR as well (SPARK-31745).
|
|
- cmd: mvn -DskipTests -Psparkr -Djna.nosys=true package
|
|
|
|
environment:
|
|
NOT_CRAN: true
|
|
# See SPARK-27848. Currently installing some dependent packages causes
|
|
# "(converted from warning) unable to identify current timezone 'C':" for an unknown reason.
|
|
# This environment variable works around to test SparkR against a higher version.
|
|
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
|
|
|
|
test_script:
|
|
- cmd: .\bin\spark-submit2.cmd --driver-java-options "-Dlog4j.configuration=file:///%CD:\=/%/R/log4j.properties" --conf spark.hadoop.fs.defaultFS="file:///" R\pkg\tests\run-all.R
|
|
|
|
notifications:
|
|
- provider: Email
|
|
on_build_success: false
|
|
on_build_failure: false
|
|
on_build_status_changed: false
|