mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-24 21:59:04 +00:00
No, sadly, the title is not a typo. See https://www.githubstatus.com/incidents/zsg1lk7w13cf for the context. I'll read with joy and popcorn through that root cause analysis. It makes literally zero sense what happened here, but for some completly bonkers reason GitHub completely messed up the merge queue with https://github.com/zed-industries/zed/pull/54632. I have no idea how it happened. It makes literally zero sense. A PR going into the merge queue should have the same LoC when getting out of it. GitHub obviously does not check this. GitHub causes extra work with a feature that is supposed to save time. Thanks, I guess. Release Notes: - N/A --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
226 lines
9 KiB
YAML
226 lines
9 KiB
YAML
# Generated from xtask::workflows::bump_zed_version
|
|
# Rebuild with `cargo xtask workflows`.
|
|
name: bump_zed_version
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
target:
|
|
description: 'Which channels to bump: all, main, preview, or stable'
|
|
type: string
|
|
default: all
|
|
jobs:
|
|
resolve_versions:
|
|
if: github.repository_owner == 'zed-industries'
|
|
runs-on: namespace-profile-16x32-ubuntu-2204
|
|
steps:
|
|
- id: generate-token
|
|
name: steps::authenticate_as_zippy
|
|
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859
|
|
with:
|
|
app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
|
|
private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
|
|
- name: steps::checkout_repo
|
|
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
|
|
with:
|
|
clean: false
|
|
ref: main
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
- id: versions
|
|
name: bump_zed_version::resolve_versions::extract_versions
|
|
run: |
|
|
version=$(script/get-crate-version zed)
|
|
major=$(echo "$version" | cut -d. -f1)
|
|
minor=$(echo "$version" | cut -d. -f2)
|
|
|
|
channel=$(cat crates/zed/RELEASE_CHANNEL)
|
|
if [[ "$channel" != "dev" && "$channel" != "nightly" ]]; then
|
|
echo "::error::release channel on main should be dev or nightly, found: $channel"
|
|
exit 1
|
|
fi
|
|
|
|
# Next main version after bump
|
|
next_version="${major}.$((minor + 1)).0"
|
|
next_major=$(echo "$next_version" | cut -d. -f1)
|
|
next_minor=$(echo "$next_version" | cut -d. -f2)
|
|
pr_branch="bump-zed-to-v${next_major}.${next_minor}.0"
|
|
|
|
# New preview branch from current main
|
|
preview_branch="v${major}.${minor}.x"
|
|
preview_tag="v${version}-pre"
|
|
|
|
# Current preview to promote to stable — derive branch from released preview version
|
|
released_preview=$(script/get-released-version preview)
|
|
if [[ -z "$released_preview" ]]; then
|
|
echo "::error::could not determine released preview version"
|
|
exit 1
|
|
fi
|
|
stable_major=$(echo "$released_preview" | cut -d. -f1)
|
|
stable_minor=$(echo "$released_preview" | cut -d. -f2)
|
|
stable_branch="v${stable_major}.${stable_minor}.x"
|
|
|
|
# Final validation
|
|
for var in next_version pr_branch preview_branch preview_tag stable_branch; do
|
|
if [[ -z "${!var}" ]]; then
|
|
echo "::error::failed to compute $var"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
{
|
|
echo "next_version=$next_version"
|
|
echo "pr_branch=$pr_branch"
|
|
echo "preview_branch=$preview_branch"
|
|
echo "preview_tag=$preview_tag"
|
|
echo "stable_branch=$stable_branch"
|
|
} >> "$GITHUB_OUTPUT"
|
|
|
|
echo "Resolved: next=$next_version preview=$preview_branch($preview_tag) stable=$stable_branch pr=$pr_branch"
|
|
outputs:
|
|
next_version: ${{ steps.versions.outputs.next_version }}
|
|
pr_branch: ${{ steps.versions.outputs.pr_branch }}
|
|
preview_branch: ${{ steps.versions.outputs.preview_branch }}
|
|
preview_tag: ${{ steps.versions.outputs.preview_tag }}
|
|
stable_branch: ${{ steps.versions.outputs.stable_branch }}
|
|
bump_main:
|
|
needs:
|
|
- resolve_versions
|
|
if: inputs.target == 'all' || inputs.target == 'main'
|
|
runs-on: namespace-profile-16x32-ubuntu-2204
|
|
steps:
|
|
- id: generate-token
|
|
name: steps::authenticate_as_zippy
|
|
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859
|
|
with:
|
|
app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
|
|
private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
|
|
- name: steps::checkout_repo
|
|
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
|
|
with:
|
|
clean: false
|
|
ref: main
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
- name: steps::install_cargo_edit
|
|
uses: taiki-e/install-action@02cc5f8ca9f2301050c0c099055816a41ee05507
|
|
with:
|
|
tool: cargo-edit
|
|
- name: bump_zed_version::bump_main::bump_version
|
|
run: cargo set-version -p zed --bump minor
|
|
- name: steps::create_pull_request
|
|
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
|
|
with:
|
|
title: Bump Zed to v${{ needs.resolve_versions.outputs.next_version }}
|
|
body: |-
|
|
Release Notes:
|
|
|
|
- N/A
|
|
commit-message: Bump Zed to v${{ needs.resolve_versions.outputs.next_version }}
|
|
branch: ${{ needs.resolve_versions.outputs.pr_branch }}
|
|
committer: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
|
|
author: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
|
|
base: main
|
|
delete-branch: true
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
sign-commits: true
|
|
assignees: ${{ github.actor }}
|
|
create_preview_branch:
|
|
needs:
|
|
- resolve_versions
|
|
if: inputs.target == 'all' || inputs.target == 'preview'
|
|
runs-on: namespace-profile-16x32-ubuntu-2204
|
|
steps:
|
|
- id: generate-token
|
|
name: steps::authenticate_as_zippy
|
|
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859
|
|
with:
|
|
app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
|
|
private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
|
|
- name: steps::checkout_repo
|
|
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
|
|
with:
|
|
clean: false
|
|
ref: main
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
- id: main-sha
|
|
name: bump_zed_version::create_preview_branch::get_main_sha
|
|
run: echo "main_sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
|
|
- name: bump_zed_version::create_preview_branch::promote_to_preview
|
|
run: echo -n preview > crates/zed/RELEASE_CHANNEL
|
|
- name: steps::create_branch
|
|
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b
|
|
with:
|
|
script: |
|
|
github.rest.git.createRef({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
ref: 'refs/heads/${{ needs.resolve_versions.outputs.preview_branch }}',
|
|
sha: '${{ steps.main-sha.outputs.main_sha }}'
|
|
})
|
|
github-token: ${{ steps.generate-token.outputs.token }}
|
|
- id: commit
|
|
name: steps::bot_commit
|
|
uses: IAreKyleW00t/verified-bot-commit@126a6a11889ab05bcff72ec2403c326cd249b84c
|
|
with:
|
|
message: ${{ needs.resolve_versions.outputs.preview_branch }} preview for @${{ github.actor }}
|
|
ref: refs/heads/${{ needs.resolve_versions.outputs.preview_branch }}
|
|
files: crates/zed/RELEASE_CHANNEL
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
- name: steps::create_tag
|
|
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b
|
|
with:
|
|
script: |
|
|
github.rest.git.createRef({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
ref: 'refs/tags/${{ needs.resolve_versions.outputs.preview_tag }}',
|
|
sha: '${{ steps.commit.outputs.commit }}'
|
|
})
|
|
github-token: ${{ steps.generate-token.outputs.token }}
|
|
promote_to_stable:
|
|
needs:
|
|
- resolve_versions
|
|
if: inputs.target == 'all' || inputs.target == 'stable'
|
|
runs-on: namespace-profile-16x32-ubuntu-2204
|
|
steps:
|
|
- id: generate-token
|
|
name: steps::authenticate_as_zippy
|
|
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859
|
|
with:
|
|
app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
|
|
private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
|
|
- name: steps::checkout_repo
|
|
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
|
|
with:
|
|
clean: false
|
|
ref: ${{ needs.resolve_versions.outputs.stable_branch }}
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
- id: stable-info
|
|
name: bump_zed_version::promote_to_stable
|
|
run: |
|
|
stable_version=$(script/get-crate-version zed)
|
|
{
|
|
echo "stable_tag=v${stable_version}"
|
|
} >> "$GITHUB_OUTPUT"
|
|
- name: bump_zed_version::promote_to_stable
|
|
run: echo -n stable > crates/zed/RELEASE_CHANNEL
|
|
- id: commit
|
|
name: steps::bot_commit
|
|
uses: IAreKyleW00t/verified-bot-commit@126a6a11889ab05bcff72ec2403c326cd249b84c
|
|
with:
|
|
message: ${{ needs.resolve_versions.outputs.stable_branch }} stable for @${{ github.actor }}
|
|
ref: refs/heads/${{ needs.resolve_versions.outputs.stable_branch }}
|
|
files: crates/zed/RELEASE_CHANNEL
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
- name: steps::create_tag
|
|
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b
|
|
with:
|
|
script: |
|
|
github.rest.git.createRef({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
ref: 'refs/tags/${{ steps.stable-info.outputs.stable_tag }}',
|
|
sha: '${{ steps.commit.outputs.commit }}'
|
|
})
|
|
github-token: ${{ steps.generate-token.outputs.token }}
|
|
defaults:
|
|
run:
|
|
shell: bash -euxo pipefail {0}
|