Skip to content

Commit

Permalink
Add a document for how releases are built.
Browse files Browse the repository at this point in the history
  • Loading branch information
JoeRobich authored Aug 14, 2024
1 parent 4d3bf13 commit cca1697
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions doc/How-Releases-Are-Made.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# How O# Releases Are Made

The OmniSharp [release pipeline](https://dev.azure.com/omnisharp/Builds/_build?definitionId=2) runs from the OmniSharp Azure DevOps instance. It is defined in [azure-pipelines.yml](/azure-pipelines.yml).

## Rolling Beta Builds

Merges into the master branch generate an empty draft GitHub release with a beta version tag. The tag created for the release then causes a build that uploads the packages.

```mermaid
sequenceDiagram
autonumber
Maintainer ->> GitHub: Merges PR into the `master` branch
GitHub --) OmniSharp ADO: Merge to `master` triggers pipeline
activate OmniSharp ADO
OmniSharp ADO ->> GitHub: Pulls source for omnisharp-roslyn
note over OmniSharp ADO: Calculates a build version
OmniSharp ADO ->> GitHub: Creates a draft release and `v#35;.#35;.#35;-beta.#35;` tag
deactivate OmniSharp ADO
GitHub --) OmniSharp ADO: `v*` tag creation triggers pipeline
activate OmniSharp ADO
OmniSharp ADO ->> GitHub: Pulls source for omnisharp-roslyn
note over OmniSharp ADO: Builds packages for various platforms
OmniSharp ADO ->> GitHub: Adds packages to release and unmark as draft
deactivate OmniSharp ADO
```

## Official Builds

A maintainer creates an empty draft GitHub release with the appropriate version tag. The tag created for the release then causes a build that uploads the packages.

```mermaid
sequenceDiagram
autonumber
Maintainer ->> GitHub: Creates draft release with a`v#35;.#35;.#35;` tag
GitHub --) OmniSharp ADO: `v*` tag creation triggers pipeline
activate OmniSharp ADO
OmniSharp ADO ->> GitHub: Pulls source for omnisharp-roslyn
note over OmniSharp ADO: Builds packages for various platforms
OmniSharp ADO ->> GitHub: Adds packages to release and unmark as draft
deactivate OmniSharp ADO
```

0 comments on commit cca1697

Please sign in to comment.