From 02a76ea672a76a2dc648bff22064ccca38fab229 Mon Sep 17 00:00:00 2001 From: Hansong <107070759+kirklandsign@users.noreply.github.com> Date: Thu, 22 Aug 2024 18:35:43 -0700 Subject: [PATCH] Show warning if java code needs formatting Add a workflow for java formatting Pull Request resolved: https://github.com/pytorch/executorch/pull/4855 --- .ci/docker/common/install_linter.sh | 4 ++++ .github/workflows/lint.yml | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/.ci/docker/common/install_linter.sh b/.ci/docker/common/install_linter.sh index 4a796a72d5..d262176e49 100755 --- a/.ci/docker/common/install_linter.sh +++ b/.ci/docker/common/install_linter.sh @@ -13,3 +13,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/utils.sh" # NB: Install all linter dependencies, the caching of lintrunner init could be # done after Executorch becomes public pip_install -r requirements-lintrunner.txt + +# Install google-java-format +curl -L --retry 3 https://github.com/google/google-java-format/releases/download/v1.23.0/google-java-format_linux-x86-64 > /opt/google-java-format +chmod +x /opt/google-java-format diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7cb2cf69b8..ea068f65e1 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -54,3 +54,20 @@ jobs: lint.json || true exit $RC + + android-java-format: + uses: pytorch/test-infra/.github/workflows/linux_job.yml@main + with: + runner: linux.2xlarge + docker-image: executorch-ubuntu-22.04-linter + fetch-depth: 0 + ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} + script: | + FILES_NEEDS_FORMAT=$(/opt/google-java-format -n extension/android/src/main/java/org/pytorch/executorch/*.java \ + examples/demo-apps/android/ExecuTorchDemo/app/src/main/java/com/example/executorchdemo/*.java \ + examples/demo-apps/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/*.java) + if [ -n "$FILES_NEEDS_FORMAT" ]; then + echo "Warning: The following files need formatting. Please use google-java-format." + echo "$FILES_NEEDS_FORMAT" + exit 1 + fi