From e37e2efd5326a763f1105810a9ceef14bd403396 Mon Sep 17 00:00:00 2001 From: peternhale Date: Wed, 29 Jul 2026 05:55:54 -0600 Subject: [PATCH 1/2] fix: resolve 'changed'/'all' extensions in downstream publish jobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The determine-changes job resolves the `extensions` input (e.g. 'changed' or 'all') into concrete extension directory names and exposes them via `selected-extensions`. Several downstream jobs instead consumed the raw `inputs.extensions` value, so when a caller passed `extensions: changed` they looped over the literal string "changed" as if it were a directory: - create-github-releases: looked for packages/changed/package.json, did not find it, skipped, yet still printed "Releases created" — so nightly runs stopped producing GitHub releases while tags kept being created. - slack-notify / slack-notify-failure: reported blank extension names and versions. - determine-publish-matrix: read the raw input (currently inert for nightly since IS_NIGHTLY short-circuits to an empty matrix, fixed for consistency / future non-nightly use). Wire determine-changes into each job's `needs` and consume `needs.determine-changes.outputs.selected-extensions`. Also gate create-github-releases on the resolved output rather than the raw input. --- .../workflows/vscode-publish-extensions.yml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/vscode-publish-extensions.yml b/.github/workflows/vscode-publish-extensions.yml index 668731e..7b53ce4 100644 --- a/.github/workflows/vscode-publish-extensions.yml +++ b/.github/workflows/vscode-publish-extensions.yml @@ -549,7 +549,7 @@ jobs: extensions-root: ${{ inputs.extensions-root || 'packages' }} determine-publish-matrix: - needs: [calculate-artifact-name] + needs: [determine-changes, calculate-artifact-name] runs-on: ubuntu-latest outputs: matrix: ${{ steps.matrix.outputs.matrix }} @@ -569,7 +569,7 @@ jobs: id: matrix env: REGISTRIES: ${{ inputs.registries }} - SELECTED_EXTENSIONS: ${{ inputs.extensions }} + SELECTED_EXTENSIONS: ${{ needs.determine-changes.outputs.selected-extensions }} IS_NIGHTLY: 'true' EXTENSIONS_ROOT: ${{ inputs.extensions-root || 'packages' }} run: | @@ -785,9 +785,9 @@ jobs: create-github-releases: name: Create GitHub Releases - needs: [package, calculate-artifact-name] + needs: [determine-changes, package, calculate-artifact-name] runs-on: ubuntu-latest - if: needs.package.result == 'success' && inputs.extensions != '' && github.event_name != 'pull_request' + if: needs.package.result == 'success' && needs.determine-changes.outputs.selected-extensions != '' && github.event_name != 'pull_request' steps: - name: Checkout uses: actions/checkout@v6 @@ -813,7 +813,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.IDEE_GH_TOKEN }} GITHUB_REPOSITORY: ${{ github.repository }} - SELECTED_EXTENSIONS: ${{ inputs.extensions }} + SELECTED_EXTENSIONS: ${{ needs.determine-changes.outputs.selected-extensions }} IS_NIGHTLY: 'true' PRE_RELEASE: 'true' VERSION_BUMP: ${{ inputs.version-bump }} @@ -972,7 +972,7 @@ jobs: slack-notify: name: Slack Notification needs: - [bump-versions, package, publish, publish-skipped-notice] + [determine-changes, bump-versions, package, publish, publish-skipped-notice] runs-on: ubuntu-latest if: always() && (needs.publish.result == 'success' || needs.publish.result == 'skipped') steps: @@ -987,7 +987,7 @@ jobs: EXTENSIONS_ROOT: ${{ inputs.extensions-root || 'packages' }} run: | # Get selected extensions and their details - SELECTED_EXTENSIONS="${{ inputs.extensions }}" + SELECTED_EXTENSIONS="${{ needs.determine-changes.outputs.selected-extensions }}" VERSION_BUMP="${{ inputs.version-bump }}" PRE_RELEASE="true" @@ -1003,7 +1003,7 @@ jobs: PACKAGE_NAME=$(node -p "require('./$EXTENSIONS_ROOT/$ext/package.json').name") PACKAGE_VERSION=$(node -p "require('./$EXTENSIONS_ROOT/$ext/package.json').version") DISPLAY_NAME=$(node -p "require('./$EXTENSIONS_ROOT/$ext/package.json').displayName || require('./$EXTENSIONS_ROOT/$ext/package.json').name") - + # Add to arrays if [ -z "$EXTENSION_NAMES" ]; then EXTENSION_NAMES="$PACKAGE_NAME" @@ -1098,7 +1098,7 @@ jobs: slack-notify-failure: name: Slack Failure Notification needs: - [bump-versions, package, publish, publish-skipped-notice] + [determine-changes, bump-versions, package, publish, publish-skipped-notice] runs-on: ubuntu-latest if: always() && (needs.publish.result == 'failure' || needs.bump-versions.result == 'failure' || needs.package.result == 'failure') steps: @@ -1113,7 +1113,7 @@ jobs: EXTENSIONS_ROOT: ${{ inputs.extensions-root || 'packages' }} run: | # Get selected extensions and their details - SELECTED_EXTENSIONS="${{ inputs.extensions }}" + SELECTED_EXTENSIONS="${{ needs.determine-changes.outputs.selected-extensions }}" VERSION_BUMP="${{ inputs.version-bump }}" PRE_RELEASE="true" @@ -1129,7 +1129,7 @@ jobs: PACKAGE_NAME=$(node -p "require('./$EXTENSIONS_ROOT/$ext/package.json').name") PACKAGE_VERSION=$(node -p "require('./$EXTENSIONS_ROOT/$ext/package.json').version") DISPLAY_NAME=$(node -p "require('./$EXTENSIONS_ROOT/$ext/package.json').displayName || require('./$EXTENSIONS_ROOT/$ext/package.json').name") - + # Add to arrays if [ -z "$EXTENSION_NAMES" ]; then EXTENSION_NAMES="$PACKAGE_NAME" From 3c316d65fcbef569a3a3fdc8534bdeb5b2d9a145 Mon Sep 17 00:00:00 2001 From: peternhale Date: Wed, 29 Jul 2026 08:12:08 -0600 Subject: [PATCH 2/2] fix: resolve selected-extensions in publish-skipped-notice Addresses review feedback on PR #165: publish-skipped-notice logged the raw inputs.extensions (e.g. the literal 'changed') instead of the resolved directory names. Wire determine-changes into needs and consume needs.determine-changes.outputs.selected-extensions for consistency with the other downstream jobs. --- .github/workflows/vscode-publish-extensions.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/vscode-publish-extensions.yml b/.github/workflows/vscode-publish-extensions.yml index 7b53ce4..3faf70c 100644 --- a/.github/workflows/vscode-publish-extensions.yml +++ b/.github/workflows/vscode-publish-extensions.yml @@ -636,6 +636,7 @@ jobs: name: Publish Skipped Notice needs: [ + determine-changes, bump-versions, package, calculate-artifact-name, @@ -648,7 +649,7 @@ jobs: run: | echo "ℹ️ Marketplace publishing skipped for this build type" echo " Reason: Nightly builds only create GitHub releases, not marketplace publishes" - echo " Extensions would be published: ${{ inputs.extensions }}" + echo " Extensions would be published: ${{ needs.determine-changes.outputs.selected-extensions }}" echo " Registries configured: ${{ inputs.registries }}" publish: