name: Check PR code on: pull_request: branches: - master - chore-crowdin-ci jobs: 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