diff --git a/.gitea/workflows/common_build.yml b/.gitea/workflows/common_build.yml deleted file mode 100644 index 2959684..0000000 --- a/.gitea/workflows/common_build.yml +++ /dev/null @@ -1,51 +0,0 @@ -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/** - shared/src/commonMain/** - shared/src/androidMain/** - shared/src/commonTest/** - - 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' - - 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 - - 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 diff --git a/.gitea/workflows/on_merge_on_release.yml b/.gitea/workflows/on_merge_on_release.yml index 2ec912f..608d65e 100644 --- a/.gitea/workflows/on_merge_on_release.yml +++ b/.gitea/workflows/on_merge_on_release.yml @@ -7,7 +7,51 @@ on: jobs: build: - uses: ./.gitea/workflows/common_build.yml + 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/** + shared/src/commonMain/** + shared/src/androidMain/** + shared/src/commonTest/** + - 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' + - 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 + - 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 createTagAndChangelog: runs-on: ubuntu-latest needs: build diff --git a/.gitea/workflows/on_pr.yml b/.gitea/workflows/on_pr.yml index 7935296..716f87e 100644 --- a/.gitea/workflows/on_pr.yml +++ b/.gitea/workflows/on_pr.yml @@ -5,7 +5,7 @@ on: - master jobs: - Lint: + PR: runs-on: ubuntu-latest steps: - name: Check out repository code @@ -22,13 +22,6 @@ jobs: run: ktlint 'shared/**/*.kt' 'androidApp/**/*.kt' '!shared/build' - name: Detecting... run: ./detekt-cli-1.23.7/bin/detekt-cli -c detekt.yml --excludes '**/shared/build/**/*.kt' - translations: - runs-on: ubuntu-latest - steps: - - name: Check out repository code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - name: "Check translations changes" id: check-translations-changes uses: tj-actions/changed-files@v45 @@ -36,7 +29,7 @@ jobs: files: | androidApp/src/main/res/values/strings.xml - name: upload translation sources - if: steps.check-api-changes.outputs.any_modified == 'true' + if: ${{ steps.check-translations-changes.outputs.any_modified == 'true' }} uses: crowdin/github-action@v2 with: config: './.gitea/workflows/assets/crowdin.yml' @@ -49,10 +42,10 @@ jobs: CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} - name: wait - if: steps.check-api-changes.outputs.any_modified == 'true' + if: ${{ steps.check-translations-changes.outputs.any_modified == 'true' }} run: sleep 10s - name: download translations - if: steps.check-api-changes.outputs.any_modified == 'true' + if: ${{ steps.check-translations-changes.outputs.any_modified == 'true' }} uses: crowdin/github-action@v2 with: config: './.gitea/workflows/assets/crowdin.yml' @@ -65,18 +58,18 @@ jobs: CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} - name: Check for uncommitted changes - if: steps.check-api-changes.outputs.any_modified == 'true' + if: ${{ steps.check-translations-changes.outputs.any_modified == 'true' }} id: check-changes uses: mskri/check-uncommitted-changes-action@v1.0.1 - name: Commit Changes - if: steps.check-api-changes.outputs.any_modified == 'true' && steps.check-changes.outputs.changes != '' + if: ${{ steps.check-translations-changes.outputs.any_modified == 'true' }} && ${{ steps.check-changes.outputs.changes != '' }} run: | git config --global user.email aminecmi+giteadrone@pm.me git config --global user.name giteadrone git add ./androidApp/src/main/res/* git commit -m "translation: translation files" - name: Push changes - if: steps.check-api-changes.outputs.any_modified == 'true' && steps.check-changes.outputs.changes != '' + if: ${{ steps.check-translations-changes.outputs.any_modified == 'true' }} && ${{ steps.check-changes.outputs.changes != '' }} uses: appleboy/git-push-action@v1.0.0 with: author_name: giteadrone @@ -84,17 +77,6 @@ jobs: remote: ${{ secrets.REMOTE_URL }} ssh_key: ${{ secrets.PRIVATE_KEY }} branch: ${{ github.head_ref || github.ref_name }} - build: - needs: Lint - uses: ./.gitea/workflows/common_build.yml - RunIntegrationTests: - needs: Lint - 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 @@ -105,34 +87,44 @@ jobs: shared/src/androidMain/** shared/src/commonTest/** - name: Fetch tags - if: steps.check-android-changes.outputs.any_modified == 'true' + 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' - uses: gradle/actions/setup-gradle@v3 - if: steps.check-android-changes.outputs.any_modified == 'true' + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} - uses: android-actions/setup-android@v3 - if: steps.check-android-changes.outputs.any_modified == 'true' + 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 "ignoreGitVersion=true" >> ~/.gradle/gradle.properties + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} + run: mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=true" >> ~/.gradle/gradle.properties + - name: Change url until I find a better way to do it + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} + run: | + sed -i "s/const DEFAULT_URL = \"http:\/\/10\.0\.2\.2\:8888\"/const DEFAULT_URL = \"http:\/\/172\.17\.0\.1\:8888\"/g" ./androidApp/src/androidTest/kotlin/bou/amine/apps/readerforselfossv2/android/CommonTests.kt + - name: Build and test + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} + run: ./gradlew build -x testReleaseUnitTest -x testDebugUnitTest -x testGithubConfigReleaseUnitTest -x testGithubConfigDebugUnitTest + - 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 - uses: KengoTODA/actions-setup-docker-compose@v1 - if: steps.check-android-changes.outputs.any_modified == 'true' + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} with: version: "2.23.3" - name: run selfoss - if: steps.check-android-changes.outputs.any_modified == 'true' + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} run: | docker compose -f .gitea/workflows/assets/docker-compose.yml up -d - - name: Change url until I find a better way to do it - if: steps.check-android-changes.outputs.any_modified == 'true' - run: | - sed -i "s/const DEFAULT_URL = \"http:\/\/10\.0\.2\.2\:8888\"/const DEFAULT_URL = \"http:\/\/172\.17\.0\.1\:8888\"/g" ./androidApp/src/androidTest/kotlin/bou/amine/apps/readerforselfossv2/android/CommonTests.kt - name: Tests - if: steps.check-android-changes.outputs.any_modified == 'true' + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} uses: reactivecircus/android-emulator-runner@v2 with: api-level: 29 @@ -143,7 +135,7 @@ jobs: adb logcat -G 16M ./gradlew JacocoDebugCodeCoverage || (./gradlew androidApp:fetchScreenshots && adb logcat 'InputReader:S' 'chatty:S' 'audio_hw_generic:S' 'LogApiCalls:D' '*:I' -d > ./androidApp/build/reports/androidTests/connected/screenshots/logs.txt) - uses: actions/upload-artifact@v3 - if: steps.check-android-changes.outputs.any_modified == 'true' + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} with: name: screenshot-espresso path: androidApp/build/reports/androidTests/connected/screenshots @@ -151,14 +143,14 @@ jobs: overwrite: true include-hidden-files: true - uses: actions/upload-artifact@v3 - if: steps.check-android-changes.outputs.any_modified == 'true' + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} with: path: androidApp/build/reports/androidTests/connected/debug/flavors/githubConfig retention-days: 1 overwrite: true include-hidden-files: true - uses: actions/upload-artifact@v3 - if: steps.check-android-changes.outputs.any_modified == 'true' + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} with: name: coverage-espresso path: androidApp/build/reports/jacoco/JacocoDebugCodeCoverage @@ -166,6 +158,6 @@ jobs: overwrite: true include-hidden-files: true - name: Clean - if: steps.check-android-changes.outputs.any_modified == 'true' || failure() + if: ${{ steps.check-android-changes.outputs.any_modified == 'true' }} run: | docker compose -f .gitea/workflows/assets/docker-compose.yml stop diff --git a/.gitea/workflows/on_push.yml b/.gitea/workflows/on_push.yml index 101d35b..611b13e 100644 --- a/.gitea/workflows/on_push.yml +++ b/.gitea/workflows/on_push.yml @@ -6,4 +6,48 @@ on: jobs: build: - uses: ./.gitea/workflows/common_build.yml \ No newline at end of file + 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/** + shared/src/commonMain/** + shared/src/androidMain/** + shared/src/commonTest/** + - 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' + - 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 + - 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