diff --git a/Cargo.lock b/Cargo.lock index 06f75e1..b986337 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -231,7 +231,7 @@ dependencies = [ [[package]] name = "codemp" -version = "0.8.3" +version = "0.8.4" dependencies = [ "async-trait", "codemp-proto", diff --git a/Cargo.toml b/Cargo.toml index 435390a..a4040df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ authors = [ ] license = "GPL-3.0-only" edition = "2021" -version = "0.8.3" +version = "0.8.4" exclude = ["dist/*"] [lib] diff --git a/README.md b/README.md index 2b015e7..aa45475 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Crates.io Version](https://img.shields.io/crates/v/codemp)](https://crates.io/crates/codemp) [![Gitter Chat](https://img.shields.io/gitter/room/hexedtech/codemp)](https://gitter.im/hexedtech/codemp) [![GitHub last commit](https://img.shields.io/github/last-commit/hexedtech/codemp)](https://github.com/hexedtech/codemp/commits/dev/) -[![GitHub commits since tagged version](https://img.shields.io/github/commits-since/hexedtech/codemp/v0.8.3)](https://github.com/hexedtech/codemp/releases/tag/v0.8.3) +[![GitHub commits since tagged version](https://img.shields.io/github/commits-since/hexedtech/codemp/v0.8.4)](https://github.com/hexedtech/codemp/releases/tag/v0.8.4) > `codemp` is a **collaborative** text editing solution to work remotely. diff --git a/dist/RELEASING.md b/dist/RELEASING.md index 87d7a62..d5f643f 100644 --- a/dist/RELEASING.md +++ b/dist/RELEASING.md @@ -1,30 +1,33 @@ # Release flow -Releases on registries are automatically handled with GitHub Actions, which will only run on the `stable` branch. +Releases on registries are automatically handled with GitHub Actions, which will only run on commits tagged as `v[0-9]+.[0-9]+.[0-9]+`. -Every time we merge on `stable` branch, this happens: - - builds and tests core library - - publishes core rust library on `crates.io` (which will rebuild main documentation) - - builds codemp javascript bindings for windows, linux and macos and publishes it on `npm` - - builds codemp python bindings for windows, linux and macos and publishes it on `PyPI` - - builds codemp luajit bindings for windows, linux and macos and publishes it on both `LuaRocks` (source) and codemp.dev/releases (binary) - - builds codemp java bindings for windows, linux and macos and publishes it on `Maven Central` +Every time a new tag matching that is pushed: +- builds and tests core library +- publishes core rust library on `crates.io` (which will rebuild main documentation) +- builds codemp javascript bindings for windows, linux and macos and publishes it on `npm` +- builds codemp python bindings for windows, linux and macos and publishes it on `PyPI` +- builds codemp luajit bindings for windows, linux and macos and publishes it on both `LuaRocks` (source) and codemp.dev/releases (binary) +- builds codemp java bindings for windows, linux and macos and publishes it on `Maven Central` # Checklist -Before merging on `stable`, make sure all these steps have been followed +Before writing the tag, make sure all these steps have been followed: > do any required change in a branch named `release/vX.Y.Z`, for which a PR can then be opened - [ ] `Cargo.toml`: bump version -- [ ] `dist/js/package.json`: make sure version matches with Cargo.toml (also check optionalDependencies! all versions must be the same) -- [ ] `dist/py/pyproject.toml`: make sure version matches with Cargo.toml -- [ ] `dist/java/build.gradle`: make sure version matches with Cargo.toml -- [ ] `dist/lua/codemp-X.Y.Z-1.rockspec`: make sure version matches with Cargo.toml (note that rockspec file contains current version in its name so must be renamed) (note that rockspec versions have a fourth component: "revision". we don't use it so always set is as `1`) +- [ ] `dist/js/package.json`: make sure `version` matches with Cargo.toml (also check `optionalDependencies`: all versions must be the same) +- [ ] `dist/py/pyproject.toml`: make sure `version` matches with Cargo.toml +- [ ] `dist/java/build.gradle`: make sure `version` matches with Cargo.toml +- [ ] `dist/lua/codemp-X.Y.Z-1.rockspec`: make sure `version` matches with Cargo.toml + - note that the rockspec file contains current version in its name so must be renamed + - note that rockspec versions have a fourth component: "revision". we don't use it so always set is as `1` - [ ] update `Cargo.lock` (basically delete it and re-run `cargo build`. check diff before committing!) - [ ] **make sure docs build without warning or errors** (`cargo doc --features=serialize`) - [ ] **make sure that core crate builds** with `--release --features=js,py,java,lua` - [ ] **make sure the version you're about to release is available** (on all registries!) - [ ] update last tag in "commits since last tag" badge (in README.md) - [ ] commit all these changes (in `release/vX.Y.Z` branch), open a PR and have it approved and merged -- [ ] generate a new tag with same version as the one specified in Cargo.toml. include changelog in its description (use `git log ..HEAD --oneline` to get a commit list, but **don't just put it as-is!**). **remember to push the newly generated tag with** (`git push --tags`) -- [ ] merge on `stable` and start release CIs (from your PC: `git checkout dev`, `git pull`, `git checkout stable`, `git pull`, `git merge dev`, `git push`, `git checkout dev`) +- [ ] generate a new tag with same version as the one specified in Cargo.toml. include changelog in its description + - use `git log ..HEAD --oneline` to get a commit list, but **don't just put it as-is!** + - **remember to push the newly generated tag with** (`git push --tags`) diff --git a/dist/java/build.gradle b/dist/java/build.gradle index 2416c76..66f07b2 100644 --- a/dist/java/build.gradle +++ b/dist/java/build.gradle @@ -5,7 +5,7 @@ plugins { } group = 'mp.code' -version = '0.8.3' +version = '0.8.4' tasks.register('windowsJar', Jar) { outputs.upToDateWhen { false } diff --git a/dist/js/package.json b/dist/js/package.json index 9887758..be70237 100644 --- a/dist/js/package.json +++ b/dist/js/package.json @@ -1,6 +1,6 @@ { "name": "@codemp/native", - "version": "0.8.3", + "version": "0.8.4", "description": "code multiplexer -- javascript bindings", "keywords": [ "codemp", @@ -35,8 +35,8 @@ } }, "optionalDependencies": { - "@codemp/native-win32-x64-msvc": "0.8.3", - "@codemp/native-darwin-arm64": "0.8.3", - "@codemp/native-linux-x64-gnu": "0.8.3" + "@codemp/native-win32-x64-msvc": "0.8.4", + "@codemp/native-darwin-arm64": "0.8.4", + "@codemp/native-linux-x64-gnu": "0.8.4" } } diff --git a/dist/lua/codemp-0.8.3-1.rockspec b/dist/lua/codemp-0.8.4-1.rockspec similarity index 96% rename from dist/lua/codemp-0.8.3-1.rockspec rename to dist/lua/codemp-0.8.4-1.rockspec index 0245960..6cbeff4 100644 --- a/dist/lua/codemp-0.8.3-1.rockspec +++ b/dist/lua/codemp-0.8.4-1.rockspec @@ -1,9 +1,9 @@ package = "codemp" -version = "0.8.3-1" +version = "0.8.4-1" source = { url = "git+https://github.com/hexedtech/codemp", - tag = "v0.8.3", + tag = "v0.8.4", } dependencies = { diff --git a/dist/py/pyproject.toml b/dist/py/pyproject.toml index 36aa733..9dc3304 100644 --- a/dist/py/pyproject.toml +++ b/dist/py/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "codemp" -version = "0.8.3" +version = "0.8.4" description = "code multiplexer" requires-python = ">=3.8" license = "GPL-3.0-only"