1#!/usr/bin/env bash
2
3set -euo pipefail
4
5if [ -z "${GITHUB_ACTIONS-}" ]; then
6 echo "Error: This script must be run in a GitHub Actions environment"
7 exit 1
8elif [ -z "${GITHUB_REF-}" ]; then
9 # This should be the release tag 'v0.x.x'
10 echo "Error: GITHUB_REF is not set"
11 exit 1
12fi
13
14version=$(script/get-crate-version zed)
15channel=$(cat crates/zed/RELEASE_CHANNEL)
16echo "Publishing version: ${version} on release channel ${channel}"
17echo "RELEASE_CHANNEL=${channel}" >> $GITHUB_ENV
18echo "RELEASE_VERSION=${version}" >> $GITHUB_ENV
19
20expected_tag_name=""
21case ${channel} in
22stable)
23 expected_tag_name="v${version}";;
24preview)
25 expected_tag_name="v${version}-pre";;
26*)
27 echo "can't publish a release on channel ${channel}"
28 exit 1;;
29esac
30if [[ $GITHUB_REF_NAME != $expected_tag_name ]]; then
31 echo "invalid release tag ${GITHUB_REF_NAME}. expected ${expected_tag_name}"
32 exit 1
33fi