Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 1.95 KB

RELEASE.md

File metadata and controls

39 lines (28 loc) · 1.95 KB

Release Process

This document outlines the automated release process for foundry-zksync project. The release process ensures that every change is systematically analyzed, documented, and packaged for distribution.

Release Process Overview

  1. Triggering the Release Workflow

    • Every merge to the main branch activates a special workflow.
    • This workflow uses the release-please tool to analyze the commits.
  2. Commit Analysis and Release Candidate Creation

    • The release-please tool scans for new conventional commits that meet the criteria for triggering a release.
    • If qualifying commits are found, the tool automatically creates a Release Pull Request (PR). This PR includes:
      • An updated changelog detailing the new changes.
      • Updated Cargo.toml and Cargo.lock files with the next release version.
  3. Review and Approval

    • The Release PR must be reviewed and approved by the designated Release Manager.
    • Once approved, the PR is merged when the release is planned.
  4. Creating a New Release

    • Upon merging the Release PR:
      • The workflow automatically creates a new GitHub tag and release corresponding to the new version.
      • The Release PR is marked as "released" and linked to the newly created release.
      • Merged PRs included in the release are also labeled with released in version....
  5. Generating and Publishing Artifacts

    • The release-please workflow also triggers the release.yaml workflow.
    • This workflow generates binary artifacts for the release and attaches them to the GitHub release generated by release-please.
  6. Release Completion

    • With the binary artifacts added, the release is complete and available for distribution.

Release Versioning

The foundry-zksync project follows Semantic Versioning.

Tags are created in the format foundry-zksync-vX.Y.Z.