Compare commits
	
		
			1 Commits
		
	
	
		
			v125030901
			...
			31383b3242
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 31383b3242 | 
							
								
								
									
										68
									
								
								.gitea/workflows/common_coverage.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								.gitea/workflows/common_coverage.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | ||||
| name: Coverage | ||||
| on: | ||||
|   workflow_call: | ||||
|  | ||||
| jobs: | ||||
|   BuildAndTestAndCoverage: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Check out repository code | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Fetch tags | ||||
|         run: git fetch --tags -p | ||||
|       - uses: actions/setup-java@v4 | ||||
|         with: | ||||
|           distribution: 'temurin' | ||||
|           java-version: '17' | ||||
|           cache: gradle | ||||
|       - uses: gradle/actions/setup-gradle@v3 | ||||
|       #- uses: android-actions/setup-android@v3 | ||||
|       - name: Configure gradle... | ||||
|         run: mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=true" >> ~/.gradle/gradle.properties | ||||
|       - 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: AVD cache | ||||
|         uses: actions/cache@v4 | ||||
|         id: avd-cache | ||||
|         with: | ||||
|           path: | | ||||
|             ~/.android/avd/* | ||||
|             ~/.android/adb* | ||||
|           key: avd-35 | ||||
|  | ||||
|       - name: create AVD and generate snapshot for caching | ||||
|         if: steps.avd-cache.outputs.cache-hit != 'true' | ||||
|         uses: reactivecircus/android-emulator-runner@v2 | ||||
|         with: | ||||
|           api-level: 35 | ||||
|           force-avd-creation: false | ||||
|           emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | ||||
|           disable-animations: false | ||||
|           script: echo "Generated AVD snapshot for caching." | ||||
|  | ||||
|       - name: run tests | ||||
|         uses: reactivecircus/android-emulator-runner@v2 | ||||
|         with: | ||||
|           api-level: 35 | ||||
|           force-avd-creation: false | ||||
|           emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | ||||
|           disable-animations: true | ||||
|           script: ./gradlew androidApp:connectedAndroidTest | ||||
|       - uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           name: coverage-espresso | ||||
|           path: build/reports/coverage/androidTest/githubConfig/debug/connected | ||||
|           retention-days: 1 | ||||
|           overwrite: true | ||||
|           include-hidden-files: true | ||||
|       - name: Clean | ||||
|         if: always() | ||||
|         run: | | ||||
|           docker compose -f .gitea/workflows/assets/docker-compose.yml stop | ||||
| @@ -3,89 +3,91 @@ on: | ||||
|   pull_request: | ||||
|     branches: | ||||
|       - master | ||||
|       - chore-crowdin-ci | ||||
|  | ||||
| jobs: | ||||
|   Lint: | ||||
|   EspressoReports: | ||||
|     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 | ||||
|     uses: ./.gitea/workflows/common_coverage.yml | ||||
| #  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 | ||||
|   | ||||
| @@ -96,6 +96,7 @@ android { | ||||
|         // tests | ||||
|         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" | ||||
|         testInstrumentationRunnerArguments["clearPackageData"] = "true" | ||||
|         testInstrumentationRunnerArguments["useTestStorageService"] = "true" | ||||
|     } | ||||
|     packaging { | ||||
|         resources { | ||||
| @@ -109,6 +110,8 @@ android { | ||||
|             proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") | ||||
|         } | ||||
|         getByName("debug") { | ||||
|             isTestCoverageEnabled = true | ||||
|             enableAndroidTestCoverage = true | ||||
|         } | ||||
|     } | ||||
|     flavorDimensions.add("build") | ||||
| @@ -197,14 +200,15 @@ dependencies { | ||||
|     testImplementation("io.mockk:mockk:1.13.14") | ||||
|     testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1") | ||||
|     implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1") | ||||
|     androidTestImplementation("androidx.test:runner:1.6.2") | ||||
|     androidTestImplementation("androidx.test:rules:1.6.1") | ||||
|     androidTestImplementation("androidx.test:runner:1.7.0-alpha01") | ||||
|     androidTestImplementation("androidx.test:rules:1.7.0-alpha01") | ||||
|     androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") | ||||
|     implementation("androidx.test.espresso:espresso-idling-resource:3.6.1") | ||||
|     androidTestImplementation("androidx.test.ext:junit-ktx:1.2.1") | ||||
|     androidTestUtil("androidx.test:orchestrator:1.5.1") | ||||
|     androidTestUtil("androidx.test:orchestrator:1.6.0-alpha02") | ||||
|     androidTestUtil("androidx.test.services:test-services:1.6.0-alpha02") | ||||
|     testImplementation("org.robolectric:robolectric:4.14.1") | ||||
|     testImplementation("androidx.test:core-ktx:1.6.1") | ||||
|     testImplementation("androidx.test:core-ktx:1.7.0-alpha01") | ||||
|  | ||||
|     implementation("ch.acra:acra-http:$acraVersion") | ||||
|     implementation("ch.acra:acra-toast:$acraVersion") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user