This is an automated email from the ASF dual-hosted git repository.

slawrence pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-daffodil.git


The following commit(s) were added to refs/heads/master by this push:
     new c08b802  Switch completely to GitHub actions for CI
c08b802 is described below

commit c08b802206c0495b7b03b71d428d738286725568
Author: Steve Lawrence <[email protected]>
AuthorDate: Thu Mar 26 07:20:22 2020 -0400

    Switch completely to GitHub actions for CI
    
    - TravisCI fairly frequently has random failures not related to
      Daffodil. And even when it doesn't fail, it often takes a long time to
      run. It also doesn't support Windows. Let's just remove it.
    - Azure was more stable, and supports Windows, but Apache does not
      support Azure, and some tests still don't work on Windows. Since this
      isn't actively tested, remove it.
    - GitHub actions has all the features we needs, supports both Windows
      and Linux and seems to be more stable as far as random failures go. So
      completely switch to GitHub actions. Also enable code coverage
      reporting in GitHub Actions, which was previously only done by
      TravisCI. Also remove duplication of SBT environment variable now
      that GitHub actions supports that
    - Also update coverage report plugin, somehow coverage numbers were
      slightly different otherwise
    
    DAFFODIL-2307
---
 .azure-pipelines.yml       | 112 ---------------------------------------------
 .github/workflows/main.yml |  32 ++++---------
 .travis.yml                |  58 -----------------------
 README.md                  |   1 -
 project/plugins.sbt        |   2 +-
 5 files changed, 10 insertions(+), 195 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
deleted file mode 100644
index 6e44954..0000000
--- a/.azure-pipelines.yml
+++ /dev/null
@@ -1,112 +0,0 @@
-# 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.
- 
-strategy:
-  matrix:
-    Ubuntu/Scala2.12:
-      imageName: 'ubuntu-16.04'
-      scalaVersion: '2.12.6'
-    Ubuntu/Scala2.11:
-      imageName: 'ubuntu-16.04'
-      scalaVersion: '2.11.12'
-    Windows/Scala2.12:
-      imageName: 'windows-2019'
-      scalaVersion: '2.12.6'
-    Windows/Scala2.11:
-      imageName: 'windows-2019'
-      scalaVersion: '2.11.12'
-
-variables:
-  # note that this adds the coverage option at the end so all sbt commands are
-  # built with code coverage enabled
-  sbt: sbt -J-Xms1024m -J-Xmx4096m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++$(scalaVersion) coverage
-
-pool:
-  vmImage: $(imageName)
-
-steps:
-
-############################################################
-# Dependencies
-############################################################
-
-- bash: echo "##vso[task.setvariable variable=sbtVersion]"$(grep sbt.version 
project/build.properties | cut -d= -f2)
-  displayName: Set SBT Version 
-
-- bash: |
-    echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a 
/etc/apt/sources.list.d/sbt.list
-    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 
2EE0EA64E40A89B84B2DF73499E82A75642AC823
-    sudo apt-get -y update
-    sudo apt-get -y install rpm sbt=$(sbtVersion)
-  displayName: Install Dependencies (Linux)
-  continueOnError: false
-  condition: eq(variables['Agent.OS'], 'Linux')
-
-- bash: |
-    choco install sbt --version $(sbtVersion)
-    echo "##vso[task.prependpath]/c/Program Files (x86)/sbt/bin/"
-  displayName: Install Dependencies (Windows)
-  continueOnError: false
-  condition: eq(variables['Agent.OS'], 'Windows_NT')
-
-############################################################
-# Build & Package
-############################################################
-
-- bash: $(sbt) compile test:compile it:compile
-  displayName: Compile
-  continueOnError: false
-
-- bash: $(sbt) daffodil-japi/genjavadoc:doc daffodil-sapi/doc
-  displayName: Build Documentation
-  continueOnError: true
-
-- bash: $(sbt) daffodil-cli/universal:packageBin 
daffodil-cli/universal:packageZipTarball
-  displayName: Package Zip & Tar
-  continueOnError: true
-
-- bash: $(sbt) daffodil-cli/rpm:packageBin
-  displayName: Package RPM
-  continueOnError: true
-  condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
-
-############################################################
-# Tests
-############################################################
-
-- bash: $(sbt) ratCheck || (cat target/rat.txt; exit 1)
-  displayName: Run Rat Check
-  continueOnError: true
-
-- bash: $(sbt) test
-  displayName: Run Unit Tests
-  continueOnError: true
-
-- bash: $(sbt) it:test
-  displayName: Run Integration Tests
-  continueOnError: true
-
-# Disabled for now until ASF support is enabled
-#- bash: |
-#    $(sbt) coverageReport
-#    bash <(curl -s https://codecov.io/bash)
-#  displayName: Generate Coverage Report
-#  continueOnError: true
-
-- task: PublishTestResults@2
-  displayName: Publish Test Results
-  inputs:
-    testRunner: JUnit
-    testResultsFiles: '**/TEST-*.xml'
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 3b885bf..a4cf042 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -27,6 +27,8 @@ jobs:
         java_version: [ '8.x', '9.x', '11.x' ]
         scala_version: [ '2.12.6', '2.11.12' ]
         os: [ 'ubuntu-latest', 'windows-latest' ]
+    env:
+      SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
     steps:
 
       ############################################################
@@ -59,27 +61,19 @@ jobs:
       - name: Compile
         run: $SBT compile test:compile it:compile
         shell: bash
-        env:
-          SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
 
       - name: Build Documentation
         run: $SBT daffodil-japi/genjavadoc:doc daffodil-sapi/doc
         shell: bash
-        env:
-          SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
 
       - name: Package Zip & Tar
         run: $SBT daffodil-cli/universal:packageBin 
daffodil-cli/universal:packageZipTarball
         shell: bash
-        env:
-          SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
 
       - name: Package RPM
         run: $SBT daffodil-cli/rpm:packageBin
         if: runner.os == 'Linux'
         shell: bash
-        env:
-          SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
 
       ############################################################
       # Test
@@ -88,26 +82,18 @@ jobs:
       - name: Run Rat Check
         run: $SBT ratCheck || (cat target/rat.txt; exit 1)
         shell: bash
-        env:
-          SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
 
       - name: Run Unit Tests
         run: $SBT test
         shell: bash
-        env:
-          SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
 
       - name: Run Integration Tests
         run: $SBT it:test
         shell: bash
-        env:
-          SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
-
-      # Disabled until we switch from TravisCI to Github Actions
-      #- name: Generate Coverage Report
-      #  run: |
-      #    $SBT coverageReport
-      #    bash <(curl -s https://codecov.io/bash)
-      #  env:
-      #    SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m ++${{ matrix.scala_version }} coverage
-      #  shell: bash
+
+      - name: Generate Coverage Report
+        run: $SBT coverageAggregate
+        shell: bash
+
+      - name: Upload Coverage Report
+        uses: codecov/codecov-action@v1
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 741a202..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-# 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.
-
-addons:
-  apt:
-    packages:
-      - rpm
-language: scala
-scala:
-  - 2.12.6
-  - 2.11.12
-jdk:
-  - openjdk8
-  - openjdk9
-  - openjdk11
-sudo: required
-dist: trusty
-
-cache:
-  directories:
-    - $HOME/.ivy2/cache
-    - $HOME/.sbt/boot
-before_cache:
-  - find $HOME/.sbt -name "*.lock" | xargs rm
-  - find $HOME/.ivy2 -name "ivydata-*.properties" | xargs rm
-  - rm -f $HOME/.ivy2/.sbt.ivy.lock
-
-env:
-  global:
-    - SBT="sbt -J-Xms1024m -J-Xmx4096m -J-XX:ReservedCodeCacheSize=512m 
-J-XX:MaxMetaspaceSize=1024m"
-
-before_script:
-  - unset _JAVA_OPTIONS
-script:
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage compile test:compile it:compile || 
travis_terminate 1
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage test
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage it:test
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage daffodil-cli/universal:packageBin
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage 
daffodil-cli/universal:packageZipTarball
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage daffodil-cli/rpm:packageBin
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage daffodil-japi/genjavadoc:doc
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage daffodil-sapi/doc
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage ratCheck || (cat target/rat.txt; 
exit 1)
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage coverageReport
-  - $SBT ++$TRAVIS_SCALA_VERSION coverage coverageAggregate
-  - bash <(curl -s https://codecov.io/bash)
diff --git a/README.md b/README.md
index 7dd552a..6836786 100644
--- a/README.md
+++ b/README.md
@@ -95,7 +95,6 @@ Generate an [sbt-scoverage] test coverage report located in
 
 ```text
 $ sbt clean coverage test it:test
-$ sbt coverageReport
 $ sbt coverageAggregate
 ```
 
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 7fd022b..3423950 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -19,7 +19,7 @@ addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % 
"1.3.17")
 
 addSbtPlugin("org.musigma" % "sbt-rat" % "0.6.0")
 
-addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")
+addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1")
 
 // Both sbt and the sbt-native-pacakger plugin have transitive dependencies to
 // different versions of plexus-utils and guava, but with different major

Reply via email to