Compare commits
	
		
			1 Commits
		
	
	
		
			v125040991
			...
			81233d62bf
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 81233d62bf | 
| @@ -16,6 +16,9 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           files: | |           files: | | ||||||
|             androidApp/src/** |             androidApp/src/** | ||||||
|  |             shared/src/commonMain/** | ||||||
|  |             shared/src/androidMain/** | ||||||
|  |             shared/src/commonTest/** | ||||||
|       - name: Fetch tags |       - 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 |         run: git fetch --tags -p | ||||||
| @@ -34,14 +37,7 @@ jobs: | |||||||
|         run: mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=true" >> ~/.gradle/gradle.properties |         run: mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=true" >> ~/.gradle/gradle.properties | ||||||
|       - name: Build and test |       - name: Build and test | ||||||
|         if: steps.check-android-changes.outputs.any_modified == 'true' |         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 |         run: ./gradlew build -x testReleaseUnitTest -x testDebugUnitTest -x testGithubConfigReleaseUnitTest -x testGithubConfigDebugUnitTest | ||||||
|       # 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 |       - name: coverage | ||||||
|         if: steps.check-android-changes.outputs.any_modified == 'true' |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         run: | |         run: | | ||||||
| @@ -54,8 +50,3 @@ jobs: | |||||||
|           retention-days: 1 |           retention-days: 1 | ||||||
|           overwrite: true |           overwrite: true | ||||||
|           include-hidden-files: true |           include-hidden-files: true | ||||||
| #      TESTS ARE RUN LOCALLY |  | ||||||
| #      - name: Clean |  | ||||||
| #        if: always() |  | ||||||
| #        run: | |  | ||||||
| #          docker compose -f .gitea/workflows/assets/docker-compose.yml stop |  | ||||||
|   | |||||||
| @@ -3,63 +3,84 @@ on: | |||||||
|   workflow_call: |   workflow_call: | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   BuildAndTestAndCoverage: |   RunIntegrationTests: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Check out repository code |       - name: Check out repository code | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
|         with: |         with: | ||||||
|           fetch-depth: 0 |           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 |       - name: Fetch tags | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         run: git fetch --tags -p |         run: git fetch --tags -p | ||||||
|       - uses: actions/setup-java@v4 |       - uses: actions/setup-java@v4 | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         with: |         with: | ||||||
|           distribution: 'temurin' |           distribution: 'temurin' | ||||||
|           java-version: '17' |           java-version: '17' | ||||||
|           cache: gradle |  | ||||||
|       - uses: gradle/actions/setup-gradle@v3 |       - uses: gradle/actions/setup-gradle@v3 | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|       - uses: android-actions/setup-android@v3 |       - uses: android-actions/setup-android@v3 | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|       - name: Configure gradle... |       - name: Configure gradle... | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         run: mkdir -p ~/.gradle && echo "ignoreGitVersion=true" >> ~/.gradle/gradle.properties |         run: mkdir -p ~/.gradle && echo "ignoreGitVersion=true" >> ~/.gradle/gradle.properties | ||||||
|       - uses: KengoTODA/actions-setup-docker-compose@v1 |       - uses: KengoTODA/actions-setup-docker-compose@v1 | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         with: |         with: | ||||||
|           version: "2.23.3" |           version: "2.23.3" | ||||||
|       - name: run selfoss |       - name: run selfoss | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         run: | |         run: | | ||||||
|           docker compose -f .gitea/workflows/assets/docker-compose.yml up -d |           docker compose -f .gitea/workflows/assets/docker-compose.yml up -d | ||||||
|       - name: Set env url |       - name: Change url until I find a better way to do it | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         run: | |         run: | | ||||||
|           export SELFOSS_URL=172.17.0.1:8888 |           sed -i "s/val defaultUrl = \"http:\/\/10\.0\.2\.2\:8888\"/val defaultUrl = \"http:\/\/172\.17\.0\.1\:8888\"/g" ./androidApp/src/androidTest/kotlin/bou/amine/apps/readerforselfossv2/android/CommonTests.kt | ||||||
|       # https://github.com/ReactiveCircus/android-emulator-runner/issues/385 |  | ||||||
|       - name: Kill crashpad_handler processes |  | ||||||
|         if: always() |  | ||||||
|         run: | |  | ||||||
|           pkill -SIGTERM crashpad_handler || true |  | ||||||
|           sleep 5 |  | ||||||
|           pkill -SIGKILL crashpad_handler || true |  | ||||||
|       - name: Tests |       - name: Tests | ||||||
|  |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         uses: reactivecircus/android-emulator-runner@v2 |         uses: reactivecircus/android-emulator-runner@v2 | ||||||
|         with: |         with: | ||||||
|           api-level: 29 |           api-level: 29 | ||||||
|  |           profile: pixel_2 | ||||||
|           script: | |           script: | | ||||||
|             ./gradlew androidApp:connectedAndroidTest |             ./gradlew androidApp:clearScreenshotsTask || true | ||||||
|             killall -INT crashpad_handler || true |             ./gradlew androidApp:createScreenshotDirectory | ||||||
|  |             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 |       - uses: actions/upload-artifact@v3 | ||||||
|         if: failure() |         if: steps.check-android-changes.outputs.any_modified == 'true' | ||||||
|         with: |         with: | ||||||
|           name: failure-espresso |           name: screenshot-espresso | ||||||
|           path: build/reports/androidTests/connected/screenshots |           path: androidApp/build/reports/androidTests/connected/screenshots | ||||||
|           retention-days: 2 |           retention-days: 2 | ||||||
|           overwrite: true |           overwrite: true | ||||||
|           include-hidden-files: true |           include-hidden-files: true | ||||||
|       - uses: actions/upload-artifact@v3 |       - uses: actions/upload-artifact@v3 | ||||||
|  |         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' | ||||||
|         with: |         with: | ||||||
|           name: coverage-espresso |           name: coverage-espresso | ||||||
|           path: build/reports/coverage/androidTest/githubConfig/debug/connected |           path: androidApp/build/reports/jacoco/JacocoDebugCodeCoverage | ||||||
|           retention-days: 1 |           retention-days: 1 | ||||||
|           overwrite: true |           overwrite: true | ||||||
|           include-hidden-files: true |           include-hidden-files: true | ||||||
|       - name: Clean |       - name: Clean | ||||||
|         if: always() |         if: steps.check-android-changes.outputs.any_modified == 'true' || failure() | ||||||
|         run: | |         run: | | ||||||
|           docker compose -f .gitea/workflows/assets/docker-compose.yml stop |           docker compose -f .gitea/workflows/assets/docker-compose.yml stop | ||||||
|   | |||||||
| @@ -5,152 +5,89 @@ on: | |||||||
|       - master |       - master | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   BuildAndTestAndCoverage: |   Lint: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Check out repository code | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  |       - uses: actions/setup-java@v4 | ||||||
|  |         with: | ||||||
|  |           distribution: 'temurin' | ||||||
|  |           java-version: '17' | ||||||
|  |           cache: gradle | ||||||
|  |       - name: Install klint | ||||||
|  |         run: curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.5.0/ktlint && chmod a+x ktlint && mv ktlint /usr/local/bin/ | ||||||
|  |       - name: Install detekt | ||||||
|  |         run: curl -sSLO https://github.com/detekt/detekt/releases/download/v1.23.7/detekt-cli-1.23.7.zip && unzip detekt-cli-1.23.7.zip | ||||||
|  |       - name: Linting... | ||||||
|  |         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 |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Check out repository code |       - name: Check out repository code | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
|         with: |         with: | ||||||
|           fetch-depth: 0 |           fetch-depth: 0 | ||||||
|       - name: Fetch tags |       - name: "Check translations changes" | ||||||
|         run: git fetch --tags -p |         id: check-translations-changes | ||||||
|       - uses: actions/setup-java@v4 |         uses: tj-actions/changed-files@v45 | ||||||
|         with: |         with: | ||||||
|           distribution: 'temurin' |           files: | | ||||||
|           java-version: '17' |             androidApp/src/main/res/values/strings.xml | ||||||
|       - uses: gradle/actions/setup-gradle@v3 |       - name: upload translation sources | ||||||
|       - uses: android-actions/setup-android@v3 |         if: steps.check-api-changes.outputs.any_modified == 'true' | ||||||
|       - name: Configure gradle... |         uses: crowdin/github-action@v2 | ||||||
|         run: mkdir -p ~/.gradle && echo "ignoreGitVersion=true" >> ~/.gradle/gradle.properties |  | ||||||
|       - uses: KengoTODA/actions-setup-docker-compose@v1 |  | ||||||
|         with: |         with: | ||||||
|           version: "2.23.3" |           config: './.gitea/workflows/assets/crowdin.yml' | ||||||
|       - name: run selfoss |           upload_sources: true | ||||||
|  |           upload_translations: false | ||||||
|  |           download_translations: false | ||||||
|  |           create_pull_request: false | ||||||
|  |           push_translations: false | ||||||
|  |         env: | ||||||
|  |           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' | ||||||
|  |         run: sleep 10s | ||||||
|  |       - name: download translations | ||||||
|  |         if: steps.check-api-changes.outputs.any_modified == 'true' | ||||||
|  |         uses: crowdin/github-action@v2 | ||||||
|  |         with: | ||||||
|  |           config: './.gitea/workflows/assets/crowdin.yml' | ||||||
|  |           upload_sources: false | ||||||
|  |           upload_translations: false | ||||||
|  |           download_translations: true | ||||||
|  |           create_pull_request: false | ||||||
|  |           push_translations: false | ||||||
|  |         env: | ||||||
|  |           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' | ||||||
|  |         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 != '' | ||||||
|         run: | |         run: | | ||||||
|           docker compose -f .gitea/workflows/assets/docker-compose.yml up -d |           git config --global user.email aminecmi+giteadrone@pm.me | ||||||
|       - name: Change url until I find a better way to do it |           git config --global user.name giteadrone | ||||||
|         run: | |           git add ./androidApp/src/main/res/* | ||||||
|           sed -i "s/val defaultUrl = \"http:\/\/10\.0\.2\.2\:8888\"/val defaultUrl = \"http:\/\/172\.17\.0\.1\:8888\"/g" ./androidApp/src/androidTest/kotlin/bou/amine/apps/readerforselfossv2/android/CommonTests.kt |           git commit -m "translation: translation files" | ||||||
|       - name: Tests |       - name: Push changes | ||||||
|         uses: reactivecircus/android-emulator-runner@v2 |         if: steps.check-api-changes.outputs.any_modified == 'true' && steps.check-changes.outputs.changes != '' | ||||||
|  |         uses: appleboy/git-push-action@v1.0.0 | ||||||
|         with: |         with: | ||||||
|           api-level: 29 |           author_name: giteadrone | ||||||
|           profile: pixel_2 |           author_email: aminecmi+giteadrone@pm.me | ||||||
|           script: | |           remote: ${{ secrets.REMOTE_URL }} | ||||||
|             ./gradlew androidApp:clearScreenshotsTask || true |           ssh_key: ${{ secrets.PRIVATE_KEY }} | ||||||
|             ./gradlew androidApp:createScreenshotDirectory |           branch: ${{ github.head_ref || github.ref_name }} | ||||||
|             adb logcat -G 16M |   build: | ||||||
|             ./gradlew JacocoDebugCodeCoverage || true |     needs: Lint | ||||||
|             ./gradlew androidApp:fetchScreenshots |     uses: ./.gitea/workflows/common_build.yml | ||||||
|             adb logcat 'InputReader:S' 'chatty:S' 'audio_hw_generic:S' 'LogApiCalls:D' '*:I' -d > ./androidApp/build/reports/androidTests/connected/screenshots/logs.txt |   integrationTests: | ||||||
|       - uses: actions/upload-artifact@v3 |     needs: build | ||||||
|         if: always() |     uses: ./.gitea/workflows/common_coverage.yml | ||||||
|         with: |  | ||||||
|           name: screenshot-espresso |  | ||||||
|           path: androidApp/build/reports/androidTests/connected/screenshots |  | ||||||
|           retention-days: 2 |  | ||||||
|           overwrite: true |  | ||||||
|           include-hidden-files: true |  | ||||||
|       - uses: actions/upload-artifact@v3 |  | ||||||
|         if: always() |  | ||||||
|         with: |  | ||||||
|           name: result-espresso |  | ||||||
|           path: androidApp/build/reports/androidTests/connected/debug/flavors/githubConfig |  | ||||||
|           retention-days: 1 |  | ||||||
|           overwrite: true |  | ||||||
|           include-hidden-files: true |  | ||||||
|       - uses: actions/upload-artifact@v3 |  | ||||||
|         with: |  | ||||||
|           name: coverage-espresso |  | ||||||
|           path: androidApp/build/reports/jacoco/JacocoDebugCodeCoverage |  | ||||||
|           retention-days: 1 |  | ||||||
|           overwrite: true |  | ||||||
|           include-hidden-files: true |  | ||||||
|       - name: Clean |  | ||||||
|         if: always() |  | ||||||
|         run: | |  | ||||||
|           docker compose -f .gitea/workflows/assets/docker-compose.yml stop |  | ||||||
|  |  | ||||||
| #  Lint: |  | ||||||
| #    runs-on: ubuntu-latest |  | ||||||
| #    steps: |  | ||||||
| #      - name: Check out repository code |  | ||||||
| #        uses: actions/checkout@v4 |  | ||||||
| #      - uses: actions/setup-java@v4 |  | ||||||
| #        with: |  | ||||||
| #          distribution: 'temurin' |  | ||||||
| #          java-version: '17' |  | ||||||
| #          cache: gradle |  | ||||||
| #      - name: Install klint |  | ||||||
| #        run: curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.5.0/ktlint && chmod a+x ktlint && mv ktlint /usr/local/bin/ |  | ||||||
| #      - name: Install detekt |  | ||||||
| #        run: curl -sSLO https://github.com/detekt/detekt/releases/download/v1.23.7/detekt-cli-1.23.7.zip && unzip detekt-cli-1.23.7.zip |  | ||||||
| #      - name: Linting... |  | ||||||
| #        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 |  | ||||||
| #        with: |  | ||||||
| #          files: | |  | ||||||
| #            androidApp/src/main/res/values/strings.xml |  | ||||||
| #      - name: upload translation sources |  | ||||||
| #        if: steps.check-api-changes.outputs.any_modified == 'true' |  | ||||||
| #        uses: crowdin/github-action@v2 |  | ||||||
| #        with: |  | ||||||
| #          config: './.gitea/workflows/assets/crowdin.yml' |  | ||||||
| #          upload_sources: true |  | ||||||
| #          upload_translations: false |  | ||||||
| #          download_translations: false |  | ||||||
| #          create_pull_request: false |  | ||||||
| #          push_translations: false |  | ||||||
| #        env: |  | ||||||
| #          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' |  | ||||||
| #        run: sleep 10s |  | ||||||
| #      - name: download translations |  | ||||||
| #        if: steps.check-api-changes.outputs.any_modified == 'true' |  | ||||||
| #        uses: crowdin/github-action@v2 |  | ||||||
| #        with: |  | ||||||
| #          config: './.gitea/workflows/assets/crowdin.yml' |  | ||||||
| #          upload_sources: false |  | ||||||
| #          upload_translations: false |  | ||||||
| #          download_translations: true |  | ||||||
| #          create_pull_request: false |  | ||||||
| #          push_translations: false |  | ||||||
| #        env: |  | ||||||
| #          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' |  | ||||||
| #        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 != '' |  | ||||||
| #        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 != '' |  | ||||||
| #        uses: appleboy/git-push-action@v1.0.0 |  | ||||||
| #        with: |  | ||||||
| #          author_name: giteadrone |  | ||||||
| #          author_email: aminecmi+giteadrone@pm.me |  | ||||||
| #          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 |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user