diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ee3416b5943..3bb20ddcfd8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,6 +24,7 @@ jobs:
outputs:
skip_workflow: ${{ (steps.check_for_changes.outputs.no_changes == 'true' || steps.check_for_changes.outputs.only_changed == 'true') && 'true' || 'false' }}
VERSION_SUFFIX_OVERRIDE: ${{ steps.compute_version_suffix.outputs.VERSION_SUFFIX_OVERRIDE }}
+ EXTENSION_VERSION_OVERRIDE: ${{ steps.compute_version_suffix.outputs.EXTENSION_VERSION_OVERRIDE }}
steps:
- name: Checkout code
@@ -58,6 +59,10 @@ jobs:
Write-Host "Computed VERSION_SUFFIX_OVERRIDE=$VERSION_SUFFIX"
"VERSION_SUFFIX_OVERRIDE=$VERSION_SUFFIX" | Out-File -FilePath $Env:GITHUB_OUTPUT -Append -Encoding utf8
+ $EXTENSION_VERSION = "99.0.$($Env:PR_NUMBER)"
+ Write-Host "Computed EXTENSION_VERSION_OVERRIDE=$EXTENSION_VERSION"
+ "EXTENSION_VERSION_OVERRIDE=$EXTENSION_VERSION" | Out-File -FilePath $Env:GITHUB_OUTPUT -Append -Encoding utf8
+
tests:
uses: ./.github/workflows/tests.yml
name: Tests
@@ -65,6 +70,7 @@ jobs:
if: ${{ github.repository_owner == 'microsoft' && needs.prepare_for_ci.outputs.skip_workflow != 'true' }}
with:
versionOverrideArg: ${{ needs.prepare_for_ci.outputs.VERSION_SUFFIX_OVERRIDE }}
+ extensionVersionOverride: ${{ needs.prepare_for_ci.outputs.EXTENSION_VERSION_OVERRIDE }}
# This job is used for branch protection. It fails if any of the dependent jobs failed
results:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 406a599bdcc..18132a46e8f 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -7,6 +7,9 @@ on:
versionOverrideArg:
required: false
type: string
+ extensionVersionOverride:
+ required: false
+ type: string
jobs:
setup_for_tests:
@@ -294,6 +297,11 @@ jobs:
run: npm install
- name: Run tests
run: npm test
+ - name: Override extension version for PR builds
+ if: ${{ inputs.extensionVersionOverride != '' }}
+ env:
+ EXTENSION_VERSION: ${{ inputs.extensionVersionOverride }}
+ run: npm version "$EXTENSION_VERSION" --no-git-tag-version
- name: Package VSIX
run: npm exec @vscode/vsce -- package --pre-release -o out/aspire-extension.vsix
- name: Upload VSIX
diff --git a/extension/Extension.proj b/extension/Extension.proj
index 2aa1b95558d..a9ab10d136d 100644
--- a/extension/Extension.proj
+++ b/extension/Extension.proj
@@ -11,20 +11,30 @@
-
+
+ <_EffectiveVersion Condition="'$(ExtensionVersionOverride)' != ''">$(ExtensionVersionOverride)
+ <_EffectiveVersion Condition="'$(ExtensionVersionOverride)' == ''">$(_ExtractedVersion)
<_VscodeOutputDir>$(ArtifactsPackagesDir)vscode
- <_VsixPath>$(_VscodeOutputDir)\aspire-vscode-$(_ExtractedVersion).vsix
- <_ManifestPath>$(_VscodeOutputDir)\aspire-vscode-$(_ExtractedVersion).manifest
+ <_VsixPath>$(_VscodeOutputDir)\aspire-vscode-$(_EffectiveVersion).vsix
+ <_ManifestPath>$(_VscodeOutputDir)\aspire-vscode-$(_EffectiveVersion).manifest
+
+
+
+
@@ -37,7 +47,7 @@
IgnoreStandardErrorWarningFormat="true"
WorkingDirectory="$(ExtensionSrcDir)" />
-
+
+