Skip to content

Latest commit

 

History

History
20 lines (17 loc) · 3.4 KB

CreateAnExperiment.md

File metadata and controls

20 lines (17 loc) · 3.4 KB

Create an experiment

Experiments should be contained within a branch in the dotnet/runtimelab repository. Keeping all experiments branches in one repository helps with community visibility.

Steps to setup a new experiment

  • 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.
  • 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. Make sure the label you choose is maximum 7 chars long as NuGet has a limit on the version length so the official build would fail.
    • Update the GitHubRepositoryName property in Directory.Build.Props to runtimelab. This is needed for the produced packages to have the right repository information and for source link to work correctly.
    • 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
    • Make sure to edit your experiment branch to just build the packages that need to be built from that branch. Example PR. To read more about why this can cause issues, read this issue.
  • If your experiment is branched from dotnet/runtimelab:standalone-template follow the README.md.
  • To make sure we follow our naming conventions, make sure all packages produced on your experiment are prefixed with Microsoft.* or System.*.