Skip to content

Create a pipeline for microsoft/go releases #423

@dagood

Description

@dagood

The basic requirements to do a release are:

  • Make a signed tag and push it to the repository.
  • Download the source archives from a target build to attach to the GitHub release.
  • Create a GitHub release on the signed tag.

There's more to do on the Docker side--sticking to microsoft/go here.

We can use add some basic validation:

  • Make sure the commit the release is based on is actually the upstream tag, and that it's the correct tag. (Don't release the wrong build, or release a build that is based on an upstream commit before or after the release tag, or a build of the wrong branch entirely.)
  • Make sure the tag doesn't overlap an existing tag.
  • Multi-person signoff.
  • Make sure the source archive's format matches what we expect. E.g. root go folder, no files outside that folder, certain directories exist inside the folder, the archive filename matches expectations, checksum and signature are accurate, ...
  • Run additional test jobs on the source. (Rolling build.) This could increase coverage if our rolling build schedule just happened to miss the real release commit.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions