diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index ad1287695..01ff1fc3f 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -22,6 +22,7 @@ jobs: build: name: Build app runs-on: ubuntu-latest + if: github.repository == github.event.pull_request.head.repo.full_name steps: - name: Clone repo diff --git a/.github/workflows/build_pull_request_forked.yml b/.github/workflows/build_pull_request_forked.yml new file mode 100644 index 000000000..cccebb83b --- /dev/null +++ b/.github/workflows/build_pull_request_forked.yml @@ -0,0 +1,73 @@ +name: PR forked build check +on: + # push: + # branches: + # - develop + # paths-ignore: + # - '**.md' + pull_request: + paths-ignore: + - '**.md' + # Dispatch or Manual triggers + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + build: + name: Build app + runs-on: ubuntu-latest + if: github.repository != github.event.pull_request.head.repo.full_name + + steps: + - name: Clone repo + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + fetch-depth: 0 + + - name: Validate Gradle Wrapper + uses: gradle/actions/wrapper-validation@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4 + + - name: Dependency Review + uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4 + + - name: Setup Android SDK + run: | + ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "build-tools;29.0.3" + + - name: Set up JDK + uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4.2.2 + with: + java-version: 17 + distribution: temurin + + - name: Set up gradle + uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4 + + - name: Build app and run unit tests + run: ./gradlew assembleDevDebug testDevDebugUnitTest testDebugUnitTest --stacktrace + + - name: Rename apk + id: current_commit + run: | + set -x + echo "The git ref is: ${{ github.ref }}" + version_tag=p$(echo ${{ github.ref }} | cut -d '/' -f 3) + commit_count=$(git rev-list --count HEAD) + echo "VERSION_TAG=$version_tag" + echo "VERSION_TAG=$version_tag" >> $GITHUB_OUTPUT + echo "COMMIT_COUNT=$commit_count" + echo "COMMIT_COUNT=$commit_count" >> $GITHUB_OUTPUT + mv app/build/outputs/apk/dev/debug/app-dev-universal-debug.apk Komikku-$version_tag-d$commit_count.apk + + - name: Upload APK + uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6 + with: + name: Komikku-${{ steps.current_commit.outputs.VERSION_TAG }}-r${{ steps.current_commit.outputs.COMMIT_COUNT }}.apk + path: ./*.apk + retention-days: 1