mirror of
https://github.com/zed-industries/zed.git
synced 2026-06-01 03:14:56 +07:00
This PR brings back the button to filter remote branches when accessing the title bar's branch picker with the mouse. It was unintentionally removed when we introduced the new worktree picker. Release Notes: - N/A
226 lines
8.9 KiB
YAML
226 lines
8.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
|
|
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
|
|
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}
|