diff --git a/.github/workflows/build-authenticator.yml b/.github/workflows/build-authenticator.yml index c63f34f499..1bf0eca080 100644 --- a/.github/workflows/build-authenticator.yml +++ b/.github/workflows/build-authenticator.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - release/**/* workflow_dispatch: inputs: version-name: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a097cfedc8..37bbee67dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - release/**/* workflow_dispatch: inputs: version-name: diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 019baed9a1..fc29c534f5 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -10,6 +10,7 @@ on: options: - RC - Hotfix + - Test jobs: create-release-branch: @@ -17,29 +18,36 @@ jobs: runs-on: ubuntu-24.04 permissions: contents: write + actions: write steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - - name: Create RC Branch - if: inputs.release_type == 'RC' + - name: Create RC or Test Branch + id: rc_branch + if: inputs.release_type == 'RC' || inputs.release_type == 'Test' env: - RC_PREFIX_DATE: "true" # replace with input if needed + _TEST_MODE: ${{ inputs.release_type == 'Test' }} + _RELEASE_TYPE: ${{ inputs.release_type }} run: | - if [ "$RC_PREFIX_DATE" = "true" ]; then - current_date=$(date +'%Y.%m') - branch_name="release/${current_date}-rc${{ github.run_number }}" - else - branch_name="release/rc${{ github.run_number }}" + current_date=$(date +'%Y.%-m') + branch_name="${current_date}-rc${{ github.run_number }}" + + if [ "$_TEST_MODE" = "true" ]; then + branch_name="WORKFLOW-TEST-${branch_name}" fi + branch_name="release/${branch_name}" + git switch main git switch -c $branch_name git push origin $branch_name - echo "# :cherry_blossom: RC branch: ${branch_name}" >> $GITHUB_STEP_SUMMARY + echo "# :cherry_blossom: ${_RELEASE_TYPE} branch: ${branch_name}" >> $GITHUB_STEP_SUMMARY + echo "branch_name=$branch_name" >> $GITHUB_OUTPUT - name: Create Hotfix Branch + id: hotfix_branch if: inputs.release_type == 'Hotfix' run: | latest_tag=$(git tag -l --sort=-creatordate | head -n 1) @@ -49,6 +57,7 @@ jobs: fi branch_name="release/hotfix-${latest_tag}" echo "🌿 branch name: $branch_name" + echo "branch_name=$branch_name" >> $GITHUB_OUTPUT if git show-ref --verify --quiet "refs/remotes/origin/$branch_name"; then echo "# :fire: :warning: Hotfix branch already exists: ${branch_name}" >> $GITHUB_STEP_SUMMARY exit 0 @@ -56,3 +65,12 @@ jobs: git switch -c $branch_name $latest_tag git push origin $branch_name echo "# :fire: Hotfix branch: ${branch_name}" >> $GITHUB_STEP_SUMMARY + + - name: Trigger CI Workflows + env: + GH_TOKEN: ${{ github.token }} + _BRANCH_NAME: ${{ steps.rc_branch.outputs.branch_name || steps.hotfix_branch.outputs.branch_name }} + run: | + echo "🌿 branch name: $_BRANCH_NAME" + gh workflow run build.yml --ref $_BRANCH_NAME -f distribute-to-firebase=true -f publish-to-play-store=true + gh workflow run build-authenticator.yml --ref $_BRANCH_NAME -f distribute-to-firebase=true -f publish-to-play-store=true