Closed davesnx closed 2 months ago
@davesnx we should simplify this:
what do you thinK?
I'm happy with the current workflow of opam and github releases. Esy users can still benefit with @opam/reason, so it's good.
I'm still annoyed by legacy versions on npm, and some scripts in makefile, I might cleanup those.
Currently, the release process has a few issues, the root is that it is done manually, so some steps might be skipped which results in problems:
refmt --version
often lies (is going away on https://github.com/reasonml/reason/pull/2701), bs-platform shipping with a packaged refmt for 3.6.2 makes stuff more confusing as well.Opening this issue as gathering information to fix it and if it's worth the effort. There have been a few issues in the past: https://github.com/reasonml/reason/issues/2418 https://github.com/reasonml/reason/issues/2461 https://github.com/reasonml/reason/issues/2453
Proposed solution
GH actions should handle all release processes, publish to npm and open the PR to opam-repository.
This should do everything for you:
The CI should handle:
Running node ./scripts/esy-prepublish.js
cd _release/XXX/package/
npm publish --access=public
Running opam-publish
Notes: We can't use %%VERSION%% and dune subts in esy.json files since esy doesn't recognise %%VERSION%% as a valid one. We would need to do something less fancy: