This proposal describes our plan to publish daily builds for consumption. The goals of this are:
- Make it easy for developers (1P and 3P) to consume our daily builds.
- Exercise our release process frequently, so issues don't arise at critical times.
- Meet Developers where they are.
Use the ASP.Net Team as inspiration, and draft off the work they do.
Move to Python suggested versioning for dailies defined in PEP440.
The tags we use for preview versions are:
.<yyyymmdd>.dev{incrementing value}
-rc{incrementing value}
All our Python wheel packages would be pushed to the SDK_Public project at fuselabs.visualstudio.com.
Note: Only a public project on Devops can have a public feed. The public project on our Enterprise Tenant is [SDK_Public](https://fuselabs.visualstudio.com/SDK_Public).
This means developers could add this feed their projects by adding the following command on a pip conf file, or in the pip command itself:
extra-index-url=https://pkgs.dev.azure.com/ConversationalAI/BotFramework/_packaging/SDK%40Local/pypi/simple/To debug daily builds in VSCode:
- In the launch.json configuration file set the option
"justMyCode": false.
Daily builds older than 90 days are automatically deleted.
Once per week, preferably on a Monday, a daily build is pushed to PyPI test. This build happens from master, the same as a standard daily build. This serves 2 purposes:
- Keeps PyPI "Fresh" for people that don't want daily builds.
- Keeps the release pipelines active and working, and prevents issues.
These builds will have the "-dev" tag and ARE the the daily build.
This release pipeline should be the EXACT same pipeline that releases our production bits.
Weekly builds older than 1 year should be automatically delisted.
Our existing Release pipelines would add packages to the feed.
- Initially, our daily builds should go to both MyGet and Azure Devops.
- Our docs are updated once builds are in both locations.
- Towards the end of 2020, we stop publising to MyGet.
ASP.Net and .Net Core 5 also publish a container to Docker Hub as part of their daily feed. We should consider that, along with our samples, in the next iteration of this work.