Skip to content

Use upload-artifact v7 to publish VSIX directly (non-zipped)#5489

Merged
JustinGrote merged 2 commits intomainfrom
copilot/use-upload-architect-v7-to-publish-vsix
May 6, 2026
Merged

Use upload-artifact v7 to publish VSIX directly (non-zipped)#5489
JustinGrote merged 2 commits intomainfrom
copilot/use-upload-architect-v7-to-publish-vsix

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 6, 2026

GitHub Actions now supports uploading single files as artifacts without ZIP wrapping. This makes .vsix files directly downloadable and installable from the Actions run page — no unzipping required.

Changes

  • upload-artifact@v4@v7 on both upload steps
  • archive: false on the VSIX upload — file is stored as-is, filename becomes the artifact name
  • Rename step added before upload to append the OS name (e.g., powershell-2024.5.0-ubuntu-latest.vsix), since archive: false derives artifact name from filename and all three matrix jobs would otherwise conflict
  • if-no-files-found: ignore added so the upload step is a no-op on build failures
  • name: parameter removed from VSIX upload (ignored when archive: false)
- name: Rename VSIX to include OS name
  if: always()
  shell: pwsh
  # archive: false uses the filename as the artifact name, so we need unique names across matrix jobs
  run: Get-Item out/*.vsix -ErrorAction SilentlyContinue | Rename-Item -NewName { $_.BaseName + '-${{ matrix.os }}' + $_.Extension }
  working-directory: vscode-powershell

- name: Upload build artifacts
  uses: actions/upload-artifact@v7
  if: always()
  with:
    # archive: false uploads the .vsix directly (no zip wrapper) using the filename as the artifact name
    path: "vscode-powershell/out/*.vsix"
    archive: false
    if-no-files-found: ignore

Copilot AI linked an issue May 6, 2026 that may be closed by this pull request
2 tasks
Copilot AI changed the title [WIP] Use upload-architect v7 to publish VSIX directly Use upload-artifact v7 to publish VSIX directly (non-zipped) May 6, 2026
Copilot AI requested a review from JustinGrote May 6, 2026 01:53
@JustinGrote JustinGrote marked this pull request as ready for review May 6, 2026 18:21
@JustinGrote JustinGrote requested a review from a team as a code owner May 6, 2026 18:21
Copilot AI review requested due to automatic review settings May 6, 2026 18:21
Copy link
Copy Markdown
Collaborator

@JustinGrote JustinGrote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works as expected, artifacts are now vsix directly

Image

@JustinGrote JustinGrote enabled auto-merge (squash) May 6, 2026 18:22
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates the CI workflow to publish VSIX artifacts as directly downloadable files (instead of ZIP-wrapped artifacts) and avoid artifact-name collisions across matrix OS jobs.

Changes:

  • Switches artifact uploads from actions/upload-artifact@v4 to @v7.
  • Adds a PowerShell step to rename the VSIX to include the matrix OS for uniqueness.
  • Updates the VSIX upload step to upload the file “as-is” and ignore missing files.
Comments suppressed due to low confidence (1)

.github/workflows/ci-test.yml:1

  • As of actions/upload-artifact versions available up to my knowledge cutoff (Aug 2025), @v7 is not a published major version, and archive is not a recognized input for the action. If either is incorrect, the workflow will fail at runtime (“unable to resolve action version” / “unexpected input(s)”). Please verify the currently published major version and supported inputs for upload-artifact, and adjust the workflow to use a valid version and inputs.
name: CI Tests

if: always()
shell: pwsh
# archive: false uses the filename as the artifact name, so we need unique names across matrix jobs
run: Get-Item out/*.vsix -ErrorAction SilentlyContinue | Rename-Item -NewName { $_.BaseName + '-${{ matrix.os }}' + $_.Extension }
Copy link
Copy Markdown
Member

@andyleejordan andyleejordan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM thanks Justin and Copilot

@JustinGrote JustinGrote merged commit 794a5f4 into main May 6, 2026
12 checks passed
@JustinGrote JustinGrote deleted the copilot/use-upload-architect-v7-to-publish-vsix branch May 6, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use upload-architect v7 to publish VSIX directly

4 participants