Experiments should be contained within a branch in the dotnet/runtimelab repository. Keeping all experiments branches in one repository helps with community visibility.
- Pick a good name for your experiment and create branch for it in dotnet/runtimelab. Branch names should be prefixed with
feature/
in order to have official build support.- If the experiment is expected to require changes of .NET runtime itself, it should be branched off of dotnet/runtimelab:runtime-master that is a automatically maintained mirror of dotnet/runtime:master.
- Otherwise, the experiment should be branched off of dotnet/runtimelab:standalone-template to get CI and all publishing infrastructure for your experiment.
- Submit a PR to update the README.MD with the name of your branch and a brief description of the experiment. Example: #19
- Create label
area-<your experiment name>
for tagging issues. The label should use color#d4c5f9
. - Edit
README.MD
in your experiment branch to include details about the experiment. Example: README.md. - If your experiment is branched from dotnet/runtime:
- Update the pre-release label to include a unique identifier representing the name of the experiment to avoid package clashes given that all experiments publish to the same feed. To do this you need to update the versioning properties in
Versions.props
- Edit
eng/pipelines/runtimelab.yml
in your branch to just build what your experiment needs on CI. - To avoid spurious github notifications for merges from upstream, delete
.github/CODEOWNERS
from your branch or replace it with setting specific to your experiment. Example: #26
- Update the pre-release label to include a unique identifier representing the name of the experiment to avoid package clashes given that all experiments publish to the same feed. To do this you need to update the versioning properties in
- If your experiment is branched from dotnet/runtimelab:standalone-template follow the README.md.