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: README.md
+43-7Lines changed: 43 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,13 +89,26 @@ By default, `PSModulePublisher` uses the main project's root directory as the pa
89
89
90
90
### Development
91
91
92
-
The project provides a all-in-one cmdlet [`Invoke-PSModulePublisher`](src/PSModulePublisher/Public/Invoke-PSModulePublisher.ps1) which can be used for executing the same build, test, and publish steps that will run in CI environments.
92
+
The project includes the cmdlet [`Invoke-PSModulePublisher`](src/PSModulePublisher/Public/Invoke-PSModulePublisher.ps1) which can be used for executing the project's build, test, and publish steps for PowerShell modules:
93
93
94
-
### Continuous Integration
94
+
```powershell
95
+
# Build and Test steps (Generates module manifest, tests module via module manifest)
The project includes provided CI templates and cmdlets for executing the project's build, test, and publish steps for PowerShell modules.
108
+
109
+
#### via Templates
110
+
111
+
The CI process with the included [CI templates](docs/samples/ci) is composed of the following steps:
99
112
100
113
##### Build
101
114
@@ -115,8 +128,6 @@ The CI process is composed of the following steps:
115
128
116
129
**Build** and **Test** steps can be executed for every commit pushed. Simply [configure](docs/samples/ci/azure-pipelines/azure-pipelines.linux.sample.yml#L8-L11) your main project's CI file(s) and/or settings to allow so.
117
130
118
-
#### Publishing the module
119
-
120
131
**Publish** steps will run only for [*tag* refs](templates/azure-pipelines/steps/pwsh/run-publish.yml#L10). Ensure your main project's CI file(s) and/or settings are [configured](docs/samples/ci/azure-pipelines/azure-pipelines.linux.sample.yml#L5-L7) to run CI jobs for *tag* refs.
121
132
122
133
Tags must follow [Semantic Versioning](https://semver.org/) and be prepended with a lowercase `v`:
@@ -129,14 +140,39 @@ git tag v1.0.12
129
140
git push remotename v1.0.12
130
141
```
131
142
132
-
#### Use cases
143
+
#####Use cases
133
144
134
145
For a basic use case, the CI process could simply comprise a single stage containing all the steps from **Build**, **Test**, and **Publish**.
135
146
136
147
In cases where the module needs to be tested across multiple operating systems and/or versions of PowerShell, two stages can be configured: The 1st stage containing *multiple jobs* executing [**Build** and **Test** steps](docs/samples/ci/azure-pipelines/azure-pipelines.linux.windows.sample.yml#L24-L40) for building and testing the module; the 2nd stage containing a *single* job executing [**Build** and **Publish** steps](docs/samples/ci/azure-pipelines/azure-pipelines.linux.windows.sample.yml#L52) for publishing the module.
137
148
138
149
Refer to the [sample CI files](docs/samples/ci) for some working examples.
0 commit comments