diff --git a/.github/workflows/batch_release_pr.yml b/.github/workflows/batch_release_pr.yml index 50830afc7cbf..ccf3d6e1e0c5 100644 --- a/.github/workflows/batch_release_pr.yml +++ b/.github/workflows/batch_release_pr.yml @@ -10,6 +10,8 @@ jobs: env: BRANCH_NAME: ${{ github.event.client_payload.package }}-${{ github.run_id }}-${{ github.run_attempt }} steps: + - name: "Install Flutter" + uses: ./.github/workflows/internals/install_flutter - name: checkout repository uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Set up tools diff --git a/.github/workflows/internals/install_flutter/action.yml b/.github/workflows/internals/install_flutter/action.yml new file mode 100644 index 000000000000..cdf945463783 --- /dev/null +++ b/.github/workflows/internals/install_flutter/action.yml @@ -0,0 +1,20 @@ +name: "Install Flutter" +description: "Installs a pinned version of Flutter" +runs: + using: "composite" + steps: + - name: "Install Flutter" + # This uses a pinned version of Flutter rather than `stable` so that it is + # not subject to out-of-band failures when new releases happen. It does + # not use the auto-rolled pin because there's no way for the autoroller + # to test the actual release flow, so changes would still show up in + # post-submit. A manually-rolled pin means that any changes here must be + # made deliberately, so that the person updating it knows to watch the + # next actual auto-release to ensure that it works, and knows to revert + # the change if it doesn't. + shell: bash + run: | + cd $HOME + git clone https://github.com/flutter/flutter.git --depth 1 -b 3.38.5 _flutter + echo "$HOME/_flutter/bin" >> $GITHUB_PATH + cd $GITHUB_WORKSPACE