Format YAML files (#7887)
This PR formats the YAML files in the repo with Prettier. Release Notes: - N/A
This commit is contained in:
parent
ab6b9196e1
commit
a161a7d0c9
13 changed files with 479 additions and 476 deletions
38
.github/ISSUE_TEMPLATE/0_feature_request.yml
vendored
38
.github/ISSUE_TEMPLATE/0_feature_request.yml
vendored
|
@ -2,23 +2,23 @@ name: Feature Request
|
||||||
description: "Tip: open this issue template from within Zed with the `request feature` command palette action"
|
description: "Tip: open this issue template from within Zed with the `request feature` command palette action"
|
||||||
labels: ["admin read", "triage", "enhancement"]
|
labels: ["admin read", "triage", "enhancement"]
|
||||||
body:
|
body:
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
attributes:
|
attributes:
|
||||||
label: Check for existing issues
|
label: Check for existing issues
|
||||||
description: Check the backlog of issues to reduce the chances of creating duplicates; if an issue already exists, place a `+1` (👍) on it.
|
description: Check the backlog of issues to reduce the chances of creating duplicates; if an issue already exists, place a `+1` (👍) on it.
|
||||||
options:
|
options:
|
||||||
- label: Completed
|
- label: Completed
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Describe the feature
|
|
||||||
description: A clear and concise description of what you want to happen.
|
|
||||||
validations:
|
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: |
|
label: Describe the feature
|
||||||
If applicable, add mockups / screenshots to help present your vision of the feature
|
description: A clear and concise description of what you want to happen.
|
||||||
description: Drag images into the text input below
|
validations:
|
||||||
validations:
|
required: true
|
||||||
required: false
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: |
|
||||||
|
If applicable, add mockups / screenshots to help present your vision of the feature
|
||||||
|
description: Drag images into the text input below
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
82
.github/ISSUE_TEMPLATE/1_language_support.yml
vendored
82
.github/ISSUE_TEMPLATE/1_language_support.yml
vendored
|
@ -2,46 +2,46 @@ name: Language Support
|
||||||
description: Request language support
|
description: Request language support
|
||||||
title: "<name_of_language> support"
|
title: "<name_of_language> support"
|
||||||
labels:
|
labels:
|
||||||
[
|
[
|
||||||
"admin read",
|
"admin read",
|
||||||
"triage",
|
"triage",
|
||||||
"enhancement",
|
"enhancement",
|
||||||
"language",
|
"language",
|
||||||
"unsupported language",
|
"unsupported language",
|
||||||
"potential extension",
|
"potential extension",
|
||||||
]
|
]
|
||||||
body:
|
body:
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
attributes:
|
attributes:
|
||||||
label: Check for existing issues
|
label: Check for existing issues
|
||||||
description: Check the backlog of issues to reduce the chances of creating duplicates; if an issue already exists, place a `+1` (👍) on it.
|
description: Check the backlog of issues to reduce the chances of creating duplicates; if an issue already exists, place a `+1` (👍) on it.
|
||||||
options:
|
options:
|
||||||
- label: Completed
|
- label: Completed
|
||||||
required: true
|
|
||||||
- type: input
|
|
||||||
attributes:
|
|
||||||
label: Language
|
|
||||||
description: What language do you want support for?
|
|
||||||
placeholder: HTML
|
|
||||||
validations:
|
|
||||||
required: true
|
required: true
|
||||||
- type: input
|
- type: input
|
||||||
attributes:
|
attributes:
|
||||||
label: Tree Sitter parser link
|
label: Language
|
||||||
description: If applicable, provide a link to the appropriate tree sitter parser. Look here first - https://tree-sitter.github.io/tree-sitter/#available-parsers
|
description: What language do you want support for?
|
||||||
placeholder: https://github.com/tree-sitter/tree-sitter-html
|
placeholder: HTML
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: true
|
||||||
- type: input
|
- type: input
|
||||||
attributes:
|
attributes:
|
||||||
label: Language server link
|
label: Tree Sitter parser link
|
||||||
description: If applicable, provide a link to the appropriate language server. Look here first - https://microsoft.github.io/language-server-protocol/implementors/servers/
|
description: If applicable, provide a link to the appropriate tree sitter parser. Look here first - https://tree-sitter.github.io/tree-sitter/#available-parsers
|
||||||
placeholder: https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server
|
placeholder: https://github.com/tree-sitter/tree-sitter-html
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: false
|
||||||
- type: textarea
|
- type: input
|
||||||
attributes:
|
attributes:
|
||||||
label: Misc notes
|
label: Language server link
|
||||||
description: Provide any additional things the team should consider when adding support for this language
|
description: If applicable, provide a link to the appropriate language server. Look here first - https://microsoft.github.io/language-server-protocol/implementors/servers/
|
||||||
validations:
|
placeholder: https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server
|
||||||
required: false
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Misc notes
|
||||||
|
description: Provide any additional things the team should consider when adding support for this language
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
66
.github/ISSUE_TEMPLATE/2_bug_report.yml
vendored
66
.github/ISSUE_TEMPLATE/2_bug_report.yml
vendored
|
@ -2,37 +2,37 @@ name: Bug Report
|
||||||
description: "Tip: open this issue template from within Zed with the `file bug report` command palette action"
|
description: "Tip: open this issue template from within Zed with the `file bug report` command palette action"
|
||||||
labels: ["admin read", "triage", "defect"]
|
labels: ["admin read", "triage", "defect"]
|
||||||
body:
|
body:
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
attributes:
|
attributes:
|
||||||
label: Check for existing issues
|
label: Check for existing issues
|
||||||
description: Check the backlog of issues to reduce the chances of creating duplicates; if an issue already exists, place a `+1` (👍) on it.
|
description: Check the backlog of issues to reduce the chances of creating duplicates; if an issue already exists, place a `+1` (👍) on it.
|
||||||
options:
|
options:
|
||||||
- label: Completed
|
- label: Completed
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Describe the bug / provide steps to reproduce it
|
|
||||||
description: A clear and concise description of what the bug is.
|
|
||||||
validations:
|
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: environment
|
attributes:
|
||||||
attributes:
|
label: Describe the bug / provide steps to reproduce it
|
||||||
label: Environment
|
description: A clear and concise description of what the bug is.
|
||||||
description: Run the `copy system specs into clipboard` command palette action and paste the output in the field below.
|
validations:
|
||||||
validations:
|
required: true
|
||||||
required: true
|
- type: textarea
|
||||||
- type: textarea
|
id: environment
|
||||||
attributes:
|
attributes:
|
||||||
label: If applicable, add mockups / screenshots to help explain present your vision of the feature
|
label: Environment
|
||||||
description: Drag issues into the text input below
|
description: Run the `copy system specs into clipboard` command palette action and paste the output in the field below.
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: |
|
label: If applicable, add mockups / screenshots to help explain present your vision of the feature
|
||||||
If applicable, attach your `~/Library/Logs/Zed/Zed.log` file to this issue.
|
description: Drag issues into the text input below
|
||||||
If you only need the most recent lines, you can run the `zed: open log` command palette action to see the last 1000.
|
validations:
|
||||||
description: Drag Zed.log into the text input below
|
required: false
|
||||||
validations:
|
- type: textarea
|
||||||
required: false
|
attributes:
|
||||||
|
label: |
|
||||||
|
If applicable, attach your `~/Library/Logs/Zed/Zed.log` file to this issue.
|
||||||
|
If you only need the most recent lines, you can run the `zed: open log` command palette action to see the last 1000.
|
||||||
|
description: Drag Zed.log into the text input below
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
24
.github/ISSUE_TEMPLATE/config.yml
vendored
24
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,13 +1,13 @@
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: Theme Request
|
- name: Theme Request
|
||||||
url: https://github.com/zed-industries/extensions/issues/new/choose
|
url: https://github.com/zed-industries/extensions/issues/new/choose
|
||||||
about: Request a theme in the extensions repository
|
about: Request a theme in the extensions repository
|
||||||
- name: Top-Ranking Issues
|
- name: Top-Ranking Issues
|
||||||
url: https://github.com/zed-industries/zed/issues/5393
|
url: https://github.com/zed-industries/zed/issues/5393
|
||||||
about: See an overview of the most popular Zed issues
|
about: See an overview of the most popular Zed issues
|
||||||
- name: Platform Support
|
- name: Platform Support
|
||||||
url: https://github.com/zed-industries/zed/issues/5391
|
url: https://github.com/zed-industries/zed/issues/5391
|
||||||
about: A quick note on platform support
|
about: A quick note on platform support
|
||||||
- name: Positive Feedback
|
- name: Positive Feedback
|
||||||
url: https://github.com/zed-industries/zed/discussions/5397
|
url: https://github.com/zed-industries/zed/discussions/5397
|
||||||
about: A central location for kind words about Zed
|
about: A central location for kind words about Zed
|
||||||
|
|
20
.github/actions/check_style/action.yml
vendored
20
.github/actions/check_style/action.yml
vendored
|
@ -2,14 +2,14 @@ name: "Check formatting"
|
||||||
description: "Checks code formatting use cargo fmt"
|
description: "Checks code formatting use cargo fmt"
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: cargo fmt
|
- name: cargo fmt
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: cargo fmt --all -- --check
|
run: cargo fmt --all -- --check
|
||||||
|
|
||||||
- name: Find modified migrations
|
- name: Find modified migrations
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: |
|
run: |
|
||||||
export SQUAWK_GITHUB_TOKEN=${{ github.token }}
|
export SQUAWK_GITHUB_TOKEN=${{ github.token }}
|
||||||
. ./script/squawk
|
. ./script/squawk
|
||||||
|
|
32
.github/actions/run_tests/action.yml
vendored
32
.github/actions/run_tests/action.yml
vendored
|
@ -2,22 +2,22 @@ name: "Run tests"
|
||||||
description: "Runs the tests"
|
description: "Runs the tests"
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: |
|
run: |
|
||||||
cargo install cargo-nextest
|
cargo install cargo-nextest
|
||||||
|
|
||||||
- name: Install Node
|
- name: Install Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "18"
|
node-version: "18"
|
||||||
|
|
||||||
- name: Limit target directory size
|
- name: Limit target directory size
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: script/clear-target-dir-if-larger-than 100
|
run: script/clear-target-dir-if-larger-than 100
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: cargo nextest run --workspace --no-fail-fast
|
run: cargo nextest run --workspace --no-fail-fast
|
||||||
|
|
366
.github/workflows/ci.yml
vendored
366
.github/workflows/ci.yml
vendored
|
@ -1,209 +1,209 @@
|
||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- "v[0-9]+.[0-9]+.x"
|
- "v[0-9]+.[0-9]+.x"
|
||||||
tags:
|
tags:
|
||||||
- "v*"
|
- "v*"
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- "**"
|
- "**"
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
# Allow only one workflow per any non-`main` branch.
|
# Allow only one workflow per any non-`main` branch.
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
|
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
CARGO_INCREMENTAL: 0
|
CARGO_INCREMENTAL: 0
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
style:
|
style:
|
||||||
name: Check formatting and spelling
|
name: Check formatting and spelling
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- test
|
- test
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: false
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Remove untracked files
|
- name: Remove untracked files
|
||||||
run: git clean -df
|
run: git clean -df
|
||||||
|
|
||||||
- name: Set up default .cargo/config.toml
|
- name: Set up default .cargo/config.toml
|
||||||
run: cp ./.cargo/ci-config.toml ~/.cargo/config.toml
|
run: cp ./.cargo/ci-config.toml ~/.cargo/config.toml
|
||||||
|
|
||||||
- name: Check spelling
|
- name: Check spelling
|
||||||
run: |
|
run: |
|
||||||
if ! which typos > /dev/null; then
|
if ! which typos > /dev/null; then
|
||||||
cargo install typos-cli
|
cargo install typos-cli
|
||||||
fi
|
fi
|
||||||
typos
|
typos
|
||||||
|
|
||||||
- name: Run style checks
|
- name: Run style checks
|
||||||
uses: ./.github/actions/check_style
|
uses: ./.github/actions/check_style
|
||||||
|
|
||||||
- name: Ensure fresh merge
|
- name: Ensure fresh merge
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: |
|
run: |
|
||||||
if [ -z "$GITHUB_BASE_REF" ];
|
if [ -z "$GITHUB_BASE_REF" ];
|
||||||
then
|
then
|
||||||
echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> $GITHUB_ENV
|
echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> $GITHUB_ENV
|
||||||
else
|
else
|
||||||
git checkout -B temp
|
git checkout -B temp
|
||||||
git merge -q origin/$GITHUB_BASE_REF -m "merge main into temp"
|
git merge -q origin/$GITHUB_BASE_REF -m "merge main into temp"
|
||||||
echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> $GITHUB_ENV
|
echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- uses: bufbuild/buf-setup-action@v1
|
- uses: bufbuild/buf-setup-action@v1
|
||||||
- uses: bufbuild/buf-breaking-action@v1
|
- uses: bufbuild/buf-breaking-action@v1
|
||||||
with:
|
with:
|
||||||
input: "crates/rpc/proto/"
|
input: "crates/rpc/proto/"
|
||||||
against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/rpc/proto/"
|
against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/rpc/proto/"
|
||||||
|
|
||||||
macos_tests:
|
macos_tests:
|
||||||
name: (macOS) Run Clippy and tests
|
name: (macOS) Run Clippy and tests
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- test
|
- test
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: false
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
|
|
||||||
- name: cargo clippy
|
- name: cargo clippy
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: script/clippy
|
run: script/clippy
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
uses: ./.github/actions/run_tests
|
uses: ./.github/actions/run_tests
|
||||||
|
|
||||||
- name: Build collab
|
- name: Build collab
|
||||||
run: cargo build -p collab
|
run: cargo build -p collab
|
||||||
|
|
||||||
- name: Build other binaries
|
- name: Build other binaries
|
||||||
run: cargo build --workspace --bins --all-features
|
run: cargo build --workspace --bins --all-features
|
||||||
|
|
||||||
# todo!(linux): Actually run the tests
|
# todo!(linux): Actually run the tests
|
||||||
linux_tests:
|
linux_tests:
|
||||||
name: (Linux) Run Clippy and tests
|
name: (Linux) Run Clippy and tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: false
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
|
|
||||||
- name: Restore from cache
|
- name: Restore from cache
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.cargo/bin/
|
~/.cargo/bin/
|
||||||
~/.cargo/registry/index/
|
~/.cargo/registry/index/
|
||||||
~/.cargo/registry/cache/
|
~/.cargo/registry/cache/
|
||||||
~/.cargo/git/db/
|
~/.cargo/git/db/
|
||||||
target/
|
target/
|
||||||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}-${{ hashFiles('**/Cargo.lock') }}
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}-${{ hashFiles('**/Cargo.lock') }}
|
||||||
restore-keys: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}-
|
restore-keys: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}-
|
||||||
|
|
||||||
- name: configure linux
|
- name: configure linux
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: script/linux
|
run: script/linux
|
||||||
|
|
||||||
- name: cargo clippy
|
- name: cargo clippy
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: script/clippy
|
run: script/clippy
|
||||||
|
|
||||||
- name: Build Zed
|
- name: Build Zed
|
||||||
run: cargo build -p zed
|
run: cargo build -p zed
|
||||||
bundle:
|
bundle:
|
||||||
name: Bundle macOS app
|
name: Bundle macOS app
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- bundle
|
- bundle
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }}
|
||||||
needs: [macos_tests]
|
needs: [macos_tests]
|
||||||
|
env:
|
||||||
|
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
||||||
|
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
|
||||||
|
APPLE_NOTARIZATION_USERNAME: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
|
||||||
|
APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
|
||||||
|
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||||
|
DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
|
||||||
|
DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
|
||||||
|
steps:
|
||||||
|
- name: Install Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "18"
|
||||||
|
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
clean: false
|
||||||
|
submodules: "recursive"
|
||||||
|
|
||||||
|
- name: Limit target directory size
|
||||||
|
run: script/clear-target-dir-if-larger-than 100
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- name: Generate license file
|
||||||
|
run: script/generate-licenses
|
||||||
|
|
||||||
|
- name: Create app bundle
|
||||||
|
run: script/bundle
|
||||||
|
|
||||||
|
- name: Upload app bundle to workflow run if main branch or specific label
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: ${{ github.ref == 'refs/heads/main' }} || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }}
|
||||||
|
with:
|
||||||
|
name: Zed_${{ github.event.pull_request.head.sha || github.sha }}.dmg
|
||||||
|
path: target/release/Zed.dmg
|
||||||
|
|
||||||
|
- uses: softprops/action-gh-release@v1
|
||||||
|
name: Upload app bundle to release
|
||||||
|
if: ${{ env.RELEASE_CHANNEL == 'preview' || env.RELEASE_CHANNEL == 'stable' }}
|
||||||
|
with:
|
||||||
|
draft: true
|
||||||
|
prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }}
|
||||||
|
files: target/release/Zed.dmg
|
||||||
|
body: ""
|
||||||
env:
|
env:
|
||||||
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
|
|
||||||
APPLE_NOTARIZATION_USERNAME: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
|
|
||||||
APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
|
|
||||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
|
||||||
DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
|
|
||||||
DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
|
|
||||||
steps:
|
|
||||||
- name: Install Node
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "18"
|
|
||||||
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
clean: false
|
|
||||||
submodules: "recursive"
|
|
||||||
|
|
||||||
- name: Limit target directory size
|
|
||||||
run: script/clear-target-dir-if-larger-than 100
|
|
||||||
|
|
||||||
- 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
|
|
||||||
|
|
||||||
- name: Generate license file
|
|
||||||
run: script/generate-licenses
|
|
||||||
|
|
||||||
- name: Create app bundle
|
|
||||||
run: script/bundle
|
|
||||||
|
|
||||||
- name: Upload app bundle to workflow run if main branch or specific label
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: ${{ github.ref == 'refs/heads/main' }} || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }}
|
|
||||||
with:
|
|
||||||
name: Zed_${{ github.event.pull_request.head.sha || github.sha }}.dmg
|
|
||||||
path: target/release/Zed.dmg
|
|
||||||
|
|
||||||
- uses: softprops/action-gh-release@v1
|
|
||||||
name: Upload app bundle to release
|
|
||||||
if: ${{ env.RELEASE_CHANNEL == 'preview' || env.RELEASE_CHANNEL == 'stable' }}
|
|
||||||
with:
|
|
||||||
draft: true
|
|
||||||
prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }}
|
|
||||||
files: target/release/Zed.dmg
|
|
||||||
body: ""
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
50
.github/workflows/danger.yml
vendored
50
.github/workflows/danger.yml
vendored
|
@ -1,35 +1,35 @@
|
||||||
name: Danger
|
name: Danger
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- edited
|
- edited
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
danger:
|
danger:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v3
|
- uses: pnpm/action-setup@v3
|
||||||
with:
|
with:
|
||||||
version: 8
|
version: 8
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "20"
|
node-version: "20"
|
||||||
cache: "pnpm"
|
cache: "pnpm"
|
||||||
cache-dependency-path: "script/danger/pnpm-lock.yaml"
|
cache-dependency-path: "script/danger/pnpm-lock.yaml"
|
||||||
|
|
||||||
- run: pnpm install --dir script/danger
|
- run: pnpm install --dir script/danger
|
||||||
|
|
||||||
- name: Run Danger
|
- name: Run Danger
|
||||||
run: pnpm run --dir script/danger danger ci
|
run: pnpm run --dir script/danger danger ci
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ github.token }}
|
GITHUB_TOKEN: ${{ github.token }}
|
||||||
|
|
52
.github/workflows/randomized_tests.yml
vendored
52
.github/workflows/randomized_tests.yml
vendored
|
@ -3,35 +3,35 @@ name: Randomized Tests
|
||||||
concurrency: randomized-tests
|
concurrency: randomized-tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- randomized-tests-runner
|
- randomized-tests-runner
|
||||||
# schedule:
|
# schedule:
|
||||||
# - cron: '0 * * * *'
|
# - cron: '0 * * * *'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
CARGO_INCREMENTAL: 0
|
CARGO_INCREMENTAL: 0
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
ZED_SERVER_URL: https://zed.dev
|
ZED_SERVER_URL: https://zed.dev
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
tests:
|
||||||
name: Run randomized tests
|
name: Run randomized tests
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- randomized-tests
|
- randomized-tests
|
||||||
steps:
|
steps:
|
||||||
- name: Install Node
|
- name: Install Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "18"
|
node-version: "18"
|
||||||
|
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: false
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
|
|
||||||
- name: Run randomized tests
|
- name: Run randomized tests
|
||||||
run: script/randomized-test-ci
|
run: script/randomized-test-ci
|
||||||
|
|
162
.github/workflows/release_nightly.yml
vendored
162
.github/workflows/release_nightly.yml
vendored
|
@ -1,98 +1,98 @@
|
||||||
name: Release Nightly
|
name: Release Nightly
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
# Fire every day at 7:00am UTC (Roughly before EU workday and after US workday)
|
# Fire every day at 7:00am UTC (Roughly before EU workday and after US workday)
|
||||||
- cron: "0 7 * * *"
|
- cron: "0 7 * * *"
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- "nightly"
|
- "nightly"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
CARGO_INCREMENTAL: 0
|
CARGO_INCREMENTAL: 0
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
style:
|
style:
|
||||||
name: Check formatting and Clippy lints
|
name: Check formatting and Clippy lints
|
||||||
if: github.repository_owner == 'zed-industries'
|
if: github.repository_owner == 'zed-industries'
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- test
|
- test
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: false
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Run style checks
|
- name: Run style checks
|
||||||
uses: ./.github/actions/check_style
|
uses: ./.github/actions/check_style
|
||||||
|
|
||||||
- name: Run clippy
|
- name: Run clippy
|
||||||
shell: bash -euxo pipefail {0}
|
shell: bash -euxo pipefail {0}
|
||||||
run: script/clippy
|
run: script/clippy
|
||||||
tests:
|
tests:
|
||||||
name: Run tests
|
name: Run tests
|
||||||
if: github.repository_owner == 'zed-industries'
|
if: github.repository_owner == 'zed-industries'
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- test
|
- test
|
||||||
needs: style
|
needs: style
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: false
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
uses: ./.github/actions/run_tests
|
uses: ./.github/actions/run_tests
|
||||||
|
|
||||||
bundle:
|
bundle:
|
||||||
name: Bundle app
|
name: Bundle app
|
||||||
if: github.repository_owner == 'zed-industries'
|
if: github.repository_owner == 'zed-industries'
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- bundle
|
- bundle
|
||||||
needs: tests
|
needs: tests
|
||||||
env:
|
env:
|
||||||
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
||||||
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
|
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
|
||||||
APPLE_NOTARIZATION_USERNAME: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
|
APPLE_NOTARIZATION_USERNAME: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
|
||||||
APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
|
APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
|
||||||
DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
|
DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
|
||||||
DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
|
DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
|
||||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||||
steps:
|
steps:
|
||||||
- name: Install Node
|
- name: Install Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "18"
|
node-version: "18"
|
||||||
|
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: false
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
|
|
||||||
- name: Limit target directory size
|
- name: Limit target directory size
|
||||||
run: script/clear-target-dir-if-larger-than 100
|
run: script/clear-target-dir-if-larger-than 100
|
||||||
|
|
||||||
- name: Set release channel to nightly
|
- name: Set release channel to nightly
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
version=$(git rev-parse --short HEAD)
|
version=$(git rev-parse --short HEAD)
|
||||||
echo "Publishing version: ${version} on release channel nightly"
|
echo "Publishing version: ${version} on release channel nightly"
|
||||||
echo "nightly" > crates/zed/RELEASE_CHANNEL
|
echo "nightly" > crates/zed/RELEASE_CHANNEL
|
||||||
|
|
||||||
- name: Generate license file
|
- name: Generate license file
|
||||||
run: script/generate-licenses
|
run: script/generate-licenses
|
||||||
|
|
||||||
- name: Create app bundle
|
- name: Create app bundle
|
||||||
run: script/bundle
|
run: script/bundle
|
||||||
|
|
||||||
- name: Upload Zed Nightly
|
- name: Upload Zed Nightly
|
||||||
run: script/upload-nightly
|
run: script/upload-nightly
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 */12 * * *"
|
- cron: "0 */12 * * *"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update_top_ranking_issues:
|
update_top_ranking_issues:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.repository_owner == 'zed-industries'
|
if: github.repository_owner == 'zed-industries'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: "3.10.5"
|
python-version: "3.10.5"
|
||||||
architecture: "x64"
|
architecture: "x64"
|
||||||
cache: "pip"
|
cache: "pip"
|
||||||
- run: pip install -r script/update_top_ranking_issues/requirements.txt
|
- run: pip install -r script/update_top_ranking_issues/requirements.txt
|
||||||
- run: python script/update_top_ranking_issues/main.py 5393 --github-token ${{ secrets.GITHUB_TOKEN }} --prod
|
- run: python script/update_top_ranking_issues/main.py 5393 --github-token ${{ secrets.GITHUB_TOKEN }} --prod
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 15 * * *"
|
- cron: "0 15 * * *"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update_top_ranking_issues:
|
update_top_ranking_issues:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.repository_owner == 'zed-industries'
|
if: github.repository_owner == 'zed-industries'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: "3.10.5"
|
python-version: "3.10.5"
|
||||||
architecture: "x64"
|
architecture: "x64"
|
||||||
cache: "pip"
|
cache: "pip"
|
||||||
- run: pip install -r script/update_top_ranking_issues/requirements.txt
|
- run: pip install -r script/update_top_ranking_issues/requirements.txt
|
||||||
- run: python script/update_top_ranking_issues/main.py 6952 --github-token ${{ secrets.GITHUB_TOKEN }} --prod --query-day-interval 7
|
- run: python script/update_top_ranking_issues/main.py 6952 --github-token ${{ secrets.GITHUB_TOKEN }} --prod --query-day-interval 7
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
"TOML": {
|
"TOML": {
|
||||||
"formatter": "prettier",
|
"formatter": "prettier",
|
||||||
"format_on_save": "off"
|
"format_on_save": "off"
|
||||||
|
},
|
||||||
|
"YAML": {
|
||||||
|
"formatter": "prettier"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"formatter": "auto"
|
"formatter": "auto"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue