Skip to content

split modules

split modules #8

#
# 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: Build and test
on:
push:
branches:
- trunk-*
pull_request:
branches:
- trunk-*
concurrency:
group: test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
MAVEN_ARGS: --batch-mode --no-transfer-progress
jobs:
default:
name: Unit test
runs-on: ubuntu-20.04
strategy:
fail-fast: false
max-parallel: 6
matrix:
java:
- 17
modules:
- ":hadoop-hdfs"
- ":hadoop-yarn-server-resourcemanager"
- ":hadoop-mapreduce-client-jobclient"
- ":hadoop-common,:hadoop-yarn-server-nodemanager,:hadoop-yarn-client,:hadoop-distcp"
- ":hadoop-hdfs-rbf,:hadoop-yarn-applications-distributedshell,:hadoop-yarn-services-core"
- ":hadoop-minikdc,:hadoop-auth,:hadoop-auth-examples,:hadoop-nfs,:hadoop-kms,:hadoop-registry
,:hadoop-hdfs-client,:hadoop-hdfs-native-client,:hadoop-hdfs-httpfs,:hadoop-hdfs-nfs,:hadoop-yarn-api
,:hadoop-yarn-common,:hadoop-yarn-server-common,:hadoop-yarn-server-applicationhistoryservice
,:hadoop-yarn-server-timelineservice,:hadoop-yarn-server-web-proxy,:hadoop-yarn-server-tests
,:hadoop-mapreduce-client-core,:hadoop-mapreduce-client-common,:hadoop-mapreduce-client-shuffle
,:hadoop-mapreduce-client-app,:hadoop-mapreduce-client-hs,:hadoop-minicluster,:hadoop-federation-balance
,:hadoop-yarn-server-sharedcachemanager,:hadoop-yarn-server-timeline-pluginstorage
,:hadoop-yarn-server-timelineservice-hbase-common,:hadoop-yarn-server-timelineservice-hbase-client
,:hadoop-yarn-server-timelineservice-hbase-server-2,:hadoop-yarn-server-timelineservice-hbase-tests
,:hadoop-yarn-server-router,:hadoop-yarn-server-timelineservice-documentstore
,:hadoop-yarn-server-globalpolicygenerator,:hadoop-yarn-applications-unmanaged-am-launcher
,:hadoop-yarn-services-api,:hadoop-yarn-applications-catalog-webapp
,org.apache.hadoop.applications.mawo:hadoop-yarn-applications-mawo-core,:hadoop-yarn-registry
,:hadoop-yarn-csi,:hadoop-mapreduce-client-hs-plugins,:hadoop-mapreduce-client-nativetask
,:hadoop-mapreduce-client-uploader,:hadoop-mapreduce-examples,:hadoop-streaming,:hadoop-client
,:hadoop-dynamometer-workload,:hadoop-dynamometer-infra,:hadoop-dynamometer-blockgen
,:hadoop-dynamometer-dist,:hadoop-archives,:hadoop-archive-logs,:hadoop-rumen,:hadoop-gridmix
,:hadoop-datajoin,:hadoop-extras,:hadoop-aws,:hadoop-kafka,:hadoop-azure,:hadoop-aliyun,:hadoop-sls
,:hadoop-resourceestimator,:hadoop-azure-datalake,:hadoop-fs2img,:hadoop-tools-dist,:hadoop-benchmark
,:hadoop-compat-bench,:hadoop-client-api,:hadoop-client-runtime,:hadoop-client-minicluster
,:hadoop-client-integration-tests,:hadoop-dist,:hadoop-cos,:hadoop-huaweicloud,:hadoop-cloud-storage"
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: ${{ matrix.java }}
cache: 'maven'
check-latest: false
- name: Build
run: mvn -pl ${{ matrix.modules }} clean install -am -DskipTests
- name: Test
run: mvn -pl ${{ matrix.modules }} test --fail-at-end -Dsurefire.excludesFile=$PWD/dev-support/java-17/exclude-tests.txt
- name: Upload test logs
if: failure()
uses: actions/upload-artifact@v3
with:
name: logs-${{ matrix.modules }}
path: |
**/target/*.log