Skip to content

o1-labs/opam-repository

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

O(1) Labs Opam Repository

This is O(1) Labs's custom opam repository. We use this repository as incubator before publishing packages to the official opam repository.

Publishing to this repository

We use dune-release to publish to this repository.

  1. to do this, you will first have to install dune release:
    $ opam install dune-release
  2. then fork this repository (let's say under your_name/opam-repository) and clone this repository somewhere (at some point dune-release will ask you for that information)
  3. add the new version (following semver) and a changelog to your CHANGES.md file (see example), as well as your <package>.opam or opam file.
  4. optionally make sure your opam file is in sync with your dune file
    $ opam install opam-dune-lint
    $ opam-dune-lint
  5. make sure your opam file is ready to be published
    $ dune-release lint
  6. tag your release (this should pick up the version automatically from the CHANGES.md file)
    $ dune-release tag
  7. produce artifacts
    $ dune-release distrib
    $ dune-release publish
    $ dune-release opam pkg
  8. create a PR to your fork of this repository, where <USER> is your Github username, <REMOTE> is your fork of this repository (most likely <USER>/opam-repository), and <LOCAL> is the local path to a clone of your fork.
    $ dune-release opam submit --opam-repo=o1-labs/opam-repository --user <USER> --remote-repo <REMOTE> --local-repo <LOCAL>
  9. once the PR has been created, merge it in your own fork, then create a PR manually between your fork and this repository.

The dune-release flow is summarized in their nice diagram below.

dune release flow

Known issues

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published