Move messages to stand-alone repo
https://github.com/cucumber/messages
Todo list (for at least go, java, javascript, perl, php and ruby - dotnet is ignored for now, elixir may require additional work in parallel of https://github.com/cucumber/common/pull/1952):
- [x] Add tests as part of the CI
- [x] Merge the perl PR after review
- [x] Add code generation as part of dev workflow (still relying on make, but only dedicated to code generation)
- [x] Check as part of the CI that generated code in the repo is up-to-date with the schemas
- [ ] Clean-up the repo
- [ ] Synchronize READMEs accross languages to avoid package managers without READMEs
- [ ] Write some doc / contributing doc
- [x] Add release workflows (https://github.com/cucumber/messages/pull/27)
- [x] Do not forget post-release processes
- [x] ~~among others: java~~ (done with polyglot release)
- [x] ~~among others: php~~ (dependency updates should be done using renovate or dependabot)
- [x] Do not forget post-release processes
- [x] Release
- [x] Migrate issues / PRs
Depending on the status of the elixir piece of work, do not forget to
- [ ] Remove protocol buffer from elixir
- [x] in test-elixir.yml (WIP in a PR)
@aurelien-reeves thanks for all your work on this! I've had a busy few weeks and am only just picking this up. I don't quite have enough context to help with the task about synchronizing the readmes - do you mean we could copy / paste a standard README file manually into each language sub-folder? Or did you mean something more fancy and automated?
I've made a start on the release workflows, but we will need help from Wannes, Ciaran and Erik to get the Elixir, PHP and Perl releases working I think.
@mattwynne regarding the readmes, I had no idea in mind. I just wanted to avoid missing readmes with npm or such package managers. That could be done manually.
For the release workflows:
- we don't care the for Elixir one at the moment: the actual implementation is not maintained, outdated, and unused. The next one is still WIP
- I am pretty sure we already have some Perl release workflow somewhere
- For PHP, this is based on git tags, like go-lang. This is using a sub-repo at the moment