This documents @jonfortescue's process in creating this repository.
- Created a new repository on GitHub to test this whole VSTS integrated PR deal.
- Created the default .NET Core console app project in Visual Studio which runs "Hello World" and committed it to the repository.
- Since this test repository will not be doing internal builds (only PR and CI), we will not be creating a VSTS mirror of the repository.
- Added a Windows queue with a basic set up for builds (use .NET CLI, run
restore
,build
,publish
). As part of troubleshooting this, addedBuild.Repository.Clean: true
to the build to ensure binaries were cleaned from the build machine. Also addedtargetFramework: netcoreapp2.0
as a build variable and referenced it during thepublish
step to prevent build breaks. - Use matrices to run debug and release builds in simultaneous phases
- Broke out the build steps into a
build.yml
template to prepare for code reuse on step 7 - Added Linux and OSX queues. For the OSX queue, initially ran into authorization problem; issue was fixed following the steps detailed in Arcade's Azure DevOps Onboarding doc under the section Troubleshooting/Queuing builds (second bullet point).
- As part of troubleshooting step 7: added a step for installing the .NET CLI and ensured the most recent version was used (caused segfaults on Mac otherwise). Also added
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
andDOTNET_MULTILEVEL_LOOKUP: 0
as environment variables for therestore
step to prevent restoring the entire cache to the build machine. - Added
{{ if }}
directives for the publish step based on build configuration. As of right now, is not working. TODO: update with fix when working. - Added
Build.Reason
if-directives to preventRelease
builds from running on pull requests. - Added a CI integration trigger linked to the
master
branch. - Added a CI build status badge to the Readme.