#!/usr/bin/env bash set -euo pipefail if [ -z "${GITHUB_ACTIONS-}" ]; then echo "Error: This script must be run in a GitHub Actions environment" exit 1 elif [ -z "${GITHUB_REF-}" ]; then # This should be the release tag 'v0.x.x' echo "Error: GITHUB_REF is not set" exit 1 fi version=$(script/get-crate-version zed) channel=$(cat crates/zed/RELEASE_CHANNEL) echo "Publishing version: ${version} on release channel ${channel}" echo "RELEASE_CHANNEL=${channel}" >> $GITHUB_ENV echo "RELEASE_VERSION=${version}" >> $GITHUB_ENV expected_tag_name="" case ${channel} in stable) expected_tag_name="v${version}";; preview) expected_tag_name="v${version}-pre";; *) echo "can't publish a release on channel ${channel}" exit 1;; esac if [[ $GITHUB_REF_NAME != $expected_tag_name ]]; then echo "invalid release tag ${GITHUB_REF_NAME}. expected ${expected_tag_name}" exit 1 fi