Commit Graph
127 Commits
Author SHA1 Message Date
Marshall Bowers e4ed7fc1ba Deny all Clippy warnings (#8720)
This PR makes Clippy deny all warnings across the workspace.

We now enumerate all of the rules that have violations and temporarily
allow them, with the goal being to drive the list down over time.

On Windows we don't yet use `--deny warnings`, as the Windows build
still has some warnings.

Release Notes:

- N/A
2024-03-02 15:51:01 -05:00
cf930d26ca Add initial support for defining language server adapters in WebAssembly-based extensions (#8645)
This PR adds **internal** ability to run arbitrary language servers via
WebAssembly extensions. The functionality isn't exposed yet - we're just
landing this in this early state because there have been a lot of
changes to the `LspAdapter` trait, and other language server logic.

## Next steps

* Currently, wasm extensions can only define how to *install* and run a
language server, they can't yet implement the other LSP adapter methods,
such as formatting completion labels and workspace symbols.
* We don't have an automatic way to install or develop these types of
extensions
* We don't have a way to package these types of extensions in our
extensions repo, to make them available via our extensions API.
* The Rust extension API crate, `zed-extension-api` has not yet been
published to crates.io, because we still consider the API a work in
progress.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-03-01 16:00:55 -08:00
Nathan Sobo 2d7db2d1b8 Remove ! from todo!() in comments (#8643)
This practice makes it difficult to locate todo!s in my code when I'm
working. Let's take out the bang if we want to keep doing this.

Release Notes:

- N/A
2024-02-29 18:19:05 -07:00
Dzmitry Malyshau 5b838d928b Cleanup dependencies (part 4) (#8468)
Follow-up to #8425 . Final part - adds the CI check.

Release Notes:
- N/A
2024-02-27 20:41:49 +02:00
Marshall Bowers 4789166aba Adjust Cargo caching in CI (#8494)
This PR adjusts the way we cache Cargo dependencies in CI.

We're trying out
[swatinem/rust-cache](https://github.com/swatinem/rust-cache) to see if
it can improve our caching strategy such that we're able to get more
cache hits on PRs.

We'll only write to the cache on `main` in the hopes that it will
mitigate the amount of thrashing of the cache.

Release Notes:

- N/A
2024-02-27 11:35:17 -05:00
白山風露 5f5601e06d CI: Enable clippy on Windows (#8240)
Release Notes:

- N/A
2024-02-23 16:23:42 -08:00
Conrad Irwin b6e6180040 buf-version (#8154)
Release Notes:

- N/A
2024-02-21 15:29:11 -07:00
Kirill Bulatov f06eded524 Add initial CI job for Windows target (#8088)
Clippy is disabled for now, due to many warnings in both `gpui` and
other code, see
https://github.com/zed-industries/zed/actions/runs/7980269779/job/21789529800
for more details.

Also, due to `#!/usr/bin/env bash` shebang in the `script/clippy`, it
starts in Windows CI with `shell: C:\Program Files\Git\bin\bash.EXE
-euxo pipefail {0}`

https://github.com/zed-industries/zed/actions/runs/7980269779/job/21789529800#step:4:3
It seems more appropriate to use PowerShell instead.

See `todo!("windows")` for all stubbed places currently.

Release Notes:

- N/A
2024-02-21 00:35:29 +02:00
Kirill Bulatov c93caeea5c Invalidate Linux build caches more agressively (#8031)
We run Linux CI on regular GitHub Action runners, which have ~30GB of
disk space. This is nothing for Rust builds and, due to Cargo.lock
perturbations, we tend to accumulate enough artifacts to fill the disk
entirely since `restore-keys` alowed to keep the cache for different
lockfiles.

Instead, try to invalidate the cache more aggressively (which will cost
us more frequent ~30min Linux CI runs) to see how this will work in
comparison.

Release Notes:

- N/A
2024-02-19 14:16:39 -08:00
Dzmitry MalyshauandMikayla f705f55652 Enable Blade on MacOS via "macos-blade" feature (#7669)
Depends on https://github.com/zed-industries/font-kit/pull/2 and
https://github.com/kvark/blade/pull/77

This change enables Blade to be also used on MacOS. It will also make it
easier to use it on Windows.

What works: most of the things. Zed loads as fast and appears equally
responsive to the current renderer.
<img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM"
src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827">

Things missing:
- [x] video streaming. ~~Requires a bit of plumbing on both Blade and
Zed sides, but all fairly straightforward.~~
  -  verified with a local setup
- [x] resize. ~~Not sure where exactly to hook up the reaction on the
window size change. Once we know where, the fix is one line.~~
- [ ] fine-tune CA Layer
- this isn't a blocker for merging the PR, but it would be a blocker if
we wanted to switch to the new path by default
- [ ] rebase on latest, get the dependency merged (need review/merge of
https://github.com/zed-industries/font-kit/pull/2!)

Update: I implemented resize support as well as "surface" rendering on
the Blade path (which will be useful on Linux/Windows later on). I
haven't tested the latter though - not sure how to get something
streaming. Would appreciate some help! I don't think this should be a
blocker to this PR, anyway.

The only little piece that's missing for the Blade on MacOS path to be
full-featured is fine-tuning the CALayer configuration. Zed does a lot
of careful logic in configuring the layer, such as switching the
"present with transaction" on/off intermittently, which Blade path
doesn't have yet.

Release Notes:
- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-16 13:39:40 -08:00
Marshall Bowers 916a3b6af1 Format YAML files (#7887)
This PR formats the YAML files in the repo with Prettier.

Release Notes:

- N/A
2024-02-15 22:04:57 -05:00
9b747ff850 Add an extensions API to the collaboration server (#7807)
This PR adds a REST API to the collab server for searching and
downloading extensions. Previously, we had implemented this API in
zed.dev directly, but this implementation is better, because we use the
collab database to store the download counts for extensions.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Conrad <conrad@zed.dev>
2024-02-15 12:53:57 -08:00
Antonio Scandurra d2aa139fa3 Remove existing gzip files before compressing dSYMs (#7818)
This should fix the build.

Release Notes:

- N/A
2024-02-15 11:32:08 +01:00
Conrad Irwin 2126553cfa debug symbol upload (#7783)
This will let it become slowly eaasier to debug crashes

Release Notes:

- N/A
2024-02-14 10:55:37 -07:00
Kirill Bulatov 20fb9e11a9 Bump action runners versions 2024-02-09 15:25:16 +02:00
Kirill Bulatov fa23b14fcc Use proper key for Linux rust cache 2024-02-09 15:25:16 +02:00
Conrad Irwin 234a75bff5 Try to buf harder (#7591)
Release Notes:

- N/A
2024-02-08 13:59:15 -07:00
Mikayla Maki 3789063794 Add Linux build CI (#7581)
Release Notes:

- N/A
2024-02-08 12:56:29 -08:00
Conrad Irwin 46d61452a7 Testing buf breaking (#7475)
Release Notes:

- N/A
2024-02-07 13:55:36 -07:00
Kirill Bulatov 11d2930906 Upgrade GH actions to reduce CI warnings (#7403)
Deals with one of the warnings GH shows on our actions run:

https://github.com/zed-industries/zed/actions/runs/7790218555
<img width="1383" alt="image"
src="https://github.com/zed-industries/zed/assets/2690773/e523ec7c-bf43-4b0d-8c36-8540aef6fae9">

bufbuild/* actions seem to have no new major versions so there's nothing
new to upgrade to.

Release Notes:

- N/A
2024-02-05 22:26:56 +02:00
Conrad Irwin 860d38e2d7 Add a checksum telemetry request (#7168)
We're seeing a bit of nonsense on telemetry. Although the checksum seed
isn't secret per-se, it does make sending nonsense a little more effort.

Release Notes:

- N/A
2024-01-31 15:44:38 -07:00
0x29a 836beb2eeb ci: Bump actions/checkout to v4 (#6736)
change:

- bump actions/checkout version

Release Notes:

- N/A
2024-01-25 21:03:23 -05:00
Conrad Irwin 7397cb2a25 Run tests even if lint/fmt/spell/squawk fails 2024-01-22 10:00:32 -07:00
Mikayla db8cb86abb Adjust config 2024-01-17 17:07:04 -08:00
Mikayla f962c66104 Use cargo to install typo check 2024-01-17 17:00:07 -08:00
Mikayla aba6b33863 Add typos ci 2024-01-17 15:33:14 -08:00
Kirill BulatovandPiotr 392bce9452 Remove redundant install Rust steps
Those were not installing Rust but configuring it via rustup, and
those configurations were done on `stable` toolchain which is not what we use (see rust-toolchain.toml)

co-authored-by: Piotr <piotr@zed.dev>
2024-01-11 14:11:13 +02:00
Kirill Bulatov 49f7129b68 Enfoce no dbg! and todo! in Rust code via clippy lints in the CI job 2024-01-11 00:26:46 +02:00
Kirill Bulatov 006279fada Do not run the same workflow concurrently on non-main branches 2023-12-06 22:19:48 +02:00
Kirill Bulatov cbc55cf8a9 Do not bundle Zed on main branch commits 2023-12-06 16:58:49 +02:00
Kirill Bulatov 62ec474a88 Format the CI file with Zed's default prettier 2023-12-06 16:58:18 +02:00
Kirill Bulatov 7e0e979c7b Allow to include gitignored files into project search (#3394) 2023-11-23 19:28:11 +02:00
Piotr Osiewicz 2091d6f028 ci: Add ci-config.toml in .cargo folder. 2023-11-22 22:25:26 +01:00
Kirill Bulatov 1aa37bafa5 If enabled, search in ignored files during project search 2023-11-22 16:41:02 +02:00
Piotr Osiewicz 47a59b09d1 Bump artifact size limit for CI to 100GB 2023-11-22 15:14:24 +01:00
Piotr Osiewicz 538adedbf1 Use printf instead of echo 2023-11-22 14:41:26 +01:00
Piotr Osiewicz 6df0319369 Change tabs to spaces 2023-11-22 14:37:41 +01:00
Piotr Osiewicz ae4b4e55e9 chore/CI: place .cargo/config.toml augmentations in ~/.cargo/config.toml 2023-11-22 14:36:10 +01:00
Max Brunsfeld e56372d3c7 Build nightly release based on 'nightly' tag, not any tag w/ nightly prefix 2023-11-17 17:21:35 -08:00
773e324ccb Check out repo outside of reusable actions
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Kirill <kirill@zed.dev>
2023-11-17 14:14:03 -08:00
a2a13208fa Wire up release_nightly workflow, to upload artifacts to DO spaces
Co-authored-by: Kirill <kirill@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-11-17 14:07:51 -08:00
Kirill Bulatov 6db4451b25 Create new Zed release channel: nightly 2023-11-17 12:13:32 +02:00
Conrad Irwin 31f6f4ec82 Don't generate licenses on every PR 2023-11-07 14:33:19 -07:00
Kirill Bulatov bb04b5a0eb Update another deprecated plugin 2023-07-13 11:52:35 +03:00
Kirill Bulatov 494b26bd13 Update checkout actions 2023-07-12 22:18:37 +03:00
Piotr Osiewicz fae9b9cb89 Use nextest instead of test (#2639)
This should speed up our test CI by a minute or so. =)

[current best case CI
run](https://github.com/zed-industries/zed/actions/runs/5337351944/jobs/9673291188),
where we don't rebuild anything (and only run tests) takes about 2m30s
[with
nextest](https://github.com/zed-industries/zed/actions/runs/5346819257/jobs/9694617720?pr=2639),
that's down to 1m30s.
Release Notes:
- N/A
2023-06-22 16:50:26 +02:00
Piotr Osiewicz 55d80f9365 Revert "chore: bump MSRV to 1.70" (#2577)
Reverts zed-industries/zed#2573
2023-06-06 22:21:34 +02:00
Piotr Osiewicz 5532ce10f1 chore: bump MSRV to 1.70 (#2573)
Add rust-toolchain.toml

Release Notes:

- N/A
2023-06-06 21:50:27 +02:00
Joseph Lyons bdc5fe76db Remove code sending zed events to mixpanel 2023-06-05 15:33:17 -04:00
Kirill Bulatov d2f57a1759 Unite dmg build jobs 2023-05-18 13:49:55 +03:00