Azure / Azure/azure-functions-core-tools
Improvements to Core Tools builds for testing
- Dominant language
- C#
- Stars
- 1.5k
- Forks
- 498
- Avg merge
- 5d 4h
- Merged PRs (30d)
- 15
Description
Improvements to Core Tools builds for testing:
1) Currently, we are publishing to storage (https://github.com/Azure/azure-functions-core-tools/blob/v4.x/build/BuildSteps.cs#L598) any Core Tools build when the pipeline succeeds. However, we should only do this when the Core Tools build is produced in a release pipeline.
2) Consider creating a manifest file that includes the version of the nuget packages that were used to build the Core Tools. We do this for the Core Tools build for integration testing. For more info, please see https://github.com/Azure/azure-functions-core-tools/blob/v4.x/build/BuildSteps.cs#L46 and https://github.com/Azure/azure-functions-core-tools/blob/v4.x/build/BuildSteps.cs#L685. The manifest file gets publish with the Core Tools artifacts and looks like this:
```
{
"Build": "PreRelease220420-1552",
"Packages": {
"Microsoft.Azure.WebJobs.Script": "4.4.0-18106",
"Microsoft.Azure.WebJobs.Script.Grpc": "4.4.0-18106",
"Microsoft.Azure.WebJobs.Script.WebHost": "4.4.0-18106",
"Microsoft.Azure.Functions.NodeJsWorker": "3.4.0-alpha.20220420.1",
"Microsoft.Azure.Functions.JavaWorker": "2.2.3-20220420.1",
"Microsoft.Azure.Functions.PowerShellWorker.PS7.2": "4.0.1905",
"Microsoft.Azure.Functions.PowerShellWorker.PS7.0": "4.0.1904",
"Microsoft.Azure.Functions.PythonWorker": "4.0.0-20220420.4"
},
"CoreToolsVersion": "4.0.4515",
"CommitId": "N/A"
}
```
Contributor guide
Research direction
Start in build/BuildSteps.cs at the referenced lines 46, 598, and 685. Compare the integration-testing manifest generation with the Core Tools artifact flow, and inspect how release pipelines are identified. Done means successful non-release builds are not published to storage and release artifacts include a manifest containing the package and build metadata shown in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- build-system, devops, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100