mirror of
https://github.com/zed-industries/zed.git
synced 2026-07-09 16:00:35 +00:00
This slightly reworks the extension CLI bump workflow - instead of triggering on label push, it now triggers on workflow dispatch with a message enforced to be added there. This primarily allows us to add a message to these bumps to better communicate what changes with that version of the CLI. Furthermore, we can soon restrict the label to be only created by that workflow, which has the advantage that it can only be based off of main. Also, it has the nice side-effect that we actually only ever update the label if everything worked properly. Release Notes: - N/A
155 lines
6.5 KiB
YAML
155 lines
6.5 KiB
YAML
# Generated from xtask::workflows::publish_extension_cli
|
|
# Rebuild with `cargo xtask workflows`.
|
|
name: publish_extension_cli
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
CARGO_INCREMENTAL: '0'
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
message:
|
|
description: Describe why the extension CLI is being bumped and/or what changes are included.
|
|
required: true
|
|
type: string
|
|
jobs:
|
|
publish_job:
|
|
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && github.ref == 'refs/heads/main'
|
|
runs-on: namespace-profile-16x32-ubuntu-2204
|
|
steps:
|
|
- name: steps::checkout_repo
|
|
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
|
|
with:
|
|
clean: false
|
|
- name: steps::cache_rust_dependencies_namespace
|
|
uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
|
|
with:
|
|
cache: rust
|
|
path: ~/.rustup
|
|
- name: steps::setup_linux
|
|
run: ./script/linux
|
|
- name: publish_extension_cli::publish_job::build_extension_cli
|
|
run: cargo build --release --package extension_cli
|
|
- name: publish_extension_cli::publish_job::upload_binary
|
|
run: script/upload-extension-cli "$GITHUB_SHA"
|
|
env:
|
|
DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
|
|
DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
|
|
- 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 }}
|
|
permission-contents: write
|
|
- name: steps::update_tag
|
|
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b
|
|
with:
|
|
script: |
|
|
github.rest.git.updateRef({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
ref: 'tags/extension-cli',
|
|
sha: context.sha,
|
|
force: true
|
|
})
|
|
github-token: ${{ steps.generate-token.outputs.token }}
|
|
update_sha_in_zed:
|
|
needs:
|
|
- publish_job
|
|
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && github.ref == 'refs/heads/main'
|
|
runs-on: namespace-profile-8x16-ubuntu-2204
|
|
steps:
|
|
- id: generate-token
|
|
name: steps::generate_token
|
|
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
|
|
- name: steps::cache_rust_dependencies_namespace
|
|
uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
|
|
with:
|
|
cache: rust
|
|
path: ~/.rustup
|
|
- id: short-sha
|
|
name: publish_extension_cli::get_short_sha
|
|
run: |
|
|
echo "sha_short=$(echo "$GITHUB_SHA" | cut -c1-7)" >> "$GITHUB_OUTPUT"
|
|
- name: publish_extension_cli::update_sha_in_zed::replace_sha
|
|
run: |
|
|
sed -i "s/ZED_EXTENSION_CLI_SHA: &str = \"[a-f0-9]*\"/ZED_EXTENSION_CLI_SHA: \&str = \"$GITHUB_SHA\"/" \
|
|
tooling/xtask/src/tasks/workflows/extension_tests.rs
|
|
- name: publish_extension_cli::update_sha_in_zed::regenerate_workflows
|
|
run: cargo xtask workflows
|
|
- name: steps::create_pull_request
|
|
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
|
|
with:
|
|
title: 'extension_ci: Bump extension CLI version to `${{ steps.short-sha.outputs.sha_short }}`'
|
|
body: |
|
|
This PR bumps the extension CLI version used in the extension workflows to `${{ github.sha }}`.
|
|
|
|
${{ inputs.message }}
|
|
|
|
Release Notes:
|
|
|
|
- N/A
|
|
commit-message: 'extension_ci: Bump extension CLI version to `${{ steps.short-sha.outputs.sha_short }}`'
|
|
branch: update-extension-cli-sha
|
|
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 }}
|
|
update_sha_in_extensions:
|
|
needs:
|
|
- publish_job
|
|
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && github.ref == 'refs/heads/main'
|
|
runs-on: namespace-profile-2x4-ubuntu-2404
|
|
steps:
|
|
- id: generate-token
|
|
name: steps::generate_token
|
|
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859
|
|
with:
|
|
app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
|
|
private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
|
|
owner: zed-industries
|
|
repositories: extensions
|
|
- id: short-sha
|
|
name: publish_extension_cli::get_short_sha
|
|
run: |
|
|
echo "sha_short=$(echo "$GITHUB_SHA" | cut -c1-7)" >> "$GITHUB_OUTPUT"
|
|
- name: publish_extension_cli::update_sha_in_extensions::checkout_extensions_repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
with:
|
|
repository: zed-industries/extensions
|
|
token: ${{ steps.generate-token.outputs.token }}
|
|
- name: publish_extension_cli::update_sha_in_extensions::replace_sha
|
|
run: |
|
|
sed -i "s/ZED_EXTENSION_CLI_SHA: [a-f0-9]*/ZED_EXTENSION_CLI_SHA: $GITHUB_SHA/" \
|
|
.github/workflows/ci.yml
|
|
- name: steps::create_pull_request
|
|
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
|
|
with:
|
|
title: Bump extension CLI version to `${{ steps.short-sha.outputs.sha_short }}`
|
|
body: |
|
|
This PR bumps the extension CLI version to https://github.com/zed-industries/zed/commit/${{ github.sha }}.
|
|
|
|
${{ inputs.message }}
|
|
commit-message: Bump extension CLI version to `${{ steps.short-sha.outputs.sha_short }}`
|
|
branch: update-extension-cli-sha
|
|
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 }}
|
|
labels: allow-no-extension
|
|
defaults:
|
|
run:
|
|
shell: bash -euxo pipefail {0}
|