From 7812762f6141fe7915f2bf20ef0db569dbb890ee Mon Sep 17 00:00:00 2001 From: Mathieu Date: Thu, 2 May 2024 11:03:33 +0200 Subject: [PATCH] ci: Add workflow to automate the rebase and tag --- .github/workflows/android.yml | 1 + .github/workflows/rebase.yml | 67 +++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 .github/workflows/rebase.yml diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 536296ee..c88bfcbf 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -6,6 +6,7 @@ on: - '*' tags: - '*' + workflow_dispatch: jobs: build: diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml new file mode 100644 index 00000000..34d36bfb --- /dev/null +++ b/.github/workflows/rebase.yml @@ -0,0 +1,67 @@ +name: Rebase and tag + +on: + workflow_dispatch: + # inputs: + # sync_test_mode: # Adds a boolean option that appears during manual workflow run for easy test mode config + # description: 'Test Mode' + # type: boolean + # default: false + +jobs: + sync_latest_from_upstream: + name: Sync latest commits from upstream repo and tag + runs-on: ubuntu-latest + permissions: + contents: write + steps: + + - name: checkout code + uses: actions/checkout@v4 + with: + ref: build-apk + fetch-depth: 0 + + - name: Sync upstream changes + id: sync + uses: aormsby/Fork-Sync-With-Upstream-action@v3.4.1 + with: + target_sync_branch: build-apk + # REQUIRED 'target_repo_token' exactly like this! + target_repo_token: ${{ secrets.GITHUB_TOKEN }} + target_branch_push_args: '--force' + upstream_sync_branch: main + upstream_sync_repo: olvid-io/olvid-android + upstream_pull_args: '--rebase --tags' + + # Set test_mode true during manual dispatch to run tests instead of the true action!! + test_mode: ${{ inputs.sync_test_mode }} + + - name: New commits found + if: steps.sync.outputs.has_new_commits == 'true' + run: echo "New commits were found to sync." + + - name: No new commits + if: steps.sync.outputs.has_new_commits == 'false' + run: echo "There were no new commits." + + - name: Show value of 'has_new_commits' + run: echo ${{ steps.sync.outputs.has_new_commits }} + + - name: 'Get Previous tag' + if: steps.sync.outputs.has_new_commits == 'true' + id: previoustag + uses: "WyriHaximus/github-action-get-previous-tag@v1" + + - name: Bump version and push tag + if: steps.sync.outputs.has_new_commits == 'true' + uses: EndBug/latest-tag@latest + with: + github_token: ${{ secrets.GH_TOKEN }} + ref: "${{ steps.previoustag.outputs.tag }}-kumy1" + + - name: Trigger build + if: steps.sync.outputs.has_new_commits == 'true' + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + run: gh workflow run android.yml --ref "${{ steps.previoustag.outputs.tag }}-kumy1"