From 2a6813e4a23f31dbce53bd6dd0133e81f0c8f402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Mon, 26 May 2025 15:21:16 +0100 Subject: [PATCH] [PM-21336] CI restructuring #1 - Consolidate Crowdin pull and push workflows (#5253) --- .../workflows/crowdin-pull-authenticator.yml | 59 ------------------- .github/workflows/crowdin-pull.yml | 32 ++++++---- .../workflows/crowdin-push-authenticator.yml | 32 ---------- .github/workflows/crowdin-push.yml | 25 +++++--- crowdin.yml => crowdin-bwpm.yml | 0 5 files changed, 39 insertions(+), 109 deletions(-) delete mode 100644 .github/workflows/crowdin-pull-authenticator.yml delete mode 100644 .github/workflows/crowdin-push-authenticator.yml rename crowdin.yml => crowdin-bwpm.yml (100%) diff --git a/.github/workflows/crowdin-pull-authenticator.yml b/.github/workflows/crowdin-pull-authenticator.yml deleted file mode 100644 index 0221afec05..0000000000 --- a/.github/workflows/crowdin-pull-authenticator.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Crowdin Sync - Authenticator - -on: - workflow_dispatch: - inputs: {} - schedule: - - cron: '0 0 * * 5' - -jobs: - crowdin-sync: - name: Autosync - runs-on: ubuntu-24.04 - permissions: - contents: write - pull-requests: write - env: - _CROWDIN_PROJECT_ID: "673718" - steps: - - name: Check out repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Log in to Azure - CI Subscription - uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0 - with: - creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }} - - - name: Retrieve secrets - id: retrieve-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@main - with: - keyvault: "bitwarden-ci" - secrets: "github-gpg-private-key, github-gpg-private-key-passphrase" - - - name: Generate GH App token - uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2 - id: app-token - with: - app-id: ${{ secrets.BW_GHAPP_ID }} - private-key: ${{ secrets.BW_GHAPP_KEY }} - - - name: Download translations - uses: crowdin/github-action@b8012bd5491b8aa8578b73ab5b5f5e7c94aaa6e2 # v2.7.0 - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - CROWDIN_API_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }} - with: - config: crowdin-bwa.yml - upload_sources: false - upload_translations: false - download_translations: true - github_user_name: "bitwarden-devops-bot" - github_user_email: "106330231+bitwarden-devops-bot@users.noreply.github.com" - commit_message: "Autosync the updated translations" - localization_branch_name: crowdin-auto-sync - create_pull_request: true - pull_request_title: "Autosync Crowdin Translations" - pull_request_body: "Autosync the updated translations" - gpg_private_key: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key }} - gpg_passphrase: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key-passphrase }} diff --git a/.github/workflows/crowdin-pull.yml b/.github/workflows/crowdin-pull.yml index 9aec4c130e..3603d059b1 100644 --- a/.github/workflows/crowdin-pull.yml +++ b/.github/workflows/crowdin-pull.yml @@ -1,20 +1,29 @@ -name: Crowdin Sync +name: Cron / Crowdin Pull +run-name: Crowdin Pull - ${{ github.event_name == 'workflow_dispatch' && 'Manual' || 'Scheduled' }} on: workflow_dispatch: - inputs: {} schedule: - cron: '0 0 * * 5' jobs: crowdin-sync: - name: Autosync + name: Crowdin Pull - ${{ matrix.name }} - ${{ github.event_name }} runs-on: ubuntu-24.04 permissions: contents: write pull-requests: write - env: - _CROWDIN_PROJECT_ID: "269690" + strategy: + matrix: + include: + - name: Password Manager + project_id: 269690 + config: crowdin-bwpm.yml + branch: crowdin-pull-bwpm + - name: Authenticator + project_id: 673718 + config: crowdin-bwa.yml + branch: crowdin-pull-bwa steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -38,22 +47,23 @@ jobs: app-id: ${{ secrets.BW_GHAPP_ID }} private-key: ${{ secrets.BW_GHAPP_KEY }} - - name: Download translations + - name: Download translations for ${{ matrix.name }} uses: crowdin/github-action@b8012bd5491b8aa8578b73ab5b5f5e7c94aaa6e2 # v2.7.0 env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }} + _CROWDIN_PROJECT_ID: ${{ matrix.project_id }} with: - config: crowdin.yml + config: ${{ matrix.config }} upload_sources: false upload_translations: false download_translations: true github_user_name: "bitwarden-devops-bot" github_user_email: "106330231+bitwarden-devops-bot@users.noreply.github.com" - commit_message: "Autosync the updated translations" - localization_branch_name: crowdin-auto-sync + commit_message: "Crowdin Pull - ${{ matrix.name }}" + localization_branch_name: ${{ matrix.branch }} create_pull_request: true - pull_request_title: "Autosync Crowdin Translations" - pull_request_body: "Autosync the updated translations" + pull_request_title: "Crowdin Pull - ${{ matrix.name }}" + pull_request_body: ":inbox_tray: New translations for ${{ matrix.name }} received!" gpg_private_key: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key }} gpg_passphrase: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key-passphrase }} diff --git a/.github/workflows/crowdin-push-authenticator.yml b/.github/workflows/crowdin-push-authenticator.yml deleted file mode 100644 index 7191407ac2..0000000000 --- a/.github/workflows/crowdin-push-authenticator.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Crowdin Push - Authenticator - -on: - workflow_dispatch: - push: - branches: - - "main" -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - JAVA_VERSION: 17 - -jobs: - crowdin-push: - name: Crowdin Push - runs-on: ubuntu-24.04 - permissions: - contents: read - env: - _CROWDIN_PROJECT_ID: "673718" - steps: - - name: Check out repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Upload sources - uses: crowdin/github-action@b8012bd5491b8aa8578b73ab5b5f5e7c94aaa6e2 # v2.7.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CROWDIN_API_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }} - with: - config: crowdin-bwa.yml - upload_sources: true - upload_translations: false diff --git a/.github/workflows/crowdin-push.yml b/.github/workflows/crowdin-push.yml index 64c1b66640..923384bf5e 100644 --- a/.github/workflows/crowdin-push.yml +++ b/.github/workflows/crowdin-push.yml @@ -1,19 +1,18 @@ -name: Crowdin Push +name: CI / Crowdin Push +run-name: Crowdin Push - ${{ github.event_name == 'workflow_dispatch' && 'Manual' || 'CI' }} on: workflow_dispatch: push: branches: - - "main" + - main jobs: crowdin-push: - name: Crowdin Push + name: Crowdin Push - ${{ github.event_name }} runs-on: ubuntu-24.04 permissions: contents: read - env: - _CROWDIN_PROJECT_ID: "269690" steps: - name: Check out repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -30,12 +29,24 @@ jobs: keyvault: "bitwarden-ci" secrets: "crowdin-api-token" - - name: Upload sources + - name: Upload sources for Password Manager uses: crowdin/github-action@b8012bd5491b8aa8578b73ab5b5f5e7c94aaa6e2 # v2.7.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }} + _CROWDIN_PROJECT_ID: "269690" with: - config: crowdin.yml + config: crowdin-bwpm.yml + upload_sources: true + upload_translations: false + + - name: Upload sources for Authenticator + uses: crowdin/github-action@b8012bd5491b8aa8578b73ab5b5f5e7c94aaa6e2 # v2.7.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }} + _CROWDIN_PROJECT_ID: "673718" + with: + config: crowdin-bwa.yml upload_sources: true upload_translations: false diff --git a/crowdin.yml b/crowdin-bwpm.yml similarity index 100% rename from crowdin.yml rename to crowdin-bwpm.yml