diff --git a/.github/ISSUE_TEMPLATE/0_feature_request.yml b/.github/ISSUE_TEMPLATE/0_feature_request.yml index c5e1fa9237..d8dc7950f6 100644 --- a/.github/ISSUE_TEMPLATE/0_feature_request.yml +++ b/.github/ISSUE_TEMPLATE/0_feature_request.yml @@ -2,23 +2,23 @@ name: Feature Request description: "Tip: open this issue template from within Zed with the `request feature` command palette action" labels: ["admin read", "triage", "enhancement"] body: - - type: checkboxes - attributes: - 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. - options: - - label: Completed - required: true - - type: textarea - attributes: - label: Describe the feature - description: A clear and concise description of what you want to happen. - validations: + - type: checkboxes + attributes: + 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. + options: + - label: Completed required: true - - 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 + - type: textarea + attributes: + label: Describe the feature + description: A clear and concise description of what you want to happen. + validations: + required: true + - 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 diff --git a/.github/ISSUE_TEMPLATE/1_language_support.yml b/.github/ISSUE_TEMPLATE/1_language_support.yml index 1b80db5c3d..d56f7056bc 100644 --- a/.github/ISSUE_TEMPLATE/1_language_support.yml +++ b/.github/ISSUE_TEMPLATE/1_language_support.yml @@ -2,46 +2,46 @@ name: Language Support description: Request language support title: " support" labels: - [ - "admin read", - "triage", - "enhancement", - "language", - "unsupported language", - "potential extension", - ] + [ + "admin read", + "triage", + "enhancement", + "language", + "unsupported language", + "potential extension", + ] body: - - type: checkboxes - attributes: - 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. - options: - - label: Completed - required: true - - type: input - attributes: - label: Language - description: What language do you want support for? - placeholder: HTML - validations: + - type: checkboxes + attributes: + 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. + options: + - label: Completed required: true - - type: input - attributes: - label: Tree Sitter parser link - 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/tree-sitter/tree-sitter-html - validations: - required: false - - type: input - attributes: - label: Language server link - description: If applicable, provide a link to the appropriate language server. Look here first - https://microsoft.github.io/language-server-protocol/implementors/servers/ - placeholder: https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server - 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 + - type: input + attributes: + label: Language + description: What language do you want support for? + placeholder: HTML + validations: + required: true + - type: input + attributes: + label: Tree Sitter parser link + 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/tree-sitter/tree-sitter-html + validations: + required: false + - type: input + attributes: + label: Language server link + description: If applicable, provide a link to the appropriate language server. Look here first - https://microsoft.github.io/language-server-protocol/implementors/servers/ + placeholder: https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server + 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 diff --git a/.github/ISSUE_TEMPLATE/2_bug_report.yml b/.github/ISSUE_TEMPLATE/2_bug_report.yml index bb8f6ccfcd..a1c1b56088 100644 --- a/.github/ISSUE_TEMPLATE/2_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/2_bug_report.yml @@ -2,37 +2,37 @@ name: Bug Report description: "Tip: open this issue template from within Zed with the `file bug report` command palette action" labels: ["admin read", "triage", "defect"] body: - - type: checkboxes - attributes: - 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. - options: - - 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: + - type: checkboxes + attributes: + 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. + options: + - label: Completed required: true - - type: textarea - id: environment - attributes: - label: Environment - description: Run the `copy system specs into clipboard` command palette action and paste the output in the field below. - validations: - required: true - - type: textarea - attributes: - label: If applicable, add mockups / screenshots to help explain present your vision of the feature - description: Drag issues into the text input below - validations: - required: false - - type: textarea - 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 + - 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 + - type: textarea + id: environment + attributes: + label: Environment + description: Run the `copy system specs into clipboard` command palette action and paste the output in the field below. + validations: + required: true + - type: textarea + attributes: + label: If applicable, add mockups / screenshots to help explain present your vision of the feature + description: Drag issues into the text input below + validations: + required: false + - type: textarea + 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 diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 1eb3a76d3c..181afd35bc 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,13 +1,13 @@ contact_links: - - name: Theme Request - url: https://github.com/zed-industries/extensions/issues/new/choose - about: Request a theme in the extensions repository - - name: Top-Ranking Issues - url: https://github.com/zed-industries/zed/issues/5393 - about: See an overview of the most popular Zed issues - - name: Platform Support - url: https://github.com/zed-industries/zed/issues/5391 - about: A quick note on platform support - - name: Positive Feedback - url: https://github.com/zed-industries/zed/discussions/5397 - about: A central location for kind words about Zed + - name: Theme Request + url: https://github.com/zed-industries/extensions/issues/new/choose + about: Request a theme in the extensions repository + - name: Top-Ranking Issues + url: https://github.com/zed-industries/zed/issues/5393 + about: See an overview of the most popular Zed issues + - name: Platform Support + url: https://github.com/zed-industries/zed/issues/5391 + about: A quick note on platform support + - name: Positive Feedback + url: https://github.com/zed-industries/zed/discussions/5397 + about: A central location for kind words about Zed diff --git a/.github/actions/check_style/action.yml b/.github/actions/check_style/action.yml index 22c7380143..7f41e710c9 100644 --- a/.github/actions/check_style/action.yml +++ b/.github/actions/check_style/action.yml @@ -2,14 +2,14 @@ name: "Check formatting" description: "Checks code formatting use cargo fmt" runs: - using: "composite" - steps: - - name: cargo fmt - shell: bash -euxo pipefail {0} - run: cargo fmt --all -- --check + using: "composite" + steps: + - name: cargo fmt + shell: bash -euxo pipefail {0} + run: cargo fmt --all -- --check - - name: Find modified migrations - shell: bash -euxo pipefail {0} - run: | - export SQUAWK_GITHUB_TOKEN=${{ github.token }} - . ./script/squawk + - name: Find modified migrations + shell: bash -euxo pipefail {0} + run: | + export SQUAWK_GITHUB_TOKEN=${{ github.token }} + . ./script/squawk diff --git a/.github/actions/run_tests/action.yml b/.github/actions/run_tests/action.yml index a37c2759d6..334867dbe3 100644 --- a/.github/actions/run_tests/action.yml +++ b/.github/actions/run_tests/action.yml @@ -2,22 +2,22 @@ name: "Run tests" description: "Runs the tests" runs: - using: "composite" - steps: - - name: Install Rust - shell: bash -euxo pipefail {0} - run: | - cargo install cargo-nextest + using: "composite" + steps: + - name: Install Rust + shell: bash -euxo pipefail {0} + run: | + cargo install cargo-nextest - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "18" + - name: Install Node + uses: actions/setup-node@v4 + with: + node-version: "18" - - name: Limit target directory size - shell: bash -euxo pipefail {0} - run: script/clear-target-dir-if-larger-than 100 + - name: Limit target directory size + shell: bash -euxo pipefail {0} + run: script/clear-target-dir-if-larger-than 100 - - name: Run tests - shell: bash -euxo pipefail {0} - run: cargo nextest run --workspace --no-fail-fast + - name: Run tests + shell: bash -euxo pipefail {0} + run: cargo nextest run --workspace --no-fail-fast diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a3073029c2..9c9ab70384 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,209 +1,209 @@ name: CI on: - push: - branches: - - main - - "v[0-9]+.[0-9]+.x" - tags: - - "v*" - pull_request: - branches: - - "**" + push: + branches: + - main + - "v[0-9]+.[0-9]+.x" + tags: + - "v*" + pull_request: + branches: + - "**" concurrency: - # Allow only one workflow per any non-`main` branch. - group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }} - cancel-in-progress: true + # Allow only one workflow per any non-`main` branch. + group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }} + cancel-in-progress: true env: - CARGO_TERM_COLOR: always - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: 1 + CARGO_TERM_COLOR: always + CARGO_INCREMENTAL: 0 + RUST_BACKTRACE: 1 jobs: - style: - name: Check formatting and spelling - runs-on: - - self-hosted - - test - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - clean: false - submodules: "recursive" - fetch-depth: 0 + style: + name: Check formatting and spelling + runs-on: + - self-hosted + - test + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + clean: false + submodules: "recursive" + fetch-depth: 0 - - name: Remove untracked files - run: git clean -df + - name: Remove untracked files + run: git clean -df - - name: Set up default .cargo/config.toml - run: cp ./.cargo/ci-config.toml ~/.cargo/config.toml + - name: Set up default .cargo/config.toml + run: cp ./.cargo/ci-config.toml ~/.cargo/config.toml - - name: Check spelling - run: | - if ! which typos > /dev/null; then - cargo install typos-cli - fi - typos + - name: Check spelling + run: | + if ! which typos > /dev/null; then + cargo install typos-cli + fi + typos - - name: Run style checks - uses: ./.github/actions/check_style + - name: Run style checks + uses: ./.github/actions/check_style - - name: Ensure fresh merge - shell: bash -euxo pipefail {0} - run: | - if [ -z "$GITHUB_BASE_REF" ]; - then - echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> $GITHUB_ENV - else - git checkout -B temp - git merge -q origin/$GITHUB_BASE_REF -m "merge main into temp" - echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> $GITHUB_ENV - fi + - name: Ensure fresh merge + shell: bash -euxo pipefail {0} + run: | + if [ -z "$GITHUB_BASE_REF" ]; + then + echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> $GITHUB_ENV + else + git checkout -B temp + git merge -q origin/$GITHUB_BASE_REF -m "merge main into temp" + echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> $GITHUB_ENV + fi - - uses: bufbuild/buf-setup-action@v1 - - uses: bufbuild/buf-breaking-action@v1 - with: - input: "crates/rpc/proto/" - against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/rpc/proto/" + - uses: bufbuild/buf-setup-action@v1 + - uses: bufbuild/buf-breaking-action@v1 + with: + input: "crates/rpc/proto/" + against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/rpc/proto/" - macos_tests: - name: (macOS) Run Clippy and tests - runs-on: - - self-hosted - - test - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - clean: false - submodules: "recursive" + macos_tests: + name: (macOS) Run Clippy and tests + runs-on: + - self-hosted + - test + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + clean: false + submodules: "recursive" - - name: cargo clippy - shell: bash -euxo pipefail {0} - run: script/clippy + - name: cargo clippy + shell: bash -euxo pipefail {0} + run: script/clippy - - name: Run tests - uses: ./.github/actions/run_tests + - name: Run tests + uses: ./.github/actions/run_tests - - name: Build collab - run: cargo build -p collab + - name: Build collab + run: cargo build -p collab - - name: Build other binaries - run: cargo build --workspace --bins --all-features + - name: Build other binaries + run: cargo build --workspace --bins --all-features - # todo!(linux): Actually run the tests - linux_tests: - name: (Linux) Run Clippy and tests - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - clean: false - submodules: "recursive" + # todo!(linux): Actually run the tests + linux_tests: + name: (Linux) Run Clippy and tests + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + clean: false + submodules: "recursive" - - name: Restore from cache - uses: actions/cache@v4 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}-${{ hashFiles('**/Cargo.lock') }} - restore-keys: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}- + - name: Restore from cache + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}-${{ hashFiles('**/Cargo.lock') }} + restore-keys: ${{ runner.os }}-cargo-${{ hashFiles('**/rust-toolchain.toml') }}- - - name: configure linux - shell: bash -euxo pipefail {0} - run: script/linux + - name: configure linux + shell: bash -euxo pipefail {0} + run: script/linux - - name: cargo clippy - shell: bash -euxo pipefail {0} - run: script/clippy + - name: cargo clippy + shell: bash -euxo pipefail {0} + run: script/clippy - - name: Build Zed - run: cargo build -p zed - bundle: - name: Bundle macOS app - runs-on: - - self-hosted - - bundle - if: ${{ startsWith(github.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }} - needs: [macos_tests] + - name: Build Zed + run: cargo build -p zed + bundle: + name: Bundle macOS app + runs-on: + - self-hosted + - bundle + if: ${{ startsWith(github.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') }} + 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: - 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: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml index af80d606d1..e3daab45cf 100644 --- a/.github/workflows/danger.yml +++ b/.github/workflows/danger.yml @@ -1,35 +1,35 @@ name: Danger on: - pull_request: - branches: [main] - types: - - opened - - synchronize - - reopened - - edited + pull_request: + branches: [main] + types: + - opened + - synchronize + - reopened + - edited jobs: - danger: - runs-on: ubuntu-latest + danger: + runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 + steps: + - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3 - with: - version: 8 + - uses: pnpm/action-setup@v3 + with: + version: 8 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20" - cache: "pnpm" - cache-dependency-path: "script/danger/pnpm-lock.yaml" + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "pnpm" + cache-dependency-path: "script/danger/pnpm-lock.yaml" - - run: pnpm install --dir script/danger + - run: pnpm install --dir script/danger - - name: Run Danger - run: pnpm run --dir script/danger danger ci - env: - GITHUB_TOKEN: ${{ github.token }} + - name: Run Danger + run: pnpm run --dir script/danger danger ci + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/randomized_tests.yml b/.github/workflows/randomized_tests.yml index 3b41a9fef2..701b65ce07 100644 --- a/.github/workflows/randomized_tests.yml +++ b/.github/workflows/randomized_tests.yml @@ -3,35 +3,35 @@ name: Randomized Tests concurrency: randomized-tests on: - push: - branches: - - randomized-tests-runner - # schedule: - # - cron: '0 * * * *' + push: + branches: + - randomized-tests-runner + # schedule: + # - cron: '0 * * * *' env: - CARGO_TERM_COLOR: always - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: 1 - ZED_SERVER_URL: https://zed.dev + CARGO_TERM_COLOR: always + CARGO_INCREMENTAL: 0 + RUST_BACKTRACE: 1 + ZED_SERVER_URL: https://zed.dev jobs: - tests: - name: Run randomized tests - runs-on: - - self-hosted - - randomized-tests - steps: - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "18" + tests: + name: Run randomized tests + runs-on: + - self-hosted + - randomized-tests + 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: Checkout repo + uses: actions/checkout@v4 + with: + clean: false + submodules: "recursive" - - name: Run randomized tests - run: script/randomized-test-ci + - name: Run randomized tests + run: script/randomized-test-ci diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index e826badb5b..1a7a0f704d 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -1,98 +1,98 @@ name: Release Nightly on: - schedule: - # Fire every day at 7:00am UTC (Roughly before EU workday and after US workday) - - cron: "0 7 * * *" - push: - tags: - - "nightly" + schedule: + # Fire every day at 7:00am UTC (Roughly before EU workday and after US workday) + - cron: "0 7 * * *" + push: + tags: + - "nightly" env: - CARGO_TERM_COLOR: always - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: 1 + CARGO_TERM_COLOR: always + CARGO_INCREMENTAL: 0 + RUST_BACKTRACE: 1 jobs: - style: - name: Check formatting and Clippy lints - if: github.repository_owner == 'zed-industries' - runs-on: - - self-hosted - - test - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - clean: false - submodules: "recursive" - fetch-depth: 0 + style: + name: Check formatting and Clippy lints + if: github.repository_owner == 'zed-industries' + runs-on: + - self-hosted + - test + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + clean: false + submodules: "recursive" + fetch-depth: 0 - - name: Run style checks - uses: ./.github/actions/check_style + - name: Run style checks + uses: ./.github/actions/check_style - - name: Run clippy - shell: bash -euxo pipefail {0} - run: script/clippy - tests: - name: Run tests - if: github.repository_owner == 'zed-industries' - runs-on: - - self-hosted - - test - needs: style - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - clean: false - submodules: "recursive" + - name: Run clippy + shell: bash -euxo pipefail {0} + run: script/clippy + tests: + name: Run tests + if: github.repository_owner == 'zed-industries' + runs-on: + - self-hosted + - test + needs: style + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + clean: false + submodules: "recursive" - - name: Run tests - uses: ./.github/actions/run_tests + - name: Run tests + uses: ./.github/actions/run_tests - bundle: - name: Bundle app - if: github.repository_owner == 'zed-industries' - runs-on: - - self-hosted - - bundle - needs: 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 }} - DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }} - DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }} - ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }} - steps: - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "18" + bundle: + name: Bundle app + if: github.repository_owner == 'zed-industries' + runs-on: + - self-hosted + - bundle + needs: 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 }} + DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }} + DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }} + ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }} + 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: 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: Limit target directory size + run: script/clear-target-dir-if-larger-than 100 - - name: Set release channel to nightly - run: | - set -eu - version=$(git rev-parse --short HEAD) - echo "Publishing version: ${version} on release channel nightly" - echo "nightly" > crates/zed/RELEASE_CHANNEL + - name: Set release channel to nightly + run: | + set -eu + version=$(git rev-parse --short HEAD) + echo "Publishing version: ${version} on release channel nightly" + echo "nightly" > crates/zed/RELEASE_CHANNEL - - name: Generate license file - run: script/generate-licenses + - name: Generate license file + run: script/generate-licenses - - name: Create app bundle - run: script/bundle + - name: Create app bundle + run: script/bundle - - name: Upload Zed Nightly - run: script/upload-nightly + - name: Upload Zed Nightly + run: script/upload-nightly diff --git a/.github/workflows/update_all_top_ranking_issues.yml b/.github/workflows/update_all_top_ranking_issues.yml index 32941ea220..82282058fe 100644 --- a/.github/workflows/update_all_top_ranking_issues.yml +++ b/.github/workflows/update_all_top_ranking_issues.yml @@ -1,18 +1,18 @@ on: - schedule: - - cron: "0 */12 * * *" - workflow_dispatch: + schedule: + - cron: "0 */12 * * *" + workflow_dispatch: jobs: - update_top_ranking_issues: - runs-on: ubuntu-latest - if: github.repository_owner == 'zed-industries' - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: "3.10.5" - architecture: "x64" - cache: "pip" - - 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 + update_top_ranking_issues: + runs-on: ubuntu-latest + if: github.repository_owner == 'zed-industries' + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: "3.10.5" + architecture: "x64" + cache: "pip" + - 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 diff --git a/.github/workflows/update_weekly_top_ranking_issues.yml b/.github/workflows/update_weekly_top_ranking_issues.yml index de1b4d21bc..86ec31b3f4 100644 --- a/.github/workflows/update_weekly_top_ranking_issues.yml +++ b/.github/workflows/update_weekly_top_ranking_issues.yml @@ -1,18 +1,18 @@ on: - schedule: - - cron: "0 15 * * *" - workflow_dispatch: + schedule: + - cron: "0 15 * * *" + workflow_dispatch: jobs: - update_top_ranking_issues: - runs-on: ubuntu-latest - if: github.repository_owner == 'zed-industries' - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: "3.10.5" - architecture: "x64" - cache: "pip" - - 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 + update_top_ranking_issues: + runs-on: ubuntu-latest + if: github.repository_owner == 'zed-industries' + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: "3.10.5" + architecture: "x64" + cache: "pip" + - 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 diff --git a/.zed/settings.json b/.zed/settings.json index 3f3e4491c3..508c0ba249 100644 --- a/.zed/settings.json +++ b/.zed/settings.json @@ -3,6 +3,9 @@ "TOML": { "formatter": "prettier", "format_on_save": "off" + }, + "YAML": { + "formatter": "prettier" } }, "formatter": "auto"