diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5e71e09 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,12 @@ +# Contributing + +## Branches + +- `dev` — default branch, all PRs go here +- `main` — releases only, string freeze for translations + +## Workflow + +1. Create a branch from `dev` +2. Open a PR targeting `dev` +3. Merge to `dev` diff --git a/README.md b/README.md index 71d56ca..1c009b7 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ There are lots of features that can be added, and we would love to see your cont If you want to contribute to this project, you can fork the repository and submit a pull request. You can also report a bug or request a feature by opening an issue. +See [CONTRIBUTING.md](CONTRIBUTING.md) for branching workflow and contribution guidelines. + Your contributions are extremely welcome and appreciated. ## Translations diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 0000000..2ddab9f --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,28 @@ +# Releasing + +1. Create a release branch from `dev`: + ```bash + git checkout dev + git pull + git checkout -b release/X.Y.Z + ``` +2. Update version in `meson.build` following [Semantic Versioning](https://semver.org/) +3. Update `data/io.github.revisto.drum-machine.metainfo.xml` with release notes +4. Commit and push: + ```bash + git add meson.build data/io.github.revisto.drum-machine.metainfo.xml + git commit -m "Release X.Y.Z" + git push origin release/X.Y.Z + ``` +5. Open a PR targeting `main` and merge it +6. Announce string freeze on [GNOME Discourse](https://discourse.gnome.org/tag/i18n) + +7. Wait for string freeze (1-2 weeks depending on changes) + +8. Tag and push after translations are complete: + ```bash + git tag vX.Y.Z + git push origin --tags + ``` + +9. Release to Flathub