blob: d72fb0fc944ad8054c460ec00ca3cb2a28934b2f [file] [log] [blame]
# 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: 'test-patch'
author: 'Apache Software Foundation'
description: 'Apache Yetus precommit patch testing'
branding:
color: purple
icon: feather
inputs:
basedir:
description: 'Directory location of source'
required: true
default: "${GITHUB_WORKSPACE}"
blankseolignorefile:
descipription: 'regex list of files to ignore blanks EOL'
default: .yetus/blanks-eol.txt
blankstabsignorefile:
description: 'regex list of files to ignore tabs'
default: .yetus/blanks-tabs.txt
bufbasedir:
description: 'Location where to run buf'
default: .
buildtool:
description: 'Name of build tool plug-in to use'
default: "nobuild"
continuousimprovement:
description: 'Pass branches that would otherwise fail'
default: false
excludes:
description: 'Filename of files/directories to ignore'
default: '.yetus/excludes.txt'
githubtoken:
description: 'GitHub token to use'
required: true
default: ''
javahome:
description: 'Location of the JDK to use'
default: '/usr/lib/jvm/java-11-openjdk-amd64'
patchdir:
description: 'Directory location of logs, temp space, etc'
required: true
default: "/tmp/yetus"
plugins:
description: 'Fine grained control over plug-ins'
default: 'all,-asflicense,-author,-findbugs,-gitlab,
-jira,-shelldocs'
project:
description: 'Name of project to put on reports, default personality, etc'
default: unknown
reapermode:
description: 'How to handle stale surefire tests'
default: kill
reviveconfig:
description: 'Configuration file for revive'
default: .revive.toml
testsfilter:
description: 'Only warn on these test plug-ins'
default: ''
runs:
using: 'docker'
image: docker://apache/yetus:0.13.0
args:
- test-patch
- --basedir=${{ inputs.basedir }}
- --blanks-eol-ignore-file=${{ inputs.blankseolignorefile }}
- --blanks-tabs-ignore-file=${{ inputs.blankstabsignorefile }}
- --brief-report-file=${{ inputs.patchdir }}/brief.txt
- --buf-basedir=${{ inputs.bufbasedir }}
- --build-tool=${{ inputs.buildtool }}
- --console-report-file=${{ inputs.patchdir }}/console.txt
- --continuous-improvement=${{ inputs.continuousimprovement }}
- --excludes=${{ inputs.excludes }}
- --github-token=${{ inputs.githubtoken }}
- --html-report-file=${{ inputs.patchdir }}/report.html
- --ignore-unknown-options=true
- --junit-report-xml=${{ inputs.patchdir }}/junit-report.xml
- --patch-dir=${{ inputs.patchdir }}
- --plugins=${{ inputs.plugins }}
- --project=${{ inputs.project }}
- --pylint-requirements=true
- --reapermode=${{ inputs.reapermode }}
- --report-unknown-options=false
- --revive-config=${{ inputs.reviveconfig }}
- --tests-filter=${{ inputs.testsfilter }}