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}