1name: Check Code Style 2 3on: 4 push: 5 branches: [ master, 'robolectric-*.x' ] 6 paths-ignore: 7 - '**.md' 8 9 pull_request: 10 branches: [ master, google ] 11 paths-ignore: 12 - '**.md' 13 14concurrency: 15 group: ${{ github.workflow }}-${{ github.ref }} 16 cancel-in-progress: true 17 18permissions: 19 contents: read 20 21jobs: 22 check_code_style: 23 runs-on: ubuntu-22.04 24 25 steps: 26 - uses: actions/checkout@v4 27 with: 28 fetch-depth: 0 29 30 - name: Set up JDK 17 31 uses: actions/setup-java@v4 32 with: 33 distribution: 'adopt' 34 java-version: 17 35 36 - name: Download google-java-format 1.9 37 run: | 38 curl -L -o $HOME/google-java-format.jar https://github.com/google/google-java-format/releases/download/v1.15.0/google-java-format-1.15.0-all-deps.jar 39 curl -L -o $HOME/google-java-format-diff.py https://raw.githubusercontent.com/google/google-java-format/v1.15.0/scripts/google-java-format-diff.py 40 chmod +x $HOME/google-java-format-diff.py 41 42 - name: Check Java formatting 43 run: | 44 base_branch="${{ github.event.pull_request.base.ref }}" 45 echo "Running google-java-format-diff against 'origin/$base_branch'" 46 git fetch origin "$base_branch" --depth 1 47 diff=$(git diff -U0 $(git merge-base HEAD origin/$base_branch) | $HOME/google-java-format-diff.py --google-java-format-jar=$HOME/google-java-format.jar -p1) 48 if [[ $diff ]]; then 49 echo "Please run google-java-format on the changes in this pull request" 50 git diff -U0 $(git merge-base HEAD origin/$base_branch) | $HOME/google-java-format-diff.py --google-java-format-jar=$HOME/google-java-format.jar -p1 51 exit 1 52 fi 53 54 - name: Check Kotlin formatting 55 run: | 56 ./gradlew spotlessCheck 57 58 - name: Check Kotlin Code Style 59 run: | 60 ./gradlew detekt 61