Change summary
.github/workflows/ci.yml | 79 ++++-----------------------------
script/bump-zed-patch-version | 5 -
script/determine-release-channel | 32 +++++++++++++
3 files changed, 43 insertions(+), 73 deletions(-)
Detailed changes
@@ -192,29 +192,12 @@ jobs:
- name: Determine version and release channel
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
run: |
- set -eu
-
- 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
-
- expected_tag_name=""
- case ${channel} in
- stable)
- expected_tag_name="v${version}";;
- preview)
- expected_tag_name="v${version}-pre";;
- nightly)
- expected_tag_name="v${version}-nightly";;
- *)
- 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
+ # This exports RELEASE_CHANNEL into env (GITHUB_ENV)
+ script/determine-release-channel
+
+ - name: Draft release notes
+ if: ${{ startsWith(github.ref, 'refs/tags/v') }}
+ run: |
mkdir -p target/
# Ignore any errors that occur while drafting release notes to not fail the build.
script/draft-release-notes "$version" "$channel" > target/release-notes.md || true
@@ -289,29 +272,8 @@ jobs:
- name: Determine version and release channel
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
run: |
- set -eu
-
- 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
-
- expected_tag_name=""
- case ${channel} in
- stable)
- expected_tag_name="v${version}";;
- preview)
- expected_tag_name="v${version}-pre";;
- nightly)
- expected_tag_name="v${version}-nightly";;
- *)
- 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
+ # This exports RELEASE_CHANNEL into env (GITHUB_ENV)
+ script/determine-release-channel
- name: Create Linux .tar.gz bundle
run: script/bundle-linux
@@ -357,29 +319,8 @@ jobs:
- name: Determine version and release channel
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
run: |
- set -eu
-
- 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
-
- expected_tag_name=""
- case ${channel} in
- stable)
- expected_tag_name="v${version}";;
- preview)
- expected_tag_name="v${version}-pre";;
- nightly)
- expected_tag_name="v${version}-nightly";;
- *)
- 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
+ # This exports RELEASE_CHANNEL into env (GITHUB_ENV)
+ script/determine-release-channel
- name: Create and upload Linux .tar.gz bundle
run: script/bundle-linux
@@ -9,11 +9,8 @@ case $channel in
preview)
tag_suffix="-pre"
;;
- nightly)
- tag_suffix="-nightly"
- ;;
*)
- echo "this must be run on either of stable|preview|nightly release branches" >&2
+ echo "this must be run on either of stable|preview release branches" >&2
exit 1
;;
esac
@@ -0,0 +1,32 @@
+#!/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
+
+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