Stem Cell

Build status

This is a simple project to demonstrate the cross-platform release management process for my open source work.

Installation instructions

Easy installation on macOS or Linux

If you are running macOS or Linux on an x86-64 CPU, you can install Stem Cell with this command:

sh curl https://raw.githubusercontent.com/stepchowfun/stem-cell/main/install.sh -LSfs | sh

The same command can be used again to update Stem Cell to the latest version.

NOTE: Piping curl to sh is considered dangerous by some since the server might be compromised. If you're concerned about this, you can download and inspect the installation script or choose one of the other installation methods.

Customizing the installation

The installation script supports the following environment variables:

For example, the following will install Stem Cell into the working directory:

sh curl https://raw.githubusercontent.com/stepchowfun/stem-cell/main/install.sh -LSfs | PREFIX=. sh

Manual installation for macOS, Linux, or Windows

The releases page has precompiled binaries for macOS, Linux, and Windows systems running on an x86-64 CPU. You can download one of them and place it in a directory listed in your PATH.

Installation with Cargo

If you have Cargo, you can install Stem Cell as follows:

sh cargo install stem-cell

You can run that command with --force to update an existing installation.

For maintainers

Release instructions

  1. Bump the version in Cargo.toml, run cargo build to update Cargo.lock, and update CHANGELOG.md with information about the new version. Ship those changes as a single commit.
  2. Once the GitHub workflow has finished on the main branch, update the version in install.sh to point to the new release.

GitHub instructions

When setting up the repository on GitHub, change the following settings:

The GitHub workflow will fail initially because the job to install the latest release will not find any release to download. You will need to bootstrap the v0.0.0 release by temporarily removing or commenting out the line in the workflow referencing the [tag:remove_to_bootstrap] tag.

This repository can be used as a starting point for a new project. Be sure to rename all references to Stem Cell and stem-cell accordingly.