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
docs: Improve automation and release process with GitHub Actions
- Add GitHub Actions workflows for automation
- Update README.md with explanations on workflow triggers and Release Drafter
- Improve automation process for version releases
Copy file name to clipboardExpand all lines: README.md
+37Lines changed: 37 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -214,6 +214,43 @@ output_folder: output
214
214
make install-cli
215
215
```
216
216
217
+
### Workflows
218
+
219
+
This project uses several GitHub Actions workflows to automate various processes:
220
+
221
+
- **Build**: Triggered on pushes and pull requests to the `main` branch. It installs dependencies, runs linting, tests, and builds the project.
222
+
223
+
- **Fix Release**: Manually triggered workflow that allows fixing a specific version release. It publishes the package, Docker image, and updates the release.
224
+
225
+
- **Publish Latest Image**: Triggered on pushes to the `main` branch. It publishes the latest Docker image for multiple architectures.
226
+
227
+
- **Pull Request Release**: Triggered when a pull request is opened, reopened, or synchronized. It uses Release Drafter to draft a release based on the pull request.
228
+
229
+
- **Release**: Triggered on pushes to the `main` branch. It drafts a new release using Release Drafter, publishes the package and Docker image, and publishes the drafted release.
230
+
231
+
### Releasing a New Version
232
+
233
+
This project uses [Release Drafter](https://github.com/release-drafter/release-drafter) to automatically generate release notes and determine the version number based on the labels of merged pull requests.
234
+
235
+
To release a new version:
236
+
237
+
1. Ensure that your pull request has one of the following labels:
238
+
- `major`: For a major version bump (e.g., 1.0.0 -> 2.0.0)
239
+
- `minor`: For a minor version bump (e.g., 1.0.0 -> 1.1.0)
240
+
- `patch`: For a patch version bump (e.g., 1.0.0 -> 1.0.1)
241
+
242
+
If no label is provided, the default behavior is to bump the patch version.
243
+
244
+
2. Merge the pull request into the `main` branch.
245
+
246
+
3. The "Release" workflow will automatically trigger and perform the following steps:
247
+
- Draft a new release using Release Drafter, determining the version number based on the merged pull request labels.
248
+
- Publish the package to PyPI.
249
+
- Publish the Docker image for multiple architectures.
250
+
- Publish the drafted release on GitHub.
251
+
252
+
4. If there are any issues with the release, you can manually trigger the "Fix Release" workflow and provide the version number to fix the release.
253
+
217
254
## Star History
218
255
219
256
[](https://star-history.com/#echohello-dev/transcribe-me&Date)
0 commit comments