Skip to content

Commit 7bcaa30

Browse files
committed
Merge remote-tracking branch 'origin/release/13.2' into merge-release-13.2
# Conflicts: # eng/Version.Details.xml # tests/Aspire.Cli.EndToEnd.Tests/DescribeCommandTests.cs # tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2ETestHelpers.cs # tests/Aspire.Deployment.EndToEnd.Tests/Helpers/DeploymentE2ETestHelpers.cs
2 parents 3adee5f + 97af3b0 commit 7bcaa30

File tree

427 files changed

+11324
-6418
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

427 files changed

+11324
-6418
lines changed

.github/workflows/build-bundle.yml

Lines changed: 0 additions & 70 deletions
This file was deleted.

.github/workflows/build-cli-native-archives.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,45 @@ jobs:
3333
- name: Checkout code
3434
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3535

36+
# Download RID-specific NuGet packages (for DCP) used by Bundle.proj
37+
- name: Download RID-specific NuGets
38+
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
39+
with:
40+
name: built-nugets-for-${{ matrix.targets.rids }}
41+
path: artifacts/packages/Release/Shipping
42+
43+
- name: Build bundle payload archive (Windows)
44+
if: ${{ matrix.targets.os == 'windows-latest' }}
45+
shell: pwsh
46+
run: >
47+
.\dotnet.cmd
48+
msbuild
49+
eng/Bundle.proj
50+
/restore
51+
/p:Configuration=${{ inputs.configuration }}
52+
/p:TargetRid=${{ matrix.targets.rids }}
53+
/p:BundleVersion=ci-bundlepayload
54+
/p:SkipNativeBuild=true
55+
/p:ContinuousIntegrationBuild=true
56+
/bl:${{ github.workspace }}/artifacts/log/${{ inputs.configuration }}/BundlePayload.binlog
57+
${{ inputs.versionOverrideArg }}
58+
59+
- name: Build bundle payload archive (Unix)
60+
if: ${{ matrix.targets.os != 'windows-latest' }}
61+
shell: bash
62+
run: >
63+
./dotnet.sh
64+
msbuild
65+
eng/Bundle.proj
66+
/restore
67+
/p:Configuration=${{ inputs.configuration }}
68+
/p:TargetRid=${{ matrix.targets.rids }}
69+
/p:BundleVersion=ci-bundlepayload
70+
/p:SkipNativeBuild=true
71+
/p:ContinuousIntegrationBuild=true
72+
/bl:${{ github.workspace }}/artifacts/log/${{ inputs.configuration }}/BundlePayload.binlog
73+
${{ inputs.versionOverrideArg }}
74+
3675
- name: Build CLI packages (Windows)
3776
if: ${{ matrix.targets.os == 'windows-latest' }}
3877
shell: pwsh
@@ -46,6 +85,7 @@ jobs:
4685
/p:ContinuousIntegrationBuild=true
4786
/p:SkipManagedBuild=true
4887
/p:TargetRids=${{ matrix.targets.rids }}
88+
/p:BundlePayloadPath=${{ github.workspace }}/artifacts/bundle/aspire-ci-bundlepayload-${{ matrix.targets.rids }}.tar.gz
4989
${{ inputs.versionOverrideArg }}
5090
5191
- name: Build CLI packages (Unix)
@@ -61,6 +101,7 @@ jobs:
61101
/p:ContinuousIntegrationBuild=true
62102
/p:SkipManagedBuild=true
63103
/p:TargetRids=${{ matrix.targets.rids }}
104+
/p:BundlePayloadPath=${{ github.workspace }}/artifacts/bundle/aspire-ci-bundlepayload-${{ matrix.targets.rids }}.tar.gz
64105
${{ inputs.versionOverrideArg }}
65106
66107
- name: Upload CLI archives

.github/workflows/polyglot-validation.yml

Lines changed: 81 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ jobs:
1919
- name: Checkout code
2020
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2121

22-
- name: Download bundle
22+
- name: Download CLI archive
2323
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
2424
with:
25-
name: aspire-bundle-linux-x64
26-
path: ${{ github.workspace }}/artifacts/bundle
25+
name: cli-native-archives-linux-x64
26+
path: ${{ github.workspace }}/artifacts/cli-archive
2727

2828
- name: Download NuGet packages
2929
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
@@ -37,11 +37,20 @@ jobs:
3737
name: built-nugets-for-linux-x64
3838
path: ${{ github.workspace }}/artifacts/nugets-rid
3939

40-
- name: Verify bundle artifact
40+
- name: Extract CLI artifact
4141
run: |
42-
echo "=== Verifying self-extracting binary ==="
43-
ls -la ${{ github.workspace }}/artifacts/bundle/aspire || { echo "ERROR: aspire binary not found"; exit 1; }
44-
chmod +x ${{ github.workspace }}/artifacts/bundle/aspire
42+
set -euo pipefail
43+
44+
echo "=== Extracting bundle-backed CLI from archive ==="
45+
archive=$(find "${{ github.workspace }}/artifacts/cli-archive" -type f -name 'aspire-cli-linux-x64*.tar.gz' | head -n 1)
46+
if [ -z "$archive" ]; then
47+
echo "ERROR: CLI archive not found in ${{ github.workspace }}/artifacts/cli-archive"
48+
find "${{ github.workspace }}/artifacts/cli-archive" -maxdepth 5 -type f || true
49+
exit 1
50+
fi
51+
52+
mkdir -p "${{ github.workspace }}/artifacts/bundle"
53+
tar -xzf "$archive" -C "${{ github.workspace }}/artifacts/bundle"
4554
4655
- name: Build Python validation image
4756
run: |
@@ -64,11 +73,11 @@ jobs:
6473
- name: Checkout code
6574
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
6675

67-
- name: Download bundle
76+
- name: Download CLI archive
6877
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
6978
with:
70-
name: aspire-bundle-linux-x64
71-
path: ${{ github.workspace }}/artifacts/bundle
79+
name: cli-native-archives-linux-x64
80+
path: ${{ github.workspace }}/artifacts/cli-archive
7281

7382
- name: Download NuGet packages
7483
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
@@ -82,11 +91,20 @@ jobs:
8291
name: built-nugets-for-linux-x64
8392
path: ${{ github.workspace }}/artifacts/nugets-rid
8493

85-
- name: Verify bundle artifact
94+
- name: Extract CLI artifact
8695
run: |
87-
echo "=== Verifying self-extracting binary ==="
88-
ls -la ${{ github.workspace }}/artifacts/bundle/aspire || { echo "ERROR: aspire binary not found"; exit 1; }
89-
chmod +x ${{ github.workspace }}/artifacts/bundle/aspire
96+
set -euo pipefail
97+
98+
echo "=== Extracting bundle-backed CLI from archive ==="
99+
archive=$(find "${{ github.workspace }}/artifacts/cli-archive" -type f -name 'aspire-cli-linux-x64*.tar.gz' | head -n 1)
100+
if [ -z "$archive" ]; then
101+
echo "ERROR: CLI archive not found in ${{ github.workspace }}/artifacts/cli-archive"
102+
find "${{ github.workspace }}/artifacts/cli-archive" -maxdepth 5 -type f || true
103+
exit 1
104+
fi
105+
106+
mkdir -p "${{ github.workspace }}/artifacts/bundle"
107+
tar -xzf "$archive" -C "${{ github.workspace }}/artifacts/bundle"
90108
91109
- name: Build Go validation image
92110
run: |
@@ -109,11 +127,11 @@ jobs:
109127
- name: Checkout code
110128
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
111129

112-
- name: Download bundle
130+
- name: Download CLI archive
113131
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
114132
with:
115-
name: aspire-bundle-linux-x64
116-
path: ${{ github.workspace }}/artifacts/bundle
133+
name: cli-native-archives-linux-x64
134+
path: ${{ github.workspace }}/artifacts/cli-archive
117135

118136
- name: Download NuGet packages
119137
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
@@ -127,11 +145,20 @@ jobs:
127145
name: built-nugets-for-linux-x64
128146
path: ${{ github.workspace }}/artifacts/nugets-rid
129147

130-
- name: Verify bundle artifact
148+
- name: Extract CLI artifact
131149
run: |
132-
echo "=== Verifying self-extracting binary ==="
133-
ls -la ${{ github.workspace }}/artifacts/bundle/aspire || { echo "ERROR: aspire binary not found"; exit 1; }
134-
chmod +x ${{ github.workspace }}/artifacts/bundle/aspire
150+
set -euo pipefail
151+
152+
echo "=== Extracting bundle-backed CLI from archive ==="
153+
archive=$(find "${{ github.workspace }}/artifacts/cli-archive" -type f -name 'aspire-cli-linux-x64*.tar.gz' | head -n 1)
154+
if [ -z "$archive" ]; then
155+
echo "ERROR: CLI archive not found in ${{ github.workspace }}/artifacts/cli-archive"
156+
find "${{ github.workspace }}/artifacts/cli-archive" -maxdepth 5 -type f || true
157+
exit 1
158+
fi
159+
160+
mkdir -p "${{ github.workspace }}/artifacts/bundle"
161+
tar -xzf "$archive" -C "${{ github.workspace }}/artifacts/bundle"
135162
136163
- name: Build Java validation image
137164
run: |
@@ -156,11 +183,11 @@ jobs:
156183
- name: Checkout code
157184
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
158185

159-
- name: Download bundle
186+
- name: Download CLI archive
160187
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
161188
with:
162-
name: aspire-bundle-linux-x64
163-
path: ${{ github.workspace }}/artifacts/bundle
189+
name: cli-native-archives-linux-x64
190+
path: ${{ github.workspace }}/artifacts/cli-archive
164191

165192
- name: Download NuGet packages
166193
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
@@ -174,11 +201,20 @@ jobs:
174201
name: built-nugets-for-linux-x64
175202
path: ${{ github.workspace }}/artifacts/nugets-rid
176203

177-
- name: Verify bundle artifact
204+
- name: Extract CLI artifact
178205
run: |
179-
echo "=== Verifying self-extracting binary ==="
180-
ls -la ${{ github.workspace }}/artifacts/bundle/aspire || { echo "ERROR: aspire binary not found"; exit 1; }
181-
chmod +x ${{ github.workspace }}/artifacts/bundle/aspire
206+
set -euo pipefail
207+
208+
echo "=== Extracting bundle-backed CLI from archive ==="
209+
archive=$(find "${{ github.workspace }}/artifacts/cli-archive" -type f -name 'aspire-cli-linux-x64*.tar.gz' | head -n 1)
210+
if [ -z "$archive" ]; then
211+
echo "ERROR: CLI archive not found in ${{ github.workspace }}/artifacts/cli-archive"
212+
find "${{ github.workspace }}/artifacts/cli-archive" -maxdepth 5 -type f || true
213+
exit 1
214+
fi
215+
216+
mkdir -p "${{ github.workspace }}/artifacts/bundle"
217+
tar -xzf "$archive" -C "${{ github.workspace }}/artifacts/bundle"
182218
183219
- name: Build Rust validation image
184220
run: |
@@ -201,11 +237,11 @@ jobs:
201237
- name: Checkout code
202238
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
203239

204-
- name: Download bundle
240+
- name: Download CLI archive
205241
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
206242
with:
207-
name: aspire-bundle-linux-x64
208-
path: ${{ github.workspace }}/artifacts/bundle
243+
name: cli-native-archives-linux-x64
244+
path: ${{ github.workspace }}/artifacts/cli-archive
209245

210246
- name: Download NuGet packages
211247
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
@@ -219,11 +255,20 @@ jobs:
219255
name: built-nugets-for-linux-x64
220256
path: ${{ github.workspace }}/artifacts/nugets-rid
221257

222-
- name: Verify bundle artifact
258+
- name: Extract CLI artifact
223259
run: |
224-
echo "=== Verifying self-extracting binary ==="
225-
ls -la ${{ github.workspace }}/artifacts/bundle/aspire || { echo "ERROR: aspire binary not found"; exit 1; }
226-
chmod +x ${{ github.workspace }}/artifacts/bundle/aspire
260+
set -euo pipefail
261+
262+
echo "=== Extracting bundle-backed CLI from archive ==="
263+
archive=$(find "${{ github.workspace }}/artifacts/cli-archive" -type f -name 'aspire-cli-linux-x64*.tar.gz' | head -n 1)
264+
if [ -z "$archive" ]; then
265+
echo "ERROR: CLI archive not found in ${{ github.workspace }}/artifacts/cli-archive"
266+
find "${{ github.workspace }}/artifacts/cli-archive" -maxdepth 5 -type f || true
267+
exit 1
268+
fi
269+
270+
mkdir -p "${{ github.workspace }}/artifacts/bundle"
271+
tar -xzf "$archive" -C "${{ github.workspace }}/artifacts/bundle"
227272
228273
- name: Build TypeScript validation image
229274
run: |
@@ -271,6 +316,6 @@ jobs:
271316
if [ "${{ needs.validate_rust.result }}" == "failure" ]; then
272317
echo "⚠️ Rust SDK validation failed (known issues - not blocking)"
273318
fi
274-
319+
275320
- name: All validations passed
276321
run: echo "✅ All required polyglot SDK validations passed!"

.github/workflows/polyglot-validation/setup-local-cli.sh

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,6 @@ cp "$BUNDLE_DIR/aspire" "$ASPIRE_HOME/bin/"
2626
chmod +x "$ASPIRE_HOME/bin/aspire"
2727
echo " ✓ Installed to $ASPIRE_HOME/bin/aspire"
2828

29-
# Verify CLI works
30-
echo "=== Verifying CLI ==="
31-
"$ASPIRE_HOME/bin/aspire" --version || {
32-
echo "ERROR: aspire --version failed"
33-
exit 1
34-
}
35-
3629
# Extract the embedded bundle so runtime/dotnet and other components are available
3730
# Commands like 'aspire init' and 'aspire add' need the bundled dotnet for NuGet operations
3831
echo "=== Extracting bundle ==="

.github/workflows/polyglot-validation/test-go.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ cd "$WORK_DIR"
2121

2222
# Initialize Go AppHost
2323
echo "Creating Go apphost project..."
24-
aspire init -l go --non-interactive -d
24+
aspire init --language go --non-interactive -d
2525

2626
# Add Redis integration
2727
echo "Adding Redis integration..."

.github/workflows/polyglot-validation/test-java.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ cd "$WORK_DIR"
2121

2222
# Initialize Java AppHost
2323
echo "Creating Java apphost project..."
24-
aspire init -l java --non-interactive -d
24+
aspire init --language java --non-interactive -d
2525

2626
# Add Redis integration
2727
echo "Adding Redis integration..."

.github/workflows/polyglot-validation/test-python.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ cd "$WORK_DIR"
2121

2222
# Initialize Python AppHost
2323
echo "Creating Python apphost project..."
24-
aspire init -l python --non-interactive -d
24+
aspire init --language python --non-interactive -d
2525

2626
# Add Redis integration
2727
echo "Adding Redis integration..."

.github/workflows/polyglot-validation/test-rust.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ cd "$WORK_DIR"
2121

2222
# Initialize Rust AppHost
2323
echo "Creating Rust apphost project..."
24-
aspire init -l rust --non-interactive -d
24+
aspire init --language rust --non-interactive -d
2525

2626
# Add Redis integration
2727
echo "Adding Redis integration..."

.github/workflows/polyglot-validation/test-typescript.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ cd "$WORK_DIR"
2121

2222
# Initialize TypeScript AppHost
2323
echo "Creating TypeScript apphost project..."
24-
aspire init -l typescript --non-interactive -d
24+
aspire init --language typescript --non-interactive -d
2525

2626
# Add Redis integration
2727
echo "Adding Redis integration..."

0 commit comments

Comments
 (0)