1$ErrorActionPreference = "Stop"
2
3if (-not $env:GITHUB_ACTIONS) {
4 Write-Error "Error: This script must be run in a GitHub Actions environment"
5 exit 1
6}
7
8if (-not $env:GITHUB_REF) {
9 Write-Error "Error: GITHUB_REF is not set"
10 exit 1
11}
12
13$version = & "script/get-crate-version.ps1" "zed"
14$channel = Get-Content "crates/zed/RELEASE_CHANNEL"
15
16Write-Host "Publishing version: $version on release channel $channel"
17Write-Output "RELEASE_CHANNEL=$channel" >> $env:GITHUB_ENV
18Write-Output "RELEASE_VERSION=$version" >> $env:GITHUB_ENV
19
20$expectedTagName = ""
21switch ($channel) {
22 "stable" {
23 $expectedTagName = "v$version"
24 }
25 "preview" {
26 $expectedTagName = "v$version-pre"
27 }
28 default {
29 Write-Error "can't publish a release on channel $channel"
30 exit 1
31 }
32}
33
34if ($env:GITHUB_REF_NAME -ne $expectedTagName) {
35 Write-Error "invalid release tag $($env:GITHUB_REF_NAME). expected $expectedTagName"
36 exit 1
37}