| # 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://ghcr.io/apache/yetus:main |
| 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 |
| - --java-home=${{ inputs.javahome }} |
| - --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 }} |