8000 Merge pull request #1293 from microsoft/axsuarez/daily-spec · snifhex/botbuilder-python@c17f030 · GitHub
[go: up one dir, main page]

Skip to content

Commit c17f030

Browse files
authored
Merge pull request microsoft#1293 from microsoft/axsuarez/daily-spec
Create DailyBuildProposal.md
2 parents 66438c6 + 8f915be commit c17f030

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

specs/DailyBuildProposal.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Daily Build Propsal for .Net BotBuilder SDK
2+
3+
This proposal describes our plan to publish daily builds for consumption. The goals of this are:
4+
1. Make it easy for developers (1P and 3P) to consume our daily builds.
5+
2. Exercise our release process frequently, so issues don't arise at critical times.
6+
3. Meet Developers where they are.
7+
8+
Use the [ASP.Net Team](https://github.com/dotnet/aspnetcore/blob/master/docs/DailyBuilds.md) as inspiration, and draft off the work they do.
9+
10+
# Versioning
11+
Move to Python suggested versioning for dailies defined in [PEP440](https://www.python.org/dev/peps/pep-0440/#developmental-releases).
12+
13+
The tags we use for preview versions are:
14+
```
15+
.<yyyymmdd>.dev{incrementing value}
16+
-rc{incrementing value}
17+
```
18+
19+
# Daily Builds
20+
All our Python wheel packages would be pushed to the SDK_Public project at [fuselabs.visualstudio.com](https://fuselabs.visualstudio.com).
21+
22+
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).
23+
24+
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:
25+
26+
```bash
27+
extra-index-url=https://pkgs.dev.azure.com/ConversationalAI/BotFramework/_packaging/SDK%40Local/pypi/simple/
28+
```
29+
30+
## Debugging
31+
To debug daily builds in VSCode:
32+
* In the launch.json configuration file set the option `"justMyCode": false`.
33+
34+
## Daily Build Lifecyle
35+
Daily builds older than 90 days are automatically deleted.
36+
37+
# Summary - Weekly Builds
38+
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:
39+
40+
1. Keeps PyPI "Fresh" for people that don't want daily builds.
41+
2. Keeps the release pipelines active and working, and prevents issues.
42+
43+
These builds will have the "-dev" tag and ARE the the daily build.
44+
45+
**This release pipeline should be the EXACT same pipeline that releases our production bits.**
46+
47+
Weekly builds older than 1 year should be automatically delisted.
48+
49+
## Adding packages to the feed
50+
Our existing Release pipelines would add packages to the feed.
51+
# Migration from MyGet
52+
53+
1. Initially, our daily builds should go to both MyGet and Azure Devops.
54+
2. Our docs are updated once builds are in both locations.
55+
3. Towards the end of 2020, we stop publising to MyGet.
56+
57+
# Containers
58+
ASP.Net and .Net Core 5 also publish a container to [Docker Hub](https://hub.docker.com/_/microsoft-dotnet-nightly-aspnet/) as part of their daily feed. We should consider that, along with our samples, in the next iteration of this work.

0 commit comments

Comments
 (0)
0