Skip to content
Gleb Kolobkov edited this page Mar 29, 2018 · 7 revisions

Instructions for building packages & publishing on multicore-opam. This is basically what worked for me. The workflow needs to be refined.

Develop

  • Use carcass to create the directory structure. You will most probably need to do carcass bone opam/topkg. For more information, see carcass help basics, carcass info bones.
  • Create a repo on github for the package. git init locally and push the initial commit.
  • Develop the package. Build & test using topkg. Test locally using opam pin add ....

Release

  • Now that you are ready to publish the package, tag the release: git tag 0.1. Push the tags to remote: git push --tags.
  • Build the distribution: topkg distrib --dist-version=0.1.
  • Draft a new release on github: topkg publish distrib --dist-version=0.1. This makes a new release on github.
  • Publish documentation using topkg publish doc --dist-version=0.1.
  • Create the opam entry for the package. topkg opam pkg --dist-version=0.1 --pkg-version=0.1.
  • Copy the directory _build/<package>.0.1 to multicore-opam/packages/<package>/. Add a file named findlib under <package>.0.1 with a single line <package>.
  • git add the new directory to multicore-opam.
  • Rebuild multicore-opam repo index: opam-admin make --index.
  • Push the updates to the multicore-opam remote.