Skip to content

Commit e804bcf

Browse files
committed
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
1 parent 5a4ddcc commit e804bcf

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,43 @@ output_folder: output
214214
make install-cli
215215
```
216216

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+
217254
## Star History
218255

219256
[![Star History Chart](https://api.star-history.com/svg?repos=echohello-dev/transcribe-me&type=Date)](https://star-history.com/#echohello-dev/transcribe-me&Date)

0 commit comments

Comments
 (0)