# 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: ci-workflow on: [push, pull_request] env: DEFAULT_MAVEN_OPTS: >- -Xmx2g -XX:ReservedCodeCacheSize=1g -XX:+UseG1GC -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false MAVEN_COMMAND: >- mvn package verify -V -D dir-only -D disableXmlReport -nsu -ntp -ff MAVEN_PROFILES: >- -P contrib-check -P include-grpc MAVEN_PROJECTS: >- -pl -nifi-assembly -pl -nifi-toolkit/nifi-toolkit-assembly -pl -nifi-registry/nifi-registry-assembly -pl -minifi/minifi-assembly -pl -nifi-system-tests concurrency: group: ${{ github.ref }} cancel-in-progress: true jobs: ubuntu-build-en: timeout-minutes: 120 runs-on: ubuntu-latest name: Ubuntu Zulu JDK 11 EN steps: - name: System Information run: | cat /proc/cpuinfo cat /proc/meminfo - name: Checkout Code uses: actions/checkout@v2 - name: Cache Maven Dependencies uses: actions/cache@v2 with: path: | ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Cache Node Modules uses: actions/cache@v2 with: path: | ~/.npm **/node_modules key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - name: Set up Java 11 uses: actions/setup-java@v2 with: distribution: 'zulu' java-version: '11' - name: Maven Build env: MAVEN_OPTS: >- ${{ env.DEFAULT_MAVEN_OPTS }} -Duser.language=en -Duser.country=AU -Duser.region=AU -Duser.timezone=Australia/Melbourne run: > ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_PROFILES }} ${{ env.MAVEN_PROJECTS }} macos-build-jp: timeout-minutes: 120 runs-on: macos-latest name: MacOS Adopt JDK 8 JP steps: - name: System Information run: | top -l 1 | grep PhysMem sysctl machdep.cpu - name: Checkout Code uses: actions/checkout@v2 - name: Cache Maven Dependencies uses: actions/cache@v2 with: path: | ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Cache Node Modules uses: actions/cache@v2 with: path: | ~/.npm **/node_modules key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - name: Set up Java 8 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '8' - name: Maven Build env: MAVEN_OPTS: >- ${{ env.DEFAULT_MAVEN_OPTS }} -Duser.language=ja -Duser.country=JP -Duser.region=JP -Duser.timezone=Asia/Tokyo run: >- ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_PROFILES }} ${{ env.MAVEN_PROJECTS }} windows-build: timeout-minutes: 120 runs-on: windows-latest name: Windows Zulu JDK 8 FR steps: - name: System Information run: | systeminfo - name: Setup Git run: | git config --global core.autocrlf false git config --global core.longpaths true - name: Checkout Code uses: actions/checkout@v2 - name: Cache Maven Dependencies uses: actions/cache@v2 with: path: | ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Get NPM Cache Directory id: npm-cache-directory run: | echo "::set-output name=directory::$(npm config get cache)" - name: Cache Node Modules uses: actions/cache@v2 with: path: | ${{ steps.npm-cache-directory.outputs.directory }} **/node_modules key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - name: Set up Java 8 uses: actions/setup-java@v2 with: distribution: 'zulu' java-version: '8' - name: Maven Build env: MAVEN_OPTS: >- ${{ env.DEFAULT_MAVEN_OPTS }} -Duser.language=fr -Duser.country=FR -Duser.region=FR -Duser.timezone=Europe/Paris run: >- ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_PROJECTS }}