Skip to content

Update readme with publishing new release steps #42

@seanmakesgames

Description

@seanmakesgames
          > What are the next steps we need here to publish a new version?

@SamSaffron since mini_racer version constraint on libv8-node is ~> 16.10.0.0 and this is clearly a bug fix, there is nothing to be done for node-16 on the mini_racer side, only pushing the new node 16 gems.

The typical libv8-node release process (that I should document) is:

  • merge whatever PRs are wanted for a release into node-X (here node-16)
  • wait for last merge commit CI to be green
  • do a Release X.Y.Z.W commit on the branch (like so). It should update changelogs and whatever too.
  • wait for CI to be green (it should given the changeset, but sometimes silly mistakes happen!)
  • tag that release commit vX.Y.Z.W
  • create a release from the tag on the GH page, and attach the CI artifacts of the release commit
  • push the CI artifact gems to rubygems

(Most of these can be automated via GH workflows, e.g tag => create GH release + attack artifacts + push to rubygems†. or it can be a manual GH "dispatch workflow")

† this one can also both require and wait for 2FA with some interesting techniques

The degraded libv8-node release process is the same, except (when CI is broken because reasons outside of release blockers):

  • merge whatever PRs are wanted for a release into node-X (here node-16)
  • wait for last merge commit CI to be as green as possible
  • do a Release X.Y.Z.W commit on the branch (like so). It should update changelogs and whatever too.
  • build x86_64-{darwin,linux,linux-musl} gems on an Intel machine (resp. make test, make test/linux, make test/linux-musl)
  • build arm64-darwin and aarch64-{linux,linux-musl}gems on an Intel machine (resp.make test, make test/linux, make test/linux-musl`)
  • build ruby platform gem with rake build
  • tag that release commit vX.Y.Z.W
  • create a release from the tag on the GH page, and attach the artifacts of the release commit
  • push the artifact gems to rubygems

Originally posted by @lloeki in #37 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions