Commit Graph

282 Commits

Author SHA1 Message Date
Marshall Bowers
bf666af3a2
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
Max Brunsfeld
268fa1cbaf
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
4cc4f08a53
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
Conrad Irwin
198dfe0097 Maybe make cherry-pick-bot better 2024-02-28 15:26:30 -07:00
Conrad Irwin
16eb17e2f8
Enable cherry-pick-bot (#8561)
You will now be able to say `/cherry-pick v0.123.x` to cherry-pick to a
different branch.

Release Notes:

- N/A
2024-02-28 15:19:16 -07:00
Marshall Bowers
89caf06dbe
Move note about screenshots up in the PR template (#8501)
This PR rearranges the PR template to move the line about including
screenshots or media up underneath the `Added/Fixed/Improved` section.

This makes it easier to delete one section or the other depending on
what kind of change you're making.

Release Notes:

- N/A
2024-02-27 14:19:18 -05:00
Dzmitry Malyshau
cb75c57fc0
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
83bc24b480
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
Joseph T. Lyons
e01a606616 Update 2_crash_report.yml 2024-02-26 15:30:35 -05:00
Joseph T. Lyons
510f4328f2 Create 2_crash_report.yml 2024-02-26 15:28:57 -05:00
Joseph T. Lyons
4b7bd03db7 Update bug report issue template 2024-02-26 15:28:33 -05:00
Joseph T. Lyons
935938a27c Format feature request issue template 2024-02-26 15:28:24 -05:00
Joseph T. Lyons
f54bb32a7f Point requests for languages to extension repository 2024-02-26 01:04:54 -05:00
Joseph T. Lyons
d8902ca5d6 Rename bug report issue template 2024-02-26 01:04:39 -05:00
Joseph T. Lyons
b575fbb449 Delete 1_language_support.yml 2024-02-26 01:04:15 -05:00
白山風露
aef299be3d
CI: Enable clippy on Windows (#8240)
Release Notes:

- N/A
2024-02-23 16:23:42 -08:00
Marshall Bowers
522176d414
Adjust Kubernetes manifests for deploying API service (#8281)
This PR adjusts our Kubernetes manifests for deploying the new API
service.

Release Notes:

- N/A

---------

Co-authored-by: Conrad <conrad@zed.dev>
2024-02-23 12:14:40 -05:00
Conrad Irwin
6e897d9969
buf-version (#8154)
Release Notes:

- N/A
2024-02-21 15:29:11 -07:00
Kirill Bulatov
c97ecc7326
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
37f6a706cc
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 Malyshau
9ad1862f2f
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
a161a7d0c9
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
Joseph T. Lyons
32fdff0285 Update issue template configuration (again) 2024-02-15 19:35:23 -05:00
Joseph T. Lyons
4094562321 Update issue template configuration 2024-02-15 18:47:01 -05:00
Joseph T. Lyons
21a7421ee0 Update 1_language_support.yml 2024-02-15 18:25:13 -05:00
Max Brunsfeld
e1ae0d46da
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
c6626627c2
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
cbbc8cad84
Try and make collab deploys faster (#7746)
Use github machines and build on host instead of in container

Release Notes:

- N/A
2024-02-14 15:11:57 -07:00
Joseph T. Lyons
ac59b9b02f
Add a line instructing users to include media screenshots (#7790)
Making media up for release notes / tweets is becoming very time
consuming. I spoke to Max and suggested we ask users to submit media for
their features, to reduce what we need to produce for tweets and such. I
dont know if this is the best way to signal it; I don't like adding more
to the PR template, but I'm not sure of a better way at the moment.


Release Notes:

- N/a
2024-02-14 15:36:56 -05:00
Conrad Irwin
7a6d01e113
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
25c4cfe1d0 Bump action runners versions 2024-02-09 15:25:16 +02:00
Kirill Bulatov
702393af59 Use proper key for Linux rust cache 2024-02-09 15:25:16 +02:00
Conrad Irwin
1da5241ef7
Try to buf harder (#7591)
Release Notes:

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

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

- N/A
2024-02-07 13:55:36 -07:00
Kirill Bulatov
b59f925933
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
Dairon M
91303a5021
Do not run scheduled CI jobs on forks (#7394)
Runs scheduled CI jobs only on the main repository, not on forks. These
jobs fail on forks and generate unnecessary noise on contributor emails.



Release Notes:

- N/A
2024-02-05 10:12:29 -08:00
Marshall Bowers
6f6cb53fad
Tweak pull request template to (hopefully) make it clearer (#7287)
I keep seeing people leave the wrapping parentheses, like `(Added)` in
their release notes.

This PR tries making it clearer that we only want *one* of "Added",
"Fixed", or "Improved".

Release Notes:

- N/A
2024-02-02 11:41:47 -05:00
Max Brunsfeld
b35a7223b6 Add missing secret in release nightly workflow 2024-02-01 15:45:53 -08:00
Conrad Irwin
7b9d51929d
Deploy collab like nightly (#7174)
After this change we'll be able to push a tag to github to deploy to
collab.

The advantages of this are that there's no longer a separate step to
first
build the image, and then deploy it.

In the future I'd like to make this happen more automatically (maybe as
part of
bump nightly).

Release Notes:

- N/A
2024-02-01 11:54:49 -07:00
Conrad Irwin
5b7b5bfea5
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
Conrad Irwin
7f66e366b4
Release version of clippy? (#7107)
Release Notes:

- N/A
2024-01-30 13:29:39 -07:00
Conrad Irwin
3736ce9d9d
protobuf linter? (#7019)
Release Notes:

- N/A
2024-01-29 21:39:18 -07:00
Marshall Bowers
d60ef81ede
Setup Danger (#6994)
This PR sets up [Danger](https://danger.systems/js/) to help us codify
some of our PR rules.

As an initial rule, Danger will check to ensure that every PR has a
`Release Notes` section:

<img width="943" alt="Screenshot 2024-01-29 at 11 50 12 AM"
src="https://github.com/zed-industries/zed/assets/1486634/4d56e759-e72f-4bc0-8e74-42c55e2e6888">

Release Notes:

- N/A
2024-01-29 11:58:24 -05:00
Joseph T. Lyons
e22ffb6740 Run weekly update each day 2024-01-29 02:47:25 -05:00
Joseph T. Lyons
80cdd60d4c Add a weekly report 2024-01-28 18:22:39 -05:00
Bjerg
f7fc4ffbe5
Disable Discord URL embed (#6892)
Wrapping links in `<` and `>` disables auto-embeds in Discord, even if
it's a markdown-style link.

Closes #6884

Release Notes:

- N/A
2024-01-27 15:34:36 -05:00
Viktor Szépe
9d6414b0cc
Fix typos configuration (#6877)
- check hidden files
- fix a typos in a hidden file
- ignore "ba" typos in a more specific way
- ignore a typo in collab/migrations/ literally

Release Notes:

- N/A
2024-01-27 11:03:25 -05:00
0x29a
37647a67a7
ci: Bump actions/checkout to v4 (#6736)
change:

- bump actions/checkout version

Release Notes:

- N/A
2024-01-25 21:03:23 -05:00
Marshall Bowers
a3d431d86f
Remove placeholder description from PR template (#6726)
This PR removes the placeholder description from the PR template, opting
to just leave empty space instead.

I've seen lots of instances where authors will not delete the
placeholder, and it ends up in Git history, which is not desirable.

Release Notes:

- N/A
2024-01-25 14:19:22 -05:00
Joseph T. Lyons
40dbe15b2a Update all links point to community 2024-01-24 15:11:17 -05:00
Joseph T. Lyons
fc01eeebbc Update links to script 2024-01-24 14:48:44 -05:00
Joseph T. Lyons
fde4c09906 Remove open source checklist from issue config 2024-01-24 14:45:17 -05:00
Joseph T. Lyons
db33eafdb1 Delete 0_feature_parity_report.yml 2024-01-24 14:44:00 -05:00
Joseph T. Lyons
855e0f6f36 Add top-ranking issues script 2024-01-24 14:40:55 -05:00
Joseph T. Lyons
f8604e88ef Add GitHub items 2024-01-24 12:26:15 -05:00
Piotr Osiewicz
db22babe2a
CI: Do not run cargo check --tests before running the tests (#4228)
This is a bit redundant, as cargo test does not reuse results of cargo
check, so we're essentially doing the cargo check unnecessarily.

Release Notes:

- N/A
2024-01-23 22:18:17 +01:00
Conrad Irwin
3d5da2f4d9
less secret (#4221)
- Remove ZED_SECRET_CLIENT_TOKEN
- Remove ZED_CLIENT_SECRET_TOKEN

Neither of these were ever actually a secret.

Release Notes:

- N/A
2024-01-23 10:43:15 -07:00
Conrad Irwin
b5ee7f8f2e Remove ZED_CLIENT_SECRET_TOKEN 2024-01-23 10:34:43 -07:00
Mikayla
938b84c045
Finish documenting GPUI 2024-01-22 19:33:45 -08:00
Conrad Irwin
942edbfcbb Run tests even if lint/fmt/spell/squawk fails 2024-01-22 10:00:32 -07:00
Mikayla
58333b96dd
Adjust config 2024-01-17 17:07:04 -08:00
Mikayla
4070eefa49
Use cargo to install typo check 2024-01-17 17:00:07 -08:00
Mikayla
e3e3ef528e
Add typos ci 2024-01-17 15:33:14 -08:00
Conrad Irwin
87ccbf6c19 One of these days... 2024-01-11 21:22:00 -07:00
Conrad Irwin
51e4db7d70 try again 2024-01-11 20:43:49 -07:00
Conrad Irwin
403fa7fbc9 Try the manual approach... 2024-01-11 20:40:34 -07:00
Conrad Irwin
d20ed0aacf Try sqwauk 2024-01-11 20:23:53 -07:00
Kirill Bulatov
41bc49af36 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
a5dd2535f1 Properly require clippy installation, try to shuffle clippy arguments
co-authored-by: Piotr <piotr@zed.dev>
2024-01-11 13:56:28 +02:00
Piotr Osiewicz
1200f595a3 Try to run clippy just for a single target 2024-01-11 12:36:45 +01:00
Kirill Bulatov
e0dd5a5820 Debugging 2024-01-11 00:33:53 +02:00
Kirill Bulatov
7b3e7ee3cc Enfoce no dbg! and todo! in Rust code via clippy lints in the CI job 2024-01-11 00:26:46 +02:00
Max Brunsfeld
b2efec9824
Replace zed with zed2 (#3862) 2024-01-03 13:33:54 -08:00
Mikayla Maki
55175982b6
Update release_nightly.yml 2024-01-03 13:24:37 -08:00
Max Brunsfeld
7986ee18cd Rename zed2 -> zed
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:14:19 -08:00
Joseph T. Lyons
cd2abc7c1d Adjust nightly to build twice a day 2023-12-11 13:05:16 -05:00
Max Brunsfeld
f9d569f1b8 Remove '-nightly' suffix from nightly build version number
It breaks our semver parsing, and the release channel is already 'nightly'.
2023-12-07 16:51:53 -08:00
Kirill Bulatov
ebddb612c8
Do not run the same workflow concurrently on non-main branches (#3518)
<img width="1376" alt="image"
src="https://github.com/zed-industries/zed/assets/2690773/681cca85-e1b9-4a99-8363-60c931ba1393">

For any push (or force-push) into a branch, a separate CI workflow is
run.
This is rather worker-consuming, esp. given the fact that GitHub will
wait for the last job to update PR's status.
So cancel every old job for the same branch if it's not `main`.
CI run on `main` might catch a regression brought in by specific PR
merged, so run CI on every commit due to that.


Release Notes:

- N/A
2023-12-06 22:35:02 +02:00
Kirill Bulatov
b94c335605 Do not run the same workflow concurrently on non-main branches 2023-12-06 22:19:48 +02:00
Kirill Bulatov
9e1d797445 Use distinct version for zed2, append git hash to its nightly version 2023-12-06 22:04:45 +02:00
Kirill Bulatov
a58f393458 Do not bundle Zed on main branch commits 2023-12-06 16:58:49 +02:00
Kirill Bulatov
0ef97edd6e Format the CI file with Zed's default prettier 2023-12-06 16:58:18 +02:00
Kirill Bulatov
df7b89b6cb
Allow to include gitignored files into project search (#3394) 2023-11-23 19:28:11 +02:00
Piotr Osiewicz
c04f123e44 ci: Add ci-config.toml in .cargo folder. 2023-11-22 22:25:26 +01:00
Kirill Bulatov
92953fb53d If enabled, search in ignored files during project search 2023-11-22 16:41:02 +02:00
Piotr Osiewicz
492c3a1e83 Bump artifact size limit for CI to 100GB 2023-11-22 15:14:24 +01:00
Piotr Osiewicz
6f8e03470c Use printf instead of echo 2023-11-22 14:41:26 +01:00
Piotr Osiewicz
8a6d3094c4 Change tabs to spaces 2023-11-22 14:37:41 +01:00
Piotr Osiewicz
552f03c49d chore/CI: place .cargo/config.toml augmentations in ~/.cargo/config.toml 2023-11-22 14:36:10 +01:00
Mikayla
fd6e47c167
Fix auto update command 2023-11-17 21:52:49 -08:00
Mikayla
eb2e9a59b7
Fix bundling again 2023-11-17 18:27:11 -08:00
Mikayla
e43696eb6b
Temporary debug builds for faster ci testing 2023-11-17 17:46:05 -08:00
Mikayla
70d0421b3c
Fix bundle script 2023-11-17 17:44:41 -08:00
Max Brunsfeld
ee753beebd Build nightly release based on 'nightly' tag, not any tag w/ nightly prefix 2023-11-17 17:21:35 -08:00
Max Brunsfeld
6a22ab83cf Fix cargo check --tests invocation 2023-11-17 14:16:12 -08:00
Max Brunsfeld
5e2eb436ff 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
Max Brunsfeld
c684f08e30 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
Mikayla
6976af5029
Push some sketches 2023-11-17 12:16:55 -08:00
Kirill Bulatov
6680e1e9fe Create new Zed release channel: nightly 2023-11-17 12:13:32 +02:00