Skip to content

Commit 18ead0f

Browse files
authored
Add document with instructions on how to test prerelease workload sets (#490)
* Add document with instructions on how to test prerelease workload sets * Update based on PR review feedback * Update based on current state of pipeline * Fix example branch name format in documentation Updated the example branch name format in the documentation.
1 parent 81cce3b commit 18ead0f

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

doc/test-workload-updates.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Test Workload Updates Process
2+
3+
This document provides instructions for the MAUI, Android, and iOS teams on how to create test workload sets for validation and testing purposes.
4+
5+
## Overview
6+
7+
Test workload sets allow teams to validate workload updates before they are included in official releases. This process supports two main scenarios:
8+
1. Creating test workload sets for general validation
9+
2. Creating test workload sets with Visual Studio insertion for integration testing
10+
11+
## Prerequisites
12+
13+
- Access to the workload-versions repository
14+
- Permissions to create branches and pull requests
15+
- Access to Azure DevOps internal builds
16+
17+
## Process Steps
18+
19+
### 1. Create a Test Branch
20+
21+
1. **Branch from a release branch**: Start by creating a test branch from one of the existing release branches
22+
```
23+
Example branch name: release/9.0.3xx-mauitest
24+
```
25+
26+
**Branch naming convention:**
27+
- `release/{version}/mauitest{mauiversion}` - for MAUI team tests
28+
- `release/{version}/androidtest{androidversion}` - for Android team tests
29+
- `release/{version}/iostest{iosversion}` - for iOS team tests
30+
31+
2. **Make your changes**: Update the necessary workload configurations in your test branch
32+
33+
### 2. Create and Merge Pull Request
34+
35+
1. **Publish your test build to a Darc channel**: After making changes, publish the build artifacts to a dedicated Darc channel for test workloads.
36+
2. **Use `darc update-dependencies`**: Run `darc update-dependencies` to update your test branch with the new build information from the Darc channel. This ensures your branch references the correct test workload versions.
37+
3. **Get approval** from the appropriate reviewers
38+
4. **Merge the PR** once approved
39+
40+
> **Note**: Once the test pipeline is established, PRs will not be required and teams can push directly to the internal Azure DevOps repository.
41+
42+
### 3. Queue Internal Build
43+
44+
After merging your PR, queue an internal build using the Azure DevOps pipeline.
45+
https://dev.azure.com/dnceng/internal/_build?definitionId=1298
46+
47+
## Build Configuration Options
48+
49+
When queuing the pipeline, you have several configuration options depending on your testing needs:
50+
51+
### For Test Workload Sets Only
52+
53+
If you only need to create a test workload set:
54+
55+
1.**Select pipeline version by branch/tag** set to **eng**
56+
2.**🚩 Source branch 🚩** set to your branch
57+
3.**Select "Publish to AzDO"** when queuing the pipeline
58+
4.**AzDO publish feed** is the feed it'll publish the workload set to. Default should be _dotnet-workloads_.
59+
5.**⭐ Create a test workload set** enabled
60+
- This will generate the test workload set for validation that is of the form
61+
- The workload set will be published to Azure DevOps for testing
62+
63+
### For Visual Studio Insertion Testing
64+
65+
If you need to test a Visual Studio insertion:
66+
67+
1.**Update the workload drop names** for the workloads you want to update in VS
68+
2.**Update the primary VS insertion branch** configuration
69+
3.**Check the box for "Create VS insertion"**
70+
71+
This configuration will:
72+
- Create the test workload set
73+
- Prepare the workloads for VS insertion
74+
- Initiate the insertion process into the specified VS branch
75+
76+
## Important Notes
77+
78+
- **Branch Management**: Keep test branches organized and clean up after testing is complete
79+
- **Communication**: Coordinate with other teams if multiple test branches are being used simultaneously
80+
81+
## Troubleshooting
82+
83+
If you encounter issues during the process:
84+
85+
1. **Build Failures**: Check the build logs in Azure DevOps for specific error messages
86+
2. **Permission Issues**: Ensure you have the necessary access rights for the repositories and pipelines
87+
4. **Workload Set Versioning**: The workload set created will match the SDK band specified in the `Versions.props` file.
88+
89+
## Support
90+
91+
For additional support or questions about this process, please reach out to the .NET SDK team on our Teams chat.

0 commit comments

Comments
 (0)