zed/crates
Kirill Bulatov ffebe2e4a6
Initial Linux nightly bundles upload (#8913)
Changes Zed CI to build and upload Linux nightly bundles.

* `todo!(linux)` are replaced with `TODO linux` to make `todo!`-based
workflows more convenient
* renames `run-build-dmg` label into `run-bundling`, also renames a few
GH Actions entries to be more generic
* make another upload path for Linux, which keeps a separate file with SHA to version the nightly artifact.
* adds a `*.deb` package building with a couple of caveats, marked with
new `TODO linux` entries:

1. `cargo-bundle` is not very flexible, so it generates artifacts with
the structure and names that we're unable to alter before/during the
generation.
For that, a set of extra steps is made by repacking the *.deb package —
this is not very portable between different Linux distros, so later one
needs to find a way to combine multiple package types in this script.

2. `cargo-bundle` is not able to properly generate the *.msi bundle
despite declaring it in the features:
https://github.com/burtonageo/cargo-bundle/issues/116
Windows needs to invent its own way of bundling or fix the tool.

3. Both `cli` and `zed` binaries are added into the archive under
`/usr/local/bin/` path with their `-$channel` suffix
(-nightly/-preview/-dev/-stable) and a `/usr/local/bin/zed ->
/usr/local/bin/cli-nightly` symlink is made to make CLI work as Zed
launcher:
```
~/work/zed kb/linux-nightly:origin/kb/linux-nightly*​ ❯ dpkg -c target/zed_amd64.deb 
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/local/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/local/bin/
-rwxr-xr-x allaptop/allaptop 8746832 2024-03-06 00:53 ./usr/local/bin/cli-nightly
-rwxr-xr-x allaptop/allaptop 689078560 2024-03-06 00:53 ./usr/local/bin/zed-nightly
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/applications/
-rw-r--r-- allaptop/allaptop       153 2024-03-06 00:53 ./usr/share/applications/zed.desktop
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/icons/
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/icons/hicolor/
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/icons/hicolor/1024x1024@2x/
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/icons/hicolor/1024x1024@2x/apps/
-rw-r--r-- allaptop/allaptop    716288 2024-03-06 00:53 ./usr/share/icons/hicolor/1024x1024@2x/apps/zed.png
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/icons/hicolor/512x512/
drwxr-xr-x allaptop/allaptop         0 2024-03-06 00:53 ./usr/share/icons/hicolor/512x512/apps/
-rw-r--r-- allaptop/allaptop    239870 2024-03-06 00:53 ./usr/share/icons/hicolor/512x512/apps/zed.png
lrwxrwxrwx allaptop/allaptop         0 2024-03-06 00:53 ./usr/local/bin/zed -> /usr/local/bin/cli-nightly
```

But the CLI does not work under Linux yet and there's no way to install
that CLI from Zed now; Zed binary itself is not able to open
`file/location:12:34`-like things and set up the env properly, but is
able to start or open a directory.

So, this structure can be considered temporary and changed, if needed.

4. Zed Nightly on Linux does not know how to update itself, so all
nightly publishing is not picked up automatically.

5. Rust cache from `main` builds does not get shared between CI jobs,
due to being run in a different CI job that forms a different CI key, so
```
      - name: Cache dependencies
        uses: swatinem/rust-cache@v2
        with:
          save-if: ${{ false }}
```
would not work.
This makes Linux bundling jobs long.

Release Notes:

- N/A
2024-03-07 23:22:53 +02:00
..
activity_indicator Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
ai Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
assets Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
assistant Make anchor_in_excerpt Optional (#8975) 2024-03-06 18:55:36 -07:00
audio Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
auto_update Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
breadcrumbs Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
call Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
channel Fix 0 notes versions being always unread (#9030) 2024-03-07 13:53:05 -07:00
cli Remove todo! comments (#8981) 2024-03-06 18:25:20 -08:00
client Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab Denormalize buffer operations (#9026) 2024-03-07 11:35:47 -07:00
collab_ui Pluralize and order user menu items for consistency (#9013) 2024-03-07 17:59:33 +02:00
collections Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
color Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
command_palette Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
command_palette_hooks Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
copilot Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
copilot_ui Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
db Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
diagnostics Make anchor_in_excerpt Optional (#8975) 2024-03-06 18:55:36 -07:00
editor Fix panic in open urls (#9032) 2024-03-07 13:52:50 -07:00
extension Fix extension store test failure on main due to wasi-sdk download 2024-03-07 10:53:28 -08:00
extension_api Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
extensions_ui Add a command for building and installing a locally-developed Zed extension (#8781) 2024-03-06 15:35:22 -08:00
feature_flags Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
feedback Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
file_finder Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
fs Add a command for building and installing a locally-developed Zed extension (#8781) 2024-03-06 15:35:22 -08:00
fsevent Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
fuzzy Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
git Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
go_to_line Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
gpui Initial Linux nightly bundles upload (#8913) 2024-03-07 23:22:53 +02:00
gpui_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
install_cli Remove todo! comments (#8981) 2024-03-06 18:25:20 -08:00
journal Fix panic in open urls (#9032) 2024-03-07 13:52:50 -07:00
language language: Track buffer dirty state based on edits, not on file contents 2024-03-07 14:11:35 +01:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Make anchor_in_excerpt Optional (#8975) 2024-03-06 18:55:36 -07:00
languages Remove git_commit syntax highlighting from core Zed (#9025) 2024-03-07 20:23:44 +02:00
live_kit_client Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
live_kit_server Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
lsp Always resolve code action if needed (#8904) 2024-03-05 23:42:12 +02:00
markdown_preview Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
media Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
menu Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
multi_buffer Make anchor_in_excerpt Optional (#8975) 2024-03-06 18:55:36 -07:00
node_runtime Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
notifications Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
outline Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
picker Small fixes to task modal & long commands (#8974) 2024-03-07 03:21:11 +02:00
prettier Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
project Debounce language server updates (#8953) 2024-03-06 15:58:22 -07:00
project_core Add a command for building and installing a locally-developed Zed extension (#8781) 2024-03-06 15:35:22 -08:00
project_panel Fix project panel icon bouncing when renaming (#8988) 2024-03-07 09:18:59 +01:00
project_symbols Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
quick_action_bar Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
recent_projects Fix panic in open urls (#9032) 2024-03-07 13:52:50 -07:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rich_text Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rope Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rpc Migrate from scrypt to sha256. (#8969) 2024-03-06 20:51:43 -07:00
search Update Project search to Project Search. (#8943) 2024-03-06 15:23:55 +01:00
semantic_index Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
settings Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
snippet Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
story Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
storybook Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sum_tree Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
task Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
tasks_ui Add ZED_SELECTED_TEXT variable to tasks (#8865) 2024-03-07 11:59:25 +01:00
telemetry_events Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
terminal Remove todo! comments (#8981) 2024-03-06 18:25:20 -08:00
terminal_view prevent empty cwd in terminal view (#8924) 2024-03-06 11:26:16 -08:00
text Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme_importer Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
time_format Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
ui Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
util Windows: use folders under AppData (#8828) 2024-03-05 09:48:27 -08:00
vcs_menu Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
vim Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
welcome Fix panic in open urls (#9032) 2024-03-07 13:52:50 -07:00
workspace Fix panic in open urls (#9032) 2024-03-07 13:52:50 -07:00
zed Initial Linux nightly bundles upload (#8913) 2024-03-07 23:22:53 +02:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00