Skip to content

SIM RFC: Release Pipeline #3554

@Andrewyx

Description

@Andrewyx

Description of the task

For the interchangeable back-end AIs to function, we must have some bucket to host our compiled binaries such that they can be downloaded by developers. We can host binaries on GitHub via Releases and similarly use a workflow to compile and upload corresponding artifacts. Ideally, we should name these releases in an intuitive manner and/or include the targeted commit hash in the description.

An example of hosted binaries can be found in the fzf project! https://github.com/junegunn/fzf/releases/tag/v0.67.0

The purpose of this ticket is referenced in this RFC

Acceptance criteria

  • A GitHub action/workflow to compile the unix_fullsystem
  • Ensure compiled binary is standalone (runs on target machines without additional files)
  • Ensure both architectures (ARM & x86) binaries are hosted
  • Ensure the archived artifacts are named in <NAME>-<VERSION>-<PLATFORM>.tar.gz format (e.g. unix_full_system-0.0.1-linux_amd64.tar.gz)

Workflow Details

  • Releases should occur ONCE a week or when the workflow is run manually.
  • Naming should follow the rules in the MAJOR.MINOR.PATCH format (See https://semver.org/)
  • Try 1 patch autorelease per week if new commits have been merged since last release
  • Try 1 minor version autorelease per month (list the changes since last minor version)
  • Allow for manual major releases only. This should reset to X.0.0 and the auto-increment feature of weekly releases should continue off of that
  • Include a changelog for each release. Example

Blocked By

Metadata

Metadata

Assignees

Labels

DevOpsFor everything related to logistics of codeDifficulty - 7Well-defined tasks that require some understanding about the relevant system and tools

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions