From 986c07b6bad236d65bd37924819966935fb0704c Mon Sep 17 00:00:00 2001 From: Jake Runzer Date: Thu, 6 Feb 2025 17:31:00 -0800 Subject: [PATCH] add a RELEASE.md doc --- RELEASE.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 RELEASE.md diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..862459d --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,56 @@ +# Release Process + +This document outlines the process for creating new releases of Railpack. + +## Creating a New Release + +1. Determine the new version number following [Semantic + Versioning](https://semver.org/) principles: + + - MAJOR version for incompatible API changes + - MINOR version for backwards-compatible functionality additions + - PATCH version for backwards-compatible bug fixes + +2. Create and push a new tag with the version number: + + ```bash + git tag v1.2.3 # Replace with your version number + git push origin --tags + ``` + +3. The [release + workflow](https://github.com/railwayapp/railpack/actions/workflows/release.yml) + will automatically: + - Build and publish the frontend Docker image to + [GHCR](https://github.com/orgs/railwayapp/packages?repo_name=railpack) + - Create a GitHub release with changelog + - Build and attach binaries for multiple platforms + +## Release Artifacts + +### Frontend Docker Image + +The frontend Docker image is published to GitHub Container Registry (GHCR) with +the following tags: + +- `ghcr.io/railpack/railpack-frontend:latest` (on default branch) +- `ghcr.io/railpack/railpack-frontend:v1.2.3` (specific version) +- `ghcr.io/railpack/railpack-frontend:1.2` (minor version) + +The image is built for both `linux/amd64` and `linux/arm64` platforms. + +### Binary Releases + +The release workflow automatically builds and attaches binaries for multiple +platforms to the GitHub release. + +## Verifying a Release + +After pushing a tag: + +1. Check the [Actions tab](https://github.com/railwayapp/railpack/actions) to + monitor the release workflow +2. Verify the [GitHub release](https://github.com/railwayapp/railpack/releases) + is created with the correct artifacts +3. Confirm the frontend Docker image is available in the [package + registry](https://github.com/orgs/railwayapp/packages?repo_name=railpack)