# Copyright 2021 Collate # Licensed 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: Java Checkstyle # read-write repo token # access to secrets on: pull_request_target: branches: [ main ] concurrency: group: java-checkstyle-${{ github.head_ref }} cancel-in-progress: true jobs: java-checkstyle: runs-on: ${{matrix.os}} strategy: matrix: os: - ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: ref: ${{ github.event.pull_request.head.sha }} - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Run checkstyle run: mvn googleformatter:format@reformat-sources - name: Save checkstyle outcome id: git continue-on-error: true run: | git diff-files --quiet - name: Create a comment in the PR with the instructions if: steps.git.outcome != 'success' uses: peter-evans/create-or-update-comment@v1 with: issue-number: ${{ github.event.pull_request.number }} body: | **The Java checkstyle failed.** Please run `mvn googleformatter:format@reformat-sources` in the root of your repository and commit the changes to this PR. You can also use [pre-commit](https://pre-commit.com/) to automate the Java code formatting. You can install the pre-commit hooks with `make install_test precommit_install`. - name: Java checkstyle failed, check the comment in the PR if: steps.git.outcome != 'success' run: | exit 1