From c115d1e6448ed724faf4a80feddad2d28f7143d5 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:20:24 +0200 Subject: [PATCH 01/21] chore: comment line --- .github/scripts/create-platform-release-pr.sh | 12 +++++++----- .github/workflows/create-release-pr.yml | 4 +++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/scripts/create-platform-release-pr.sh b/.github/scripts/create-platform-release-pr.sh index a8de3c1e..cbce70ce 100755 --- a/.github/scripts/create-platform-release-pr.sh +++ b/.github/scripts/create-platform-release-pr.sh @@ -72,14 +72,16 @@ get_release_branch_name() { if [ "$TEST_ONLY" == "true" ]; then echo "release-testing/${new_version}" return 0 + elif + echo "${new_version}" fi # Different release branch naming for different platforms - if [[ "$platform" == "mobile" ]]; then - echo "release/${new_version}" - elif [[ "$platform" == "extension" ]]; then - echo "Version-v${new_version}" - fi + # if [[ "$platform" == "mobile" ]]; then + # echo "release/${new_version}" + # elif [[ "$platform" == "extension" ]]; then + # echo "Version-v${new_version}" + # fi } # Main Script diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index fec86dcd..05327a5f 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -78,7 +78,8 @@ jobs: uses: actions/checkout@v4 with: repository: MetaMask/github-tools - ref: ${{ inputs.github-tools-version }} + # ref: ${{ inputs.github-tools-version }} + ref: ${{ github.action_ref}} path: github-tools # Step 3: Setup environment from github-tools @@ -128,3 +129,4 @@ jobs: ${{ inputs.previous-version-tag }} \ ${{ inputs.semver-version }} \ ${{ inputs.mobile-build-version }} + From bb66c72f5279eb886d19c1702999bd79ca40e707 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:24:20 +0200 Subject: [PATCH 02/21] chore: added GH a ref --- .github/workflows/create-release-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 05327a5f..242c88c2 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -105,6 +105,7 @@ jobs: echo "Extension Template Sheet ID: ${{ inputs.extension-template-sheet-id }}" echo "Release Sheet Google Document ID: ${{ inputs.release-sheet-google-document-id }}" echo "GitHub Tools Version: ${{ inputs.github-tools-version }}" + echo "GitHub Action Ref: ${{ github.action_ref }}" echo "-------------" # Step 5: Create Release PR From 7f7779f38ec739ec5183b51dc2878c3cb50c0331 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:30:20 +0200 Subject: [PATCH 03/21] chore: improve the pipeline --- .github/workflows/create-release-pr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 242c88c2..03ab32ba 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -79,7 +79,7 @@ jobs: with: repository: MetaMask/github-tools # ref: ${{ inputs.github-tools-version }} - ref: ${{ github.action_ref}} + ref: ${{ github.ref}} path: github-tools # Step 3: Setup environment from github-tools @@ -106,6 +106,7 @@ jobs: echo "Release Sheet Google Document ID: ${{ inputs.release-sheet-google-document-id }}" echo "GitHub Tools Version: ${{ inputs.github-tools-version }}" echo "GitHub Action Ref: ${{ github.action_ref }}" + echo "GitHub Ref: ${{ github.ref }}" echo "-------------" # Step 5: Create Release PR From 3c71867c24fdebe75acb5e64045cd03c249cb774 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:34:08 +0200 Subject: [PATCH 04/21] chore: added SHA --- .github/workflows/create-release-pr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 03ab32ba..7808407e 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -79,7 +79,7 @@ jobs: with: repository: MetaMask/github-tools # ref: ${{ inputs.github-tools-version }} - ref: ${{ github.ref}} + ref: ${{ github.sha}} path: github-tools # Step 3: Setup environment from github-tools @@ -107,6 +107,7 @@ jobs: echo "GitHub Tools Version: ${{ inputs.github-tools-version }}" echo "GitHub Action Ref: ${{ github.action_ref }}" echo "GitHub Ref: ${{ github.ref }}" + echo "GitHub SHA: ${{ github.sha }}" echo "-------------" # Step 5: Create Release PR From e2e7d57c8c9fbe4463813ee3c4955099304164f4 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:38:32 +0200 Subject: [PATCH 05/21] chore: test action ref --- .github/workflows/create-release-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 7808407e..e54a453d 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -79,7 +79,7 @@ jobs: with: repository: MetaMask/github-tools # ref: ${{ inputs.github-tools-version }} - ref: ${{ github.sha}} + ref: ${{ github.action_ref}} path: github-tools # Step 3: Setup environment from github-tools From cd0845d5c0cfad7a7ea5b632cc52960369083f04 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:43:43 +0200 Subject: [PATCH 06/21] chore: test print variables --- .github/workflows/create-release-pr.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index e54a453d..489d31b3 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -73,6 +73,28 @@ jobs: ref: ${{ inputs.base-branch }} token: ${{ secrets.github-token }} + # Step 4: Print Input Values + - name: Print Input Values before + run: | + echo "Input Values:" + echo "-------------" + echo "Platform: ${{ inputs.platform }}" + echo "Base Branch: ${{ inputs.base-branch }}" + echo "Semver Version: ${{ inputs.semver-version }}" + echo "Previous Version Tag: ${{ inputs.previous-version-tag }}" + echo "Test Only Mode: ${{ inputs.test-only }}" + if [[ "${{ inputs.platform }}" == "mobile" ]]; then + echo "Mobile Build Version: ${{ inputs.mobile-build-version }}" + fi + echo "Mobile Template Sheet ID: ${{ inputs.mobile-template-sheet-id }}" + echo "Extension Template Sheet ID: ${{ inputs.extension-template-sheet-id }}" + echo "Release Sheet Google Document ID: ${{ inputs.release-sheet-google-document-id }}" + echo "GitHub Tools Version: ${{ inputs.github-tools-version }}" + echo "GitHub Action Ref: ${{ github.action_ref }}" + echo "GitHub Ref: ${{ github.ref }}" + echo "GitHub SHA: ${{ github.sha }}" + echo "-------------" + # Step 2: Checkout github-tools repository - name: Checkout github-tools repository uses: actions/checkout@v4 From 5c25eb49395281be0da6b30ffb05f231246d0e5d Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:50:13 +0200 Subject: [PATCH 07/21] chore: test workflow SHA --- .github/workflows/create-release-pr.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 489d31b3..9f0e4fdc 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -94,6 +94,12 @@ jobs: echo "GitHub Ref: ${{ github.ref }}" echo "GitHub SHA: ${{ github.sha }}" echo "-------------" + + - name: Get current SHA of this workflow + run: | + WORKFLOW_SHA=$(git rev-parse HEAD) + echo "Current workflow SHA: $WORKFLOW_SHA" + echo "WORKFLOW_SHA=$WORKFLOW_SHA" >> $GITHUB_ENV # Step 2: Checkout github-tools repository - name: Checkout github-tools repository @@ -101,7 +107,7 @@ jobs: with: repository: MetaMask/github-tools # ref: ${{ inputs.github-tools-version }} - ref: ${{ github.action_ref}} + ref: ${{ env.WORKFLOW_SHA }} path: github-tools # Step 3: Setup environment from github-tools From 926af0341d2044c920e03e506c657ba3fd083a52 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 17:06:17 +0200 Subject: [PATCH 08/21] chore: check SHA --- .github/workflows/create-release-pr.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 9f0e4fdc..7a1ece4c 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -65,6 +65,12 @@ jobs: contents: write pull-requests: write steps: + - name: Get current SHA of this workflow + run: | + WORKFLOW_SHA=$(git rev-parse HEAD) + echo "Current workflow SHA: $WORKFLOW_SHA" + echo "WORKFLOW_SHA=$WORKFLOW_SHA" >> $GITHUB_ENV + # Step 1: Checkout invoking repository (metamask-mobile | metamask-extension ) - name: Checkout invoking repository uses: actions/checkout@v4 @@ -94,12 +100,6 @@ jobs: echo "GitHub Ref: ${{ github.ref }}" echo "GitHub SHA: ${{ github.sha }}" echo "-------------" - - - name: Get current SHA of this workflow - run: | - WORKFLOW_SHA=$(git rev-parse HEAD) - echo "Current workflow SHA: $WORKFLOW_SHA" - echo "WORKFLOW_SHA=$WORKFLOW_SHA" >> $GITHUB_ENV # Step 2: Checkout github-tools repository - name: Checkout github-tools repository From 7dd3aacaa17c1c735dca7b0d557a4e92fcc3534a Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 17:08:34 +0200 Subject: [PATCH 09/21] chore: check gh act re --- .github/workflows/create-release-pr.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 7a1ece4c..05d8e0cf 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -67,10 +67,8 @@ jobs: steps: - name: Get current SHA of this workflow run: | - WORKFLOW_SHA=$(git rev-parse HEAD) - echo "Current workflow SHA: $WORKFLOW_SHA" - echo "WORKFLOW_SHA=$WORKFLOW_SHA" >> $GITHUB_ENV - + echo "GitHub Action Ref: ${{ github.action_ref }}" + # Step 1: Checkout invoking repository (metamask-mobile | metamask-extension ) - name: Checkout invoking repository uses: actions/checkout@v4 From 540b9c2ff2bbec4c14504309998969e49f539d58 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 17:09:38 +0200 Subject: [PATCH 10/21] chore: dump gh context --- .github/workflows/create-release-pr.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 05d8e0cf..a11b981a 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -65,9 +65,10 @@ jobs: contents: write pull-requests: write steps: - - name: Get current SHA of this workflow - run: | - echo "GitHub Action Ref: ${{ github.action_ref }}" + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" # Step 1: Checkout invoking repository (metamask-mobile | metamask-extension ) - name: Checkout invoking repository From c9e371b497e684122642b6e8071a571a8891f509 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Thu, 3 Jul 2025 17:16:35 +0200 Subject: [PATCH 11/21] chore: rollback to use the commit id or branch name --- .github/workflows/create-release-pr.yml | 29 +------------------------ 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index a11b981a..e0eb191b 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -65,10 +65,6 @@ jobs: contents: write pull-requests: write steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" # Step 1: Checkout invoking repository (metamask-mobile | metamask-extension ) - name: Checkout invoking repository @@ -78,35 +74,12 @@ jobs: ref: ${{ inputs.base-branch }} token: ${{ secrets.github-token }} - # Step 4: Print Input Values - - name: Print Input Values before - run: | - echo "Input Values:" - echo "-------------" - echo "Platform: ${{ inputs.platform }}" - echo "Base Branch: ${{ inputs.base-branch }}" - echo "Semver Version: ${{ inputs.semver-version }}" - echo "Previous Version Tag: ${{ inputs.previous-version-tag }}" - echo "Test Only Mode: ${{ inputs.test-only }}" - if [[ "${{ inputs.platform }}" == "mobile" ]]; then - echo "Mobile Build Version: ${{ inputs.mobile-build-version }}" - fi - echo "Mobile Template Sheet ID: ${{ inputs.mobile-template-sheet-id }}" - echo "Extension Template Sheet ID: ${{ inputs.extension-template-sheet-id }}" - echo "Release Sheet Google Document ID: ${{ inputs.release-sheet-google-document-id }}" - echo "GitHub Tools Version: ${{ inputs.github-tools-version }}" - echo "GitHub Action Ref: ${{ github.action_ref }}" - echo "GitHub Ref: ${{ github.ref }}" - echo "GitHub SHA: ${{ github.sha }}" - echo "-------------" - # Step 2: Checkout github-tools repository - name: Checkout github-tools repository uses: actions/checkout@v4 with: repository: MetaMask/github-tools - # ref: ${{ inputs.github-tools-version }} - ref: ${{ env.WORKFLOW_SHA }} + ref: ${{ inputs.github-tools-version }} path: github-tools # Step 3: Setup environment from github-tools From f80f44e0770dd2ca0bf7ad9150c12cd12a3c3100 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 09:31:36 +0200 Subject: [PATCH 12/21] chore: typo in conditional at create pl script --- .github/scripts/create-platform-release-pr.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/create-platform-release-pr.sh b/.github/scripts/create-platform-release-pr.sh index cbce70ce..59c65fe2 100755 --- a/.github/scripts/create-platform-release-pr.sh +++ b/.github/scripts/create-platform-release-pr.sh @@ -72,7 +72,7 @@ get_release_branch_name() { if [ "$TEST_ONLY" == "true" ]; then echo "release-testing/${new_version}" return 0 - elif + else echo "${new_version}" fi From 092bb61e801f3f7b332aef5add514f42f47eb308 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 11:30:46 +0200 Subject: [PATCH 13/21] chore: test passing branch name as argument --- .github/scripts/create-platform-release-pr.sh | 10 +++++++--- .github/workflows/create-release-pr.yml | 7 +++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/scripts/create-platform-release-pr.sh b/.github/scripts/create-platform-release-pr.sh index 59c65fe2..727891ef 100755 --- a/.github/scripts/create-platform-release-pr.sh +++ b/.github/scripts/create-platform-release-pr.sh @@ -32,7 +32,10 @@ if [[ -z $NEW_VERSION_NUMBER && $PLATFORM == "mobile" ]]; then exit 1 fi - +if [[ -z $RELEASE_BRANCH_NAMING ]]; then + echo "Error: No release branch naming specified." + exit 1 +fi # Helper Functions @@ -72,10 +75,11 @@ get_release_branch_name() { if [ "$TEST_ONLY" == "true" ]; then echo "release-testing/${new_version}" return 0 - else - echo "${new_version}" fi + # Use consistent release branch naming for all platforms + echo "$RELEASE_BRANCH_NAMING${new_version}" + # Different release branch naming for different platforms # if [[ "$platform" == "mobile" ]]; then # echo "release/${new_version}" diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index e0eb191b..75822244 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -49,6 +49,11 @@ on: type: string description: 'The version of github-tools to use. Defaults to main.' default: 'main' + release-branch-naming: + required: false + type: string + description: 'The naming convention for the release branch.' + default: 'release/' secrets: github-token: required: true @@ -98,6 +103,7 @@ jobs: echo "Semver Version: ${{ inputs.semver-version }}" echo "Previous Version Tag: ${{ inputs.previous-version-tag }}" echo "Test Only Mode: ${{ inputs.test-only }}" + echo "Release Branch Naming: ${{ inputs.release-branch-naming }}" if [[ "${{ inputs.platform }}" == "mobile" ]]; then echo "Mobile Build Version: ${{ inputs.mobile-build-version }}" fi @@ -119,6 +125,7 @@ jobs: BASE_BRANCH: ${{ inputs.base-branch }} GITHUB_REPOSITORY_URL: '${{ github.server_url }}/${{ github.repository }}' TEST_ONLY: ${{ inputs.test-only }} + RELEASE_BRANCH_NAMING: ${{ inputs.release-branch-naming }} GOOGLE_DOCUMENT_ID: ${{ inputs.release-sheet-google-document-id }} GOOGLE_APPLICATION_CREDENTIALS_BASE64: ${{ secrets.google-application-creds-base64 }} NEW_VERSION: ${{ inputs.semver-version }} From d86a531795a42b93bd35984b5be369cadbd4b89e Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 12:26:45 +0200 Subject: [PATCH 14/21] chore: comment gsheet step --- .github/scripts/create-platform-release-pr.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/scripts/create-platform-release-pr.sh b/.github/scripts/create-platform-release-pr.sh index 727891ef..f0fbc1d6 100755 --- a/.github/scripts/create-platform-release-pr.sh +++ b/.github/scripts/create-platform-release-pr.sh @@ -220,11 +220,11 @@ yarn --cwd install echo "Generating test plan csv.." yarn run gen:commits "${PLATFORM}" "${PREVIOUS_VERSION}" "${RELEASE_BRANCH_NAME}" "${PROJECT_GIT_DIR}" -if [[ "${TEST_ONLY:-false}" == 'false' ]]; then - echo "Updating release sheet.." - # Create a new Release Sheet Page for the new version with our commits.csv content - yarn run update-release-sheet "${PLATFORM}" "${NEW_VERSION}" "${GOOGLE_DOCUMENT_ID}" "./commits.csv" "${PROJECT_GIT_DIR}" "${MOBILE_TEMPLATE_SHEET_ID}" "${EXTENSION_TEMPLATE_SHEET_ID}" -fi +# if [[ "${TEST_ONLY:-false}" == 'false' ]]; then +# echo "Updating release sheet.." +# # Create a new Release Sheet Page for the new version with our commits.csv content +# yarn run update-release-sheet "${PLATFORM}" "${NEW_VERSION}" "${GOOGLE_DOCUMENT_ID}" "./commits.csv" "${PROJECT_GIT_DIR}" "${MOBILE_TEMPLATE_SHEET_ID}" "${EXTENSION_TEMPLATE_SHEET_ID}" +# fi cd ../ # Commit and Push Changelog Changes From b3aff485a505dca99dced3ce85fee7d76270ddea Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 12:52:53 +0200 Subject: [PATCH 15/21] chore: making some tests before passing draft --- .github/scripts/create-platform-release-pr.sh | 27 ++++++------- .github/scripts/generate-rc-commits.mjs | 39 +++++++++++++++++++ .github/workflows/create-release-pr.yml | 15 ++++--- 3 files changed, 60 insertions(+), 21 deletions(-) diff --git a/.github/scripts/create-platform-release-pr.sh b/.github/scripts/create-platform-release-pr.sh index f0fbc1d6..5f836453 100755 --- a/.github/scripts/create-platform-release-pr.sh +++ b/.github/scripts/create-platform-release-pr.sh @@ -32,11 +32,6 @@ if [[ -z $NEW_VERSION_NUMBER && $PLATFORM == "mobile" ]]; then exit 1 fi -if [[ -z $RELEASE_BRANCH_NAMING ]]; then - echo "Error: No release branch naming specified." - exit 1 -fi - # Helper Functions # --------------- @@ -78,9 +73,9 @@ get_release_branch_name() { fi # Use consistent release branch naming for all platforms - echo "$RELEASE_BRANCH_NAMING${new_version}" + echo "release/${new_version}" - # Different release branch naming for different platforms + # Different release branch naming for different platforms, commented in case of need it # if [[ "$platform" == "mobile" ]]; then # echo "release/${new_version}" # elif [[ "$platform" == "extension" ]]; then @@ -220,17 +215,23 @@ yarn --cwd install echo "Generating test plan csv.." yarn run gen:commits "${PLATFORM}" "${PREVIOUS_VERSION}" "${RELEASE_BRANCH_NAME}" "${PROJECT_GIT_DIR}" -# if [[ "${TEST_ONLY:-false}" == 'false' ]]; then -# echo "Updating release sheet.." -# # Create a new Release Sheet Page for the new version with our commits.csv content -# yarn run update-release-sheet "${PLATFORM}" "${NEW_VERSION}" "${GOOGLE_DOCUMENT_ID}" "./commits.csv" "${PROJECT_GIT_DIR}" "${MOBILE_TEMPLATE_SHEET_ID}" "${EXTENSION_TEMPLATE_SHEET_ID}" -# fi +if [[ "${TEST_ONLY:-false}" == 'false' ]]; then + echo "Updating release sheet.." + # Create a new Release Sheet Page for the new version with our commits.csv content + yarn run update-release-sheet "${PLATFORM}" "${NEW_VERSION}" "${GOOGLE_DOCUMENT_ID}" "./commits.csv" "${PROJECT_GIT_DIR}" "${MOBILE_TEMPLATE_SHEET_ID}" "${EXTENSION_TEMPLATE_SHEET_ID}" +fi cd ../ # Commit and Push Changelog Changes # ------------------------------- echo "Adding and committing changes.." -git add ./commits.csv +# Add commits.csv file if it exists +if [ -f "./commits.csv" ]; then + echo "commits.csv found, adding to git..." + git add ./commits.csv +else + echo "--> commits.csv not found, skipping..." +fi if ! (git commit -am "updated changelog and generated feature test plan"); diff --git a/.github/scripts/generate-rc-commits.mjs b/.github/scripts/generate-rc-commits.mjs index 0be37e28..0dd7270f 100644 --- a/.github/scripts/generate-rc-commits.mjs +++ b/.github/scripts/generate-rc-commits.mjs @@ -80,6 +80,45 @@ async function filterCommitsByTeam(platform, branchA, branchB) { try { const git = simpleGit(); + // Fetch all branches from remote to ensure we have the latest references + console.log('Fetching branches from remote...'); + await git.fetch('origin', ['--all']); + + // Check if branches exist + console.log(`Checking if branches exist: ${branchA} and ${branchB}`); + + try { + await git.revparse(['--verify', branchA]); + console.log(`✓ Branch ${branchA} exists`); + } catch (error) { + console.error(`✗ Branch ${branchA} does not exist locally`); + // Try to check if it exists remotely + try { + await git.revparse(['--verify', `origin/${branchA}`]); + console.log(`✓ Branch origin/${branchA} exists, using remote reference`); + branchA = `origin/${branchA}`; + } catch (remoteError) { + console.error(`✗ Branch ${branchA} does not exist remotely either`); + throw new Error(`Branch ${branchA} not found locally or remotely`); + } + } + + try { + await git.revparse(['--verify', branchB]); + console.log(`✓ Branch ${branchB} exists`); + } catch (error) { + console.error(`✗ Branch ${branchB} does not exist locally`); + // Try to check if it exists remotely + try { + await git.revparse(['--verify', `origin/${branchB}`]); + console.log(`✓ Branch origin/${branchB} exists, using remote reference`); + branchB = `origin/${branchB}`; + } catch (remoteError) { + console.error(`✗ Branch ${branchB} does not exist remotely either`); + throw new Error(`Branch ${branchB} not found locally or remotely`); + } + } + const logOptions = { from: branchB, to: branchA, diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 75822244..b1355ad5 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -46,14 +46,10 @@ on: type: string description: 'The platform for which the release PR is being created.' github-tools-version: + required: false type: string description: 'The version of github-tools to use. Defaults to main.' default: 'main' - release-branch-naming: - required: false - type: string - description: 'The naming convention for the release branch.' - default: 'release/' secrets: github-token: required: true @@ -71,6 +67,11 @@ jobs: pull-requests: write steps: + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + # Step 1: Checkout invoking repository (metamask-mobile | metamask-extension ) - name: Checkout invoking repository uses: actions/checkout@v4 @@ -103,7 +104,6 @@ jobs: echo "Semver Version: ${{ inputs.semver-version }}" echo "Previous Version Tag: ${{ inputs.previous-version-tag }}" echo "Test Only Mode: ${{ inputs.test-only }}" - echo "Release Branch Naming: ${{ inputs.release-branch-naming }}" if [[ "${{ inputs.platform }}" == "mobile" ]]; then echo "Mobile Build Version: ${{ inputs.mobile-build-version }}" fi @@ -116,7 +116,7 @@ jobs: echo "GitHub SHA: ${{ github.sha }}" echo "-------------" - # Step 5: Create Release PR + # # Step 5: Create Release PR - name: Create Release PR id: create-release-pr shell: bash @@ -125,7 +125,6 @@ jobs: BASE_BRANCH: ${{ inputs.base-branch }} GITHUB_REPOSITORY_URL: '${{ github.server_url }}/${{ github.repository }}' TEST_ONLY: ${{ inputs.test-only }} - RELEASE_BRANCH_NAMING: ${{ inputs.release-branch-naming }} GOOGLE_DOCUMENT_ID: ${{ inputs.release-sheet-google-document-id }} GOOGLE_APPLICATION_CREDENTIALS_BASE64: ${{ secrets.google-application-creds-base64 }} NEW_VERSION: ${{ inputs.semver-version }} From 338ca3379d6a0ffdd4f9769d9dbfae87d1b526ac Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 15:51:11 +0200 Subject: [PATCH 16/21] chore: remove dump gh action --- .github/workflows/create-release-pr.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index b1355ad5..93f3fc24 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -67,11 +67,6 @@ jobs: pull-requests: write steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - # Step 1: Checkout invoking repository (metamask-mobile | metamask-extension ) - name: Checkout invoking repository uses: actions/checkout@v4 From 0f22ac93cd49faf37c5e52538ed05ab1a5d02e9d Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 16:20:18 +0200 Subject: [PATCH 17/21] chore: test tricky thing --- .github/workflows/create-release-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 93f3fc24..b26182e7 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -49,7 +49,7 @@ on: required: false type: string description: 'The version of github-tools to use. Defaults to main.' - default: 'main' + default: ${{ github.action_ref }} secrets: github-token: required: true From 0fe2ac4fad1998fc62c71c4beb07b54555566898 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 16:44:30 +0200 Subject: [PATCH 18/21] chore: linter --- .github/workflows/create-release-pr.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index b26182e7..4f0bacfc 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -66,7 +66,6 @@ jobs: contents: write pull-requests: write steps: - # Step 1: Checkout invoking repository (metamask-mobile | metamask-extension ) - name: Checkout invoking repository uses: actions/checkout@v4 @@ -133,4 +132,3 @@ jobs: ${{ inputs.previous-version-tag }} \ ${{ inputs.semver-version }} \ ${{ inputs.mobile-build-version }} - From 7b60ec044bf4d31c29f86bac82147ece5ef5dda3 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 4 Jul 2025 16:48:37 +0200 Subject: [PATCH 19/21] chore: fix typos --- .github/scripts/generate-rc-commits.mjs | 4 ++-- .github/workflows/create-release-pr.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/scripts/generate-rc-commits.mjs b/.github/scripts/generate-rc-commits.mjs index 0dd7270f..2ef8247c 100644 --- a/.github/scripts/generate-rc-commits.mjs +++ b/.github/scripts/generate-rc-commits.mjs @@ -98,7 +98,7 @@ async function filterCommitsByTeam(platform, branchA, branchB) { console.log(`✓ Branch origin/${branchA} exists, using remote reference`); branchA = `origin/${branchA}`; } catch (remoteError) { - console.error(`✗ Branch ${branchA} does not exist remotely either`); + console.error(`✗ Branch ${branchA} does not exists remotely either`); throw new Error(`Branch ${branchA} not found locally or remotely`); } } @@ -114,7 +114,7 @@ async function filterCommitsByTeam(platform, branchA, branchB) { console.log(`✓ Branch origin/${branchB} exists, using remote reference`); branchB = `origin/${branchB}`; } catch (remoteError) { - console.error(`✗ Branch ${branchB} does not exist remotely either`); + console.error(`✗ Branch ${branchB} does not exists remotely either`); throw new Error(`Branch ${branchB} not found locally or remotely`); } } diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 4f0bacfc..2ff19aae 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -110,7 +110,7 @@ jobs: echo "GitHub SHA: ${{ github.sha }}" echo "-------------" - # # Step 5: Create Release PR + # Step 5: Create Release PR - name: Create Release PR id: create-release-pr shell: bash From e2e1b62069819076bb6432486c0f4be34633bdcc Mon Sep 17 00:00:00 2001 From: Ale Som <560018+alucardzom@users.noreply.github.com> Date: Fri, 11 Jul 2025 17:14:00 +0200 Subject: [PATCH 20/21] chore: update .github/workflows/create-release-pr.yml Adding a comment about why the github.action_ref should be added as input. Co-authored-by: Mark Stacey --- .github/workflows/create-release-pr.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 2ff19aae..c960df44 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -49,6 +49,8 @@ on: required: false type: string description: 'The version of github-tools to use. Defaults to main.' + # `action_ref` of the reusable workflow can only be captured as an input parameter default + # value due to a GitHub Actions bug. Context: https://github.com/actions/runner/issues/2473#issuecomment-1776029708 default: ${{ github.action_ref }} secrets: github-token: From bd9d9e7f48d14727636f049324903efe72bcef72 Mon Sep 17 00:00:00 2001 From: Alejandro Som <560018+alucardzom@users.noreply.github.com> Date: Mon, 14 Jul 2025 10:33:46 +0200 Subject: [PATCH 21/21] chore: restore create platform release and generate-rc-commits We will treat this in a separate PR with a different objective --- .github/scripts/create-platform-release-pr.sh | 27 +++++-------- .github/scripts/generate-rc-commits.mjs | 39 ------------------- 2 files changed, 10 insertions(+), 56 deletions(-) diff --git a/.github/scripts/create-platform-release-pr.sh b/.github/scripts/create-platform-release-pr.sh index 5f836453..e8aea17d 100755 --- a/.github/scripts/create-platform-release-pr.sh +++ b/.github/scripts/create-platform-release-pr.sh @@ -33,6 +33,8 @@ if [[ -z $NEW_VERSION_NUMBER && $PLATFORM == "mobile" ]]; then fi + + # Helper Functions # --------------- @@ -72,15 +74,12 @@ get_release_branch_name() { return 0 fi - # Use consistent release branch naming for all platforms - echo "release/${new_version}" - - # Different release branch naming for different platforms, commented in case of need it - # if [[ "$platform" == "mobile" ]]; then - # echo "release/${new_version}" - # elif [[ "$platform" == "extension" ]]; then - # echo "Version-v${new_version}" - # fi + # Different release branch naming for different platforms + if [[ "$platform" == "mobile" ]]; then + echo "release/${new_version}" + elif [[ "$platform" == "extension" ]]; then + echo "Version-v${new_version}" + fi } # Main Script @@ -225,13 +224,7 @@ cd ../ # Commit and Push Changelog Changes # ------------------------------- echo "Adding and committing changes.." -# Add commits.csv file if it exists -if [ -f "./commits.csv" ]; then - echo "commits.csv found, adding to git..." - git add ./commits.csv -else - echo "--> commits.csv not found, skipping..." -fi +git add ./commits.csv if ! (git commit -am "updated changelog and generated feature test plan"); @@ -261,4 +254,4 @@ else echo "Changelog PR Created" fi -echo "Changelog PR Ready" +echo "Changelog PR Ready" \ No newline at end of file diff --git a/.github/scripts/generate-rc-commits.mjs b/.github/scripts/generate-rc-commits.mjs index 2ef8247c..0be37e28 100644 --- a/.github/scripts/generate-rc-commits.mjs +++ b/.github/scripts/generate-rc-commits.mjs @@ -80,45 +80,6 @@ async function filterCommitsByTeam(platform, branchA, branchB) { try { const git = simpleGit(); - // Fetch all branches from remote to ensure we have the latest references - console.log('Fetching branches from remote...'); - await git.fetch('origin', ['--all']); - - // Check if branches exist - console.log(`Checking if branches exist: ${branchA} and ${branchB}`); - - try { - await git.revparse(['--verify', branchA]); - console.log(`✓ Branch ${branchA} exists`); - } catch (error) { - console.error(`✗ Branch ${branchA} does not exist locally`); - // Try to check if it exists remotely - try { - await git.revparse(['--verify', `origin/${branchA}`]); - console.log(`✓ Branch origin/${branchA} exists, using remote reference`); - branchA = `origin/${branchA}`; - } catch (remoteError) { - console.error(`✗ Branch ${branchA} does not exists remotely either`); - throw new Error(`Branch ${branchA} not found locally or remotely`); - } - } - - try { - await git.revparse(['--verify', branchB]); - console.log(`✓ Branch ${branchB} exists`); - } catch (error) { - console.error(`✗ Branch ${branchB} does not exist locally`); - // Try to check if it exists remotely - try { - await git.revparse(['--verify', `origin/${branchB}`]); - console.log(`✓ Branch origin/${branchB} exists, using remote reference`); - branchB = `origin/${branchB}`; - } catch (remoteError) { - console.error(`✗ Branch ${branchB} does not exists remotely either`); - throw new Error(`Branch ${branchB} not found locally or remotely`); - } - } - const logOptions = { from: branchB, to: branchA,