name: Build on: workflow_call: jobs: BuildAndTestAndCoverage: runs-on: ubuntu-latest steps: - name: Check out repository code uses: actions/checkout@v4 with: fetch-depth: 0 - name: "Check android app changes" id: check-android-changes uses: tj-actions/changed-files@v45 with: files: | androidApp/src/** - name: Fetch tags if: steps.check-android-changes.outputs.any_modified == 'true' run: git fetch --tags -p - uses: actions/setup-java@v4 if: steps.check-android-changes.outputs.any_modified == 'true' with: distribution: 'temurin' java-version: '17' cache: gradle - uses: gradle/actions/setup-gradle@v3 if: steps.check-android-changes.outputs.any_modified == 'true' - uses: android-actions/setup-android@v3 if: steps.check-android-changes.outputs.any_modified == 'true' - name: Configure gradle... if: steps.check-android-changes.outputs.any_modified == 'true' run: mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=true" >> ~/.gradle/gradle.properties - name: Build and test if: steps.check-android-changes.outputs.any_modified == 'true' run: ./gradlew build -x testReleaseUnitTest -x testDebugUnitTest -x testGithubConfigReleaseUnitTest -x testGithubConfigDebugUnitTest # These tests will be done # TESTS ARE RUN LOCALLY # - uses: KengoTODA/actions-setup-docker-compose@v1 # with: # version: "2.23.3" # - name: run selfoss # run: | # docker compose -f .gitea/workflows/assets/docker-compose.yml up -d - name: coverage if: steps.check-android-changes.outputs.any_modified == 'true' run: | ./gradlew :koverHtmlReport - uses: actions/upload-artifact@v3 if: steps.check-android-changes.outputs.any_modified == 'true' with: name: coverage path: build/reports/kover/html retention-days: 1 overwrite: true include-hidden-files: true # TESTS ARE RUN LOCALLY # - name: Clean # if: always() # run: | # docker compose -f .gitea/workflows/assets/docker-compose.yml stop