You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/maintainers/creating-a-new-repo.md
+9-8Lines changed: 9 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -19,9 +19,11 @@ If in doubt please ask one of the senior team members.
19
19
## Adjust the repository settings (part 1)
20
20
21
21
1. Go to the repository **Settings** and move into **Options**.
22
-
1. In the**_Features** section disable Wikis, Issues and Projects.
23
-
1. On the **Merge Button** section disable Allow merge commits. We prefer to have tidy merges on PRs without having to bother contributors to squash commits.
24
-
1. Move into **Branches** and set `develop` as the default branch.
22
+
1. In the**Features** section disable Wikis, Issues and Projects.
23
+
1. On the **Pull Requests** section disable Allow merge commits. We prefer to have tidy merges on PRs without having to bother contributors to squash commits.
24
+
1. Also there, disable merge commits. We prefer a straight history line.
25
+
1. Another tweak there: at allow squash merging, set the default message to `Pull request title`.
26
+
1. Move into **Branches** and set `main` as the default branch.
25
27
26
28
## Setup Sonarcloud project
27
29
@@ -48,7 +50,6 @@ For class libraries projects a Sonarcloud project has to be setup in order to ru
48
50
1. Add another variable `NbgvParameters`, leave it empty and check "Let users override this value when running this pipeline".
49
51
1. Add another variable `StartReleaseCandidate`, set the content to `false` and check "Let users override this value when running this pipeline".
50
52
1. Add another variable `UPDATE_DEPENDENTS`, set the content to `false` and check "Let users override this value when running this pipeline".
51
-
1. Add another secret variable `SignClientSecret` and fill in with the secret for the .NET Foundation signing service. **Make sure** that the variable is set to `secret` by clicking on the appropriate option.
52
53
1. Click the "Save" button on the Variables pop-up (it will take you back to the pipeline yaml).
53
54
1. Cline the "Save" button at the top right and go through the commit message.
54
55
1. Navigate back to the Pipeline, select it and click "Edit" (at the top right). Then click on the 3 vertical dots (again at the top right) and then "Triggers".
@@ -57,13 +58,14 @@ For class libraries projects a Sonarcloud project has to be setup in order to ru
57
58
1. Click "Save" in the toolbar (NOT "Save & Queue").
58
59
1. Go to the `General Project` project and navigate to Project Settings - Service Connections.
59
60
1. Open each of the service connections there, click on the 3 vertical dots (again at the top right) and then "Security". Scroll down to "Project permissions", click on the + icon at the right hand side and select the newlly created project. This will add a permission to use this shared service connection.
61
+
1. Navigate to the `Library` section (under `Pipelines`) and click on the plus sign to add a new `Variable group` named `sign-client-credentials`.
62
+
1. Add the following variables, all set to secret, with the values comming from the .NET Foundation signing service. Variables are `SignClientId`, `SignClientSecret`, `SignKeyVaultCertificate`, `SignKeyVaultUrl` and `SignTenantId`. **Make sure** that all the variables are set to `secret` by clicking on the appropriate option.
60
63
1. Go back to the pipelines view and with the current pipeline selected, click on the ellipsis icon and then on "Status badge". Copy the markdown code that shows on the pop-up. This will be required to add the correct build badges in the repo readme in a moment.
61
64
62
65
## Prepare the initial commit
63
66
64
67
1. Fork the repo into your preferred GutHub account and clone it locally.
65
68
1. The best option is to copy/paste from an existing repo, so you're more efficient doing just that. Mind the name changes tough! Grab the following files:
66
-
- .github_changelog_generator
67
69
- .gitignore **(no changes required)**
68
70
- azure-pipelines.yml
69
71
- LICENSE.md **(no changes required)**
@@ -72,14 +74,12 @@ For class libraries projects a Sonarcloud project has to be setup in order to ru
72
74
- NuGet.Config
73
75
- assets\readme.txt
74
76
- assets\nf-logo.png
75
-
- config\filelist.txt
76
77
1. Open "azure-pipelines.yml"
77
78
1. Rename the `nugetPackageName` variable with the new name (mind the nanoframework prefix).
78
79
1. Rename the `repoName` variable with the repo name.
79
80
1. Rename the `sourceFileName` parameter with the equivalent name. It's probably wise to wait for the first successful build of the class library and then get back here with the correct name for the assembly declaration source file.
80
81
1. Rename the `sonarCloudProject` variable with the project key from the Sonarcloud project.
81
82
1. If there are class libraries that depend on this one, copy the "update dependencies" job from CorLib "azure-pipelines.yml". If there aren't just skip this step.
82
-
1. Open ".github_changelog_generator" and set the **project** to the repo name.
83
83
1. Open "version.json" and set the **version** to the appropriate one. Make sure to follow our version number guidelines. In doubt please ask one of the senior team members.
84
84
1. Open "README.md"
85
85
1. Rename the class library name occurrences with the new name.
@@ -91,9 +91,10 @@ For class libraries projects a Sonarcloud project has to be setup in order to ru
91
91
1. Make sure you copy the `key.snk` from the initial repo (or from the CorLib repo). **DO NOT** create a new one.
92
92
1. Rename, edit and adjust as required the "nuspec" files to create the NuGet packages.
93
93
1. Edit the "readme.txt" inside the `assets` folder and rename the repository name.
94
-
1. Edit the "files.txt" inside the `config` folder and rename the file pattern.
95
94
1. Still on"azure-pipelines.yml" **and only** if there are class libraries that depend on this one.
96
95
1. Adjust the `repositoriesToUpdate` list with the repo names of the class libraries that depend on this new one.
96
+
1. Create the .github folder with the workflows directory and the github actions yaml files inside.
97
+
1. Open the yaml files of the github actions and adjust the solution name.
0 commit comments