From cac8bf13440dfd2ba4ef50e79c469787d8928ea5 Mon Sep 17 00:00:00 2001 From: Amine Date: Sun, 9 Mar 2025 16:15:38 +0100 Subject: [PATCH] chore: crowding ci integration. --- .gitea/workflows/assets/crowdin.yml | 10 ++++ .gitea/workflows/on_pr.yml | 83 +++++++++++++++++++++++------ 2 files changed, 77 insertions(+), 16 deletions(-) create mode 100644 .gitea/workflows/assets/crowdin.yml diff --git a/.gitea/workflows/assets/crowdin.yml b/.gitea/workflows/assets/crowdin.yml new file mode 100644 index 0000000..ea2e68c --- /dev/null +++ b/.gitea/workflows/assets/crowdin.yml @@ -0,0 +1,10 @@ +project_id_env: CROWDIN_PROJECT_ID +api_token_env: CROWDIN_PERSONAL_TOKEN +base_path: "../../../" + +files: + - source: /androidApp/src/main/res/values/strings.xml + translation: /androidApp/src/main/res/values-%android_code%/%original_file_name% + translate_attributes: '0' + content_segmentation: '0' +preserve_hierarchy: true diff --git a/.gitea/workflows/on_pr.yml b/.gitea/workflows/on_pr.yml index 183053d..3f667cc 100644 --- a/.gitea/workflows/on_pr.yml +++ b/.gitea/workflows/on_pr.yml @@ -3,26 +3,77 @@ on: pull_request: branches: - master + - chore-crowdin-ci jobs: - Lint: + # 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 - - uses: actions/setup-java@v4 + - name: upload translation sources + uses: crowdin/github-action@v2 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' - build: - needs: Lint - uses: ./.gitea/workflows/common_build.yml + 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 + run: sleep 10s + - name: download translations + 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 + id: check-changes + uses: mskri/check-uncommitted-changes-action@v1.0.1 + - name: Commit Changes + if: 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-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