diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93311d26cf..f194d7739c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,24 +68,4 @@ jobs: with: os: ${{ matrix.os }} name: wallet module - build-root-dir: wallets - - if_merged: - if: github.event.pull_request.merged == true - name: Push translation source files to Transifex - runs-on: ubuntu-latest - steps: - - name: "Check if TX_TOKEN secret exists" - env: - transifex_secret: ${{secrets.TX_TOKEN}} - if: ${{env.transifex_secret == ''}} - run: | - echo "The secret \"TX_TOKEN\" has not been set; please go to \"settings \> secrets and variables\" to create it" - exit 1 - - name: Checkout - uses: actions/checkout@v4.2.0 - - name: Push source files using transifex client - uses: transifex/cli-action@v2 - with: - token: ${{ secrets.TX_TOKEN }} - args: push -s + build-root-dir: wallets \ No newline at end of file diff --git a/.github/workflows/sync_transifex.yml b/.github/workflows/sync_transifex.yml new file mode 100644 index 0000000000..c28a92f207 --- /dev/null +++ b/.github/workflows/sync_transifex.yml @@ -0,0 +1,50 @@ +name: Transifex + +on: + workflow_run: + workflows: [ Build Bisq 2 ] + types: [ completed ] + +jobs: + if_merged: + name: Push translation source files to Transifex + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + # Fetch all history so we can check commits properly + fetch-depth: 0 + + - name: Check if the commit is in the main branch + id: check_commit + run: | + git fetch origin main + if git merge-base --is-ancestor ${{ github.event.workflow_run.head_sha }} origin/main; then + echo "commit_in_main=true" >> $GITHUB_OUTPUT + else + echo "commit_in_main=false" >> $GITHUB_OUTPUT + fi + + - name: "Check if TX_TOKEN secret exists" + if: "steps.check_commit.outputs.commit_in_main == 'true'" + env: + transifex_secret: ${{ secrets.TX_TOKEN }} + run: | + if [ -z "$transifex_secret" ]; then + echo "The secret \"TX_TOKEN\" has not been set; please go to \"settings > secrets and variables\" to create it" + exit 1 + fi + + - name: Checkout at the specific commit + if: "steps.check_commit.outputs.commit_in_main == 'true'" + uses: actions/checkout@v4 + with: + ref: ${{ github.event.workflow_run.head_sha }} + + - name: Push source files using Transifex client + if: "steps.check_commit.outputs.commit_in_main == 'true'" + uses: transifex/cli-action@v2 + with: + token: ${{ secrets.TX_TOKEN }} + args: push -s