diff --git a/.github/workflows/applicationTests.yml b/.github/workflows/applicationTests.yml
index d1fdcb80b10..8eecde60850 100644
--- a/.github/workflows/applicationTests.yml
+++ b/.github/workflows/applicationTests.yml
@@ -42,19 +42,19 @@ on:
- main
jobs:
- applicationsTests:
+ test:
+ name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
- name: Ap Test ${{ matrix.tests }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Cache Maven Dependencies
- uses: actions/cache@v1
+ uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }}
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4fe60b6e086..82f52f09a31 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -43,31 +43,37 @@ on:
jobs:
build:
+ name: ${{ matrix.os }} Java ${{ matrix.java }} ${{ matrix.javadist }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [
ubuntu-latest,
- # macOS-latest,
+ macOS-latest,
windows-latest
]
+ java: [
+ # '8',
+ '11',
+ # '16'
+ ]
+ javadist: [
+ # 'adopt',
+ 'adopt-openj9',
+ # 'zulu',
+ # 'temurin'
+ ]
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- - name: Setup Java 11
- uses: actions/setup-java@v1
- with:
- java-version: 11
-
- - name: Cache Maven Dependencies
- uses: actions/cache@v1
+ - name: Setup Java ${{ matrix.java }} ${{ matrix.javadist }}
+ uses: actions/setup-java@v2
with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ distribution: ${{ matrix.javadist }}
+ java-version: ${{ matrix.java }}
+ cache: 'maven'
- name: Build
- run: mvn package -P rat
+ run: mvn package
diff --git a/.github/workflows/componentTests.yml b/.github/workflows/componentTests.yml
index 276a27804f9..2e99d08cae8 100644
--- a/.github/workflows/componentTests.yml
+++ b/.github/workflows/componentTests.yml
@@ -42,29 +42,25 @@ on:
- main
jobs:
- componentTests:
+ test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
- name: Component Tests ${{ matrix.os }}
+ java: ['11']
+ javadist: ['adopt-openj9']
+ name: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- - name: Setup Java 1.8
- uses: actions/setup-java@v1
+ - name: Setup Java ${{ matrix.java }} ${{ matrix.javadist }}
+ uses: actions/setup-java@v2
with:
- java-version: 1.8
-
- - name: Cache Maven Dependencies
- uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-test-
+ distribution: ${{ matrix.javadist }}
+ java-version: ${{ matrix.java }}
+ cache: 'maven'
- name: Component Tests
run: ./docker/entrypoint.sh org.apache.sysds.test.component.**
diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml
index 848224c0dec..57fb1f23f61 100644
--- a/.github/workflows/documentation.yml
+++ b/.github/workflows/documentation.yml
@@ -36,32 +36,32 @@ on:
- main
jobs:
- documentation1:
- runs-on: ubuntu-latest
- name: Documentation Java
+ doc1:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest]
+ java: ['11']
+ javadist: ['adopt-openj9']
+ name: Java
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- - name: Setup Java 1.8
- uses: actions/setup-java@v1
- with:
- java-version: 1.8
-
- - name: Cache Maven Dependencies
- uses: actions/cache@v1
+ - name: Setup Java ${{ matrix.java }} ${{ matrix.javadist }}
+ uses: actions/setup-java@v2
with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ distribution: ${{ matrix.javadist }}
+ java-version: ${{ matrix.java }}
+ cache: 'maven'
- name: Make Documentation SystemDS Java
run: mvn -ntp -P distribution package
- documentation2:
+ doc2:
runs-on: ubuntu-latest
- name: Documentation Python
+ name: Python
steps:
- name: Checkout Repository
uses: actions/checkout@v2
@@ -73,7 +73,7 @@ jobs:
architecture: 'x64'
- name: Cache Pip Dependencies
- uses: actions/cache@v1
+ uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-docs-${{ hashFiles('src/main/python/docs/requires-docs.txt') }}
diff --git a/.github/workflows/functionsTests.yml b/.github/workflows/functionsTests.yml
index ae9a1cd9f5b..b2b2ef61241 100644
--- a/.github/workflows/functionsTests.yml
+++ b/.github/workflows/functionsTests.yml
@@ -42,7 +42,7 @@ on:
- main
jobs:
- applicationsTests:
+ test:
runs-on: ${{ matrix.os }}
timeout-minutes: 90
strategy:
@@ -65,13 +65,13 @@ jobs:
"**.functions.unary.matrix.**"
]
os: [ubuntu-latest]
- name: Function Test ${{ matrix.tests }}
+ name: ${{ matrix.tests }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Cache Maven Dependencies
- uses: actions/cache@v1
+ uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }}
diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml
new file mode 100644
index 00000000000..c1402f5b519
--- /dev/null
+++ b/.github/workflows/license.yml
@@ -0,0 +1,67 @@
+#-------------------------------------------------------------
+#
+# 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.
+#
+#-------------------------------------------------------------
+
+name: LicenseCheck
+
+on:
+ push:
+ paths-ignore:
+ - 'docs/**'
+ - '*.md'
+ - '*.html'
+ - 'src/main/python/docs/**'
+ - 'dev/**'
+ branches:
+ - main
+ pull_request:
+ paths-ignore:
+ - 'docs/**'
+ - '*.md'
+ - '*.html'
+ - 'src/main/python/docs/**'
+ - 'dev/**'
+ branches:
+ - main
+
+jobs:
+ build:
+ name: ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest]
+ java: ['11']
+ javadist: ['adopt-openj9']
+
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@v2
+
+ - name: Setup Java ${{ matrix.java }} ${{ matrix.javadist }}
+ uses: actions/setup-java@v2
+ with:
+ distribution: ${{ matrix.javadist }}
+ java-version: ${{ matrix.java }}
+ cache: 'maven'
+
+ - name: Build
+ run: mvn package -P rat
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index 5106063063b..5cbd5aba18f 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -42,50 +42,44 @@ on:
- main
jobs:
- applicationsTests:
+ test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: [3.8]
os: [ubuntu-latest]
- java: [ 11 ]
- name: Python Test
+ java: ['11']
+ javadist: ['adopt-openj9']
+
+ name: ${{ matrix.os }} Java ${{ matrix.java }} ${{ matrix.javadist }} Python ${{ matrix.python-version }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- - name: Setup Java
- uses: actions/setup-java@v1
+ - name: Setup Java ${{ matrix.java }} ${{ matrix.javadist }}
+ uses: actions/setup-java@v2
with:
+ distribution: ${{ matrix.javadist }}
java-version: ${{ matrix.java }}
-
- - name: Cache Maven Dependencies
- uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ cache: 'maven'
- name: Cache Pip Dependencies
- uses: actions/cache@v1
+ uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('src/main/python/setup.py') }}
- - name: Cache MNIST
- uses: actions/cache@v1
- with:
- path: src/main/python/systemds/examples/tutorials/mnist
- key: ${{ runner.os }}-mnist-${{ hashFiles('src/main/python/systemds/examples/tutorials/mnist.py') }}
-
- - name: Cache Adult/Census
- uses: actions/cache@v1
+ - name: Cache Datasets
+ uses: actions/cache@v2
with:
- path: src/main/python/systemds/examples/tutorials/adult/data.zip
- key: ${{ runner.os }}-adult-${{ hashFiles('src/main/python/systemds/examples/tutorials/adult.py') }}
+ path: |
+ src/main/python/systemds/examples/tutorials/mnist
+ src/main/python/systemds/examples/tutorials/adult/data.zip
+ key: ${{ runner.os }}-mnist-${{ hashFiles('src/main/python/systemds/examples/tutorials/mnist.py') }}-${{ hashFiles('src/main/python/systemds/examples/tutorials/adult.py') }}
- name: Cache Deb Dependencies
- uses: actions/cache@v1
+ uses: actions/cache@v2
with:
path: /var/cache/apt/archives
key: ${{ runner.os }}-${{ hashFiles('.github/workflows/python.yml') }}
@@ -93,8 +87,8 @@ jobs:
- name: Maven clean & package
run: mvn -ntp clean package -P distribution
- - name: Setup Python
- uses: actions/setup-python@v1
+ - name: Setup Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
diff --git a/pom.xml b/pom.xml
index 10d807f1d61..19510018b4c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,6 +48,8 @@
false
provided
10.2.0
+
+ 1.8
Testing settings
true
2
@@ -234,8 +236,8 @@
maven-compiler-plugin
3.8.1
- 1.8
- 1.8
+ ${java.level}
+ ${java.level}
@@ -365,7 +367,7 @@
org.jacoco
jacoco-maven-plugin
- 0.8.5
+ 0.8.7
${jacoco.include}
@@ -400,8 +402,8 @@
3.2.0
true
+
true
- 8
@@ -744,6 +746,7 @@
true
false
public
+ ${java.level}