From d3bc8530ecba370b7599a69a8c17640ecd6a362e Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Wed, 27 Aug 2025 12:14:19 +0200 Subject: [PATCH 1/2] fix(ci): build matrix value dynamically based on optional dispatch input --- .github/workflows/update-dependencies.yaml | 26 +++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/update-dependencies.yaml b/.github/workflows/update-dependencies.yaml index a215ebbc07b..e21f419d914 100644 --- a/.github/workflows/update-dependencies.yaml +++ b/.github/workflows/update-dependencies.yaml @@ -22,19 +22,29 @@ permissions: contents: none # We use the github app token to push the changes jobs: + configure_matrix: + name: Configure matrix + runs-on: ubuntu-latest + outputs: + group_name: ${{ steps.groups.outputs.group_name }} + steps: + - id: groups + name: Define groups to update + run: | + echo "Configuring matrix (inputs.group_name=${{ inputs.group_name }})" + if [[ ${{ inputs.group_name == '' || inputs.group_name == 'all' }} ]]; then + # When adding new group, don't forget to update the `workflow_dispatch` + echo 'group_name=["electron","eslint","typescript","mongosh"]' >> "$GITHUB_OUTPUT" + else + echo 'group_name=["${{ inputs.group_name }}"]' >> "$GITHUB_OUTPUT" + fi update_dependencies_group: name: Update ${{ matrix.group_name }} to latest runs-on: ubuntu-latest + needs: configure_matrix strategy: matrix: - group_name: - # When adding new group, don't forget to update the - # `workflow_dispatch.inputs` - - electron - - eslint - - typescript - - mongosh - if: ${{ inputs.group_name == '' || inputs.group_name == 'all' || inputs.group_name == matrix.group_name }} + group_name: ${{ fromJSON(needs.configure_matrix.outputs.group_name) }} steps: - name: Create Github App Token uses: mongodb-js/devtools-shared/actions/setup-bot-token@main From b0e8893519d2a37cfe6c8b8c36489d651387b481 Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Wed, 27 Aug 2025 12:34:12 +0200 Subject: [PATCH 2/2] fix: check against env in if --- .github/workflows/update-dependencies.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update-dependencies.yaml b/.github/workflows/update-dependencies.yaml index e21f419d914..75b41a0f452 100644 --- a/.github/workflows/update-dependencies.yaml +++ b/.github/workflows/update-dependencies.yaml @@ -26,13 +26,15 @@ jobs: name: Configure matrix runs-on: ubuntu-latest outputs: - group_name: ${{ steps.groups.outputs.group_name }} + group_name: ${{ steps.define_groups.outputs.group_name }} steps: - - id: groups + - id: define_groups name: Define groups to update + env: + SHOULD_INCLUDE_ALL_GROUPS: ${{ inputs.group_name == '' || inputs.group_name == 'all' }} run: | echo "Configuring matrix (inputs.group_name=${{ inputs.group_name }})" - if [[ ${{ inputs.group_name == '' || inputs.group_name == 'all' }} ]]; then + if [[ "$SHOULD_INCLUDE_ALL_GROUPS" = "true" ]]; then # When adding new group, don't forget to update the `workflow_dispatch` echo 'group_name=["electron","eslint","typescript","mongosh"]' >> "$GITHUB_OUTPUT" else