mirror of
https://github.com/zed-industries/zed.git
synced 2026-06-01 03:14:56 +07:00
This broke the libgit2 bundling silently Release Notes: - N/A
This commit is contained in:
parent
d27fa3ba85
commit
c50120199f
13 changed files with 78 additions and 95 deletions
2
.github/actionlint.yml
vendored
2
.github/actionlint.yml
vendored
|
|
@ -29,8 +29,6 @@ self-hosted-runner:
|
|||
# Namespace Limited Preview
|
||||
- namespace-profile-8x16-ubuntu-2004-arm-m4
|
||||
- namespace-profile-8x32-ubuntu-2004-arm-m4
|
||||
# Namespace mac
|
||||
- namespace-profile-mac-large
|
||||
# Self Hosted Runners
|
||||
- self-mini-macos
|
||||
- self-32vcpu-windows-2022
|
||||
|
|
|
|||
23
.github/workflows/release.yml
vendored
23
.github/workflows/release.yml
vendored
|
|
@ -11,7 +11,7 @@ on:
|
|||
jobs:
|
||||
run_tests_mac:
|
||||
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
steps:
|
||||
- name: steps::checkout_repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
|
|
@ -22,17 +22,10 @@ jobs:
|
|||
mkdir -p ./../.cargo
|
||||
cp ./.cargo/ci-config.toml ./../.cargo/config.toml
|
||||
shell: bash -euxo pipefail {0}
|
||||
- name: steps::cache_rust_dependencies_namespace
|
||||
uses: namespacelabs/nscloud-cache-action@v1
|
||||
with:
|
||||
cache: rust
|
||||
path: ~/.rustup
|
||||
- name: steps::setup_node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: '20'
|
||||
- name: steps::cargo_install_nextest
|
||||
uses: taiki-e/install-action@nextest
|
||||
- name: steps::clear_target_dir_if_large
|
||||
run: ./script/clear-target-dir-if-larger-than 300
|
||||
shell: bash -euxo pipefail {0}
|
||||
|
|
@ -90,14 +83,6 @@ jobs:
|
|||
rm -rf ./../.cargo
|
||||
shell: bash -euxo pipefail {0}
|
||||
timeout-minutes: 60
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:15
|
||||
env:
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
ports:
|
||||
- 5432:5432
|
||||
options: --health-cmd pg_isready --health-interval 500ms --health-timeout 5s --health-retries 10
|
||||
run_tests_windows:
|
||||
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
|
||||
runs-on: self-32vcpu-windows-2022
|
||||
|
|
@ -129,7 +114,7 @@ jobs:
|
|||
timeout-minutes: 60
|
||||
clippy_mac:
|
||||
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
steps:
|
||||
- name: steps::checkout_repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
|
|
@ -339,7 +324,7 @@ jobs:
|
|||
- run_tests_mac
|
||||
- clippy_mac
|
||||
- check_scripts
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
|
|
@ -386,7 +371,7 @@ jobs:
|
|||
- run_tests_mac
|
||||
- clippy_mac
|
||||
- check_scripts
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
|
|
|
|||
23
.github/workflows/release_nightly.yml
vendored
23
.github/workflows/release_nightly.yml
vendored
|
|
@ -13,7 +13,7 @@ on:
|
|||
jobs:
|
||||
check_style:
|
||||
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
steps:
|
||||
- name: steps::checkout_repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
|
|
@ -180,7 +180,7 @@ jobs:
|
|||
- check_style
|
||||
- run_tests_windows
|
||||
- clippy_windows
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
|
|
@ -234,7 +234,7 @@ jobs:
|
|||
- check_style
|
||||
- run_tests_windows
|
||||
- clippy_windows
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
|
|
@ -425,7 +425,7 @@ jobs:
|
|||
- check_style
|
||||
- run_tests_windows
|
||||
if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
|
||||
|
|
@ -436,10 +436,11 @@ jobs:
|
|||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
clean: false
|
||||
- name: nix_build::build_nix::install_nix
|
||||
uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
|
||||
with:
|
||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: nix_build::build_nix::set_path
|
||||
run: |
|
||||
echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
|
||||
echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
|
||||
shell: bash -euxo pipefail {0}
|
||||
- name: nix_build::build_nix::cachix_action
|
||||
uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
|
||||
with:
|
||||
|
|
@ -449,6 +450,12 @@ jobs:
|
|||
- name: nix_build::build_nix::build
|
||||
run: nix build .#default -L --accept-flake-config
|
||||
shell: bash -euxo pipefail {0}
|
||||
- name: nix_build::build_nix::limit_store
|
||||
run: |-
|
||||
if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
|
||||
nix-collect-garbage -d || true
|
||||
fi
|
||||
shell: bash -euxo pipefail {0}
|
||||
timeout-minutes: 60
|
||||
continue-on-error: true
|
||||
update_nightly_tag:
|
||||
|
|
|
|||
4
.github/workflows/run_bundling.yml
vendored
4
.github/workflows/run_bundling.yml
vendored
|
|
@ -100,7 +100,7 @@ jobs:
|
|||
if: |-
|
||||
(github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
|
||||
(github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
|
|
@ -146,7 +146,7 @@ jobs:
|
|||
if: |-
|
||||
(github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
|
||||
(github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
|
|
|
|||
36
.github/workflows/run_tests.yml
vendored
36
.github/workflows/run_tests.yml
vendored
|
|
@ -148,7 +148,7 @@ jobs:
|
|||
needs:
|
||||
- orchestrate
|
||||
if: needs.orchestrate.outputs.run_tests == 'true'
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
steps:
|
||||
- name: steps::checkout_repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
|
|
@ -241,19 +241,11 @@ jobs:
|
|||
rm -rf ./../.cargo
|
||||
shell: bash -euxo pipefail {0}
|
||||
timeout-minutes: 60
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:15
|
||||
env:
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
ports:
|
||||
- 5432:5432
|
||||
options: --health-cmd pg_isready --health-interval 500ms --health-timeout 5s --health-retries 10
|
||||
run_tests_mac:
|
||||
needs:
|
||||
- orchestrate
|
||||
if: needs.orchestrate.outputs.run_tests == 'true'
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
steps:
|
||||
- name: steps::checkout_repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
|
|
@ -264,17 +256,10 @@ jobs:
|
|||
mkdir -p ./../.cargo
|
||||
cp ./.cargo/ci-config.toml ./../.cargo/config.toml
|
||||
shell: bash -euxo pipefail {0}
|
||||
- name: steps::cache_rust_dependencies_namespace
|
||||
uses: namespacelabs/nscloud-cache-action@v1
|
||||
with:
|
||||
cache: rust
|
||||
path: ~/.rustup
|
||||
- name: steps::setup_node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: '20'
|
||||
- name: steps::cargo_install_nextest
|
||||
uses: taiki-e/install-action@nextest
|
||||
- name: steps::clear_target_dir_if_large
|
||||
run: ./script/clear-target-dir-if-larger-than 300
|
||||
shell: bash -euxo pipefail {0}
|
||||
|
|
@ -542,7 +527,7 @@ jobs:
|
|||
needs:
|
||||
- orchestrate
|
||||
if: needs.orchestrate.outputs.run_nix == 'true'
|
||||
runs-on: namespace-profile-mac-large
|
||||
runs-on: self-mini-macos
|
||||
env:
|
||||
ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
|
||||
ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
|
||||
|
|
@ -553,10 +538,11 @@ jobs:
|
|||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
clean: false
|
||||
- name: nix_build::build_nix::install_nix
|
||||
uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
|
||||
with:
|
||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: nix_build::build_nix::set_path
|
||||
run: |
|
||||
echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
|
||||
echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
|
||||
shell: bash -euxo pipefail {0}
|
||||
- name: nix_build::build_nix::cachix_action
|
||||
uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
|
||||
with:
|
||||
|
|
@ -567,6 +553,12 @@ jobs:
|
|||
- name: nix_build::build_nix::build
|
||||
run: nix build .#debug -L --accept-flake-config
|
||||
shell: bash -euxo pipefail {0}
|
||||
- name: nix_build::build_nix::limit_store
|
||||
run: |-
|
||||
if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
|
||||
nix-collect-garbage -d || true
|
||||
fi
|
||||
shell: bash -euxo pipefail {0}
|
||||
timeout-minutes: 60
|
||||
continue-on-error: true
|
||||
check_postgres_and_protobuf_migrations:
|
||||
|
|
|
|||
4
Cargo.lock
generated
4
Cargo.lock
generated
|
|
@ -7079,7 +7079,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gh-workflow"
|
||||
version = "0.8.0"
|
||||
source = "git+https://github.com/zed-industries/gh-workflow?rev=c9eac0ed361583e1072860d96776fa52775b82ac#c9eac0ed361583e1072860d96776fa52775b82ac"
|
||||
source = "git+https://github.com/zed-industries/gh-workflow?rev=09acfdf2bd5c1d6254abefd609c808ff73547b2c#09acfdf2bd5c1d6254abefd609c808ff73547b2c"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"derive_more 2.0.1",
|
||||
|
|
@ -7096,7 +7096,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "gh-workflow-macros"
|
||||
version = "0.8.0"
|
||||
source = "git+https://github.com/zed-industries/gh-workflow?rev=c9eac0ed361583e1072860d96776fa52775b82ac#c9eac0ed361583e1072860d96776fa52775b82ac"
|
||||
source = "git+https://github.com/zed-industries/gh-workflow?rev=09acfdf2bd5c1d6254abefd609c808ff73547b2c#09acfdf2bd5c1d6254abefd609c808ff73547b2c"
|
||||
dependencies = [
|
||||
"heck 0.5.0",
|
||||
"quote",
|
||||
|
|
|
|||
|
|
@ -528,7 +528,7 @@ fancy-regex = "0.16.0"
|
|||
fork = "0.4.0"
|
||||
futures = "0.3"
|
||||
futures-lite = "1.13"
|
||||
gh-workflow = { git = "https://github.com/zed-industries/gh-workflow", rev = "c9eac0ed361583e1072860d96776fa52775b82ac" }
|
||||
gh-workflow = { git = "https://github.com/zed-industries/gh-workflow", rev = "09acfdf2bd5c1d6254abefd609c808ff73547b2c" }
|
||||
git2 = { version = "0.20.1", default-features = false }
|
||||
globset = "0.4"
|
||||
handlebars = "4.3"
|
||||
|
|
|
|||
1
crates/collab/src/db/tests.rs
Normal file
1
crates/collab/src/db/tests.rs
Normal file
|
|
@ -0,0 +1 @@
|
|||
|
||||
|
|
@ -122,13 +122,9 @@ impl TestDb {
|
|||
#[macro_export]
|
||||
macro_rules! test_both_dbs {
|
||||
($test_name:ident, $postgres_test_name:ident, $sqlite_test_name:ident) => {
|
||||
#[cfg(target_os = "macos")]
|
||||
#[gpui::test]
|
||||
async fn $postgres_test_name(cx: &mut gpui::TestAppContext) {
|
||||
// In CI, only run postgres tests on Linux (where we have the postgres service).
|
||||
// Locally, always run them (assuming postgres is available).
|
||||
if std::env::var("CI").is_ok() && !cfg!(target_os = "linux") {
|
||||
return;
|
||||
}
|
||||
let test_db = $crate::db_tests::TestDb::postgres(cx.executor().clone());
|
||||
$test_name(test_db.db()).await;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -542,13 +542,9 @@ fn test_fuzzy_like_string() {
|
|||
assert_eq!(Database::fuzzy_like_string(" z "), "%z%");
|
||||
}
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
#[gpui::test]
|
||||
async fn test_fuzzy_search_users(cx: &mut gpui::TestAppContext) {
|
||||
// In CI, only run postgres tests on Linux (where we have the postgres service).
|
||||
// Locally, always run them (assuming postgres is available).
|
||||
if std::env::var("CI").is_ok() && !cfg!(target_os = "linux") {
|
||||
return;
|
||||
}
|
||||
let test_db = TestDb::postgres(cx.executor());
|
||||
let db = test_db.db();
|
||||
for (i, github_login) in [
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ use crate::tasks::workflows::{
|
|||
|
||||
use super::{runners, steps, steps::named, vars};
|
||||
use gh_workflow::*;
|
||||
use indoc::indoc;
|
||||
|
||||
pub(crate) fn build_nix(
|
||||
platform: Platform,
|
||||
|
|
@ -13,6 +14,16 @@ pub(crate) fn build_nix(
|
|||
cachix_filter: Option<&str>,
|
||||
deps: &[&NamedJob],
|
||||
) -> NamedJob {
|
||||
// on our macs we manually install nix. for some reason the cachix action is running
|
||||
// under a non-login /bin/bash shell which doesn't source the proper script to add the
|
||||
// nix profile to PATH, so we manually add them here
|
||||
pub fn set_path() -> Step<Run> {
|
||||
named::bash(indoc! {r#"
|
||||
echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
|
||||
echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
|
||||
"#})
|
||||
}
|
||||
|
||||
pub fn install_nix() -> Step<Use> {
|
||||
named::uses(
|
||||
"cachix",
|
||||
|
|
@ -44,6 +55,14 @@ pub(crate) fn build_nix(
|
|||
))
|
||||
}
|
||||
|
||||
pub fn limit_store() -> Step<Run> {
|
||||
named::bash(indoc! {r#"
|
||||
if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
|
||||
nix-collect-garbage -d || true
|
||||
fi"#
|
||||
})
|
||||
}
|
||||
|
||||
let runner = match platform {
|
||||
Platform::Windows => unimplemented!(),
|
||||
Platform::Linux => runners::LINUX_X86_BUNDLER,
|
||||
|
|
@ -67,10 +86,16 @@ pub(crate) fn build_nix(
|
|||
job = job.needs(deps.iter().map(|d| d.name.clone()).collect::<Vec<String>>());
|
||||
}
|
||||
|
||||
job = job
|
||||
.add_step(install_nix())
|
||||
.add_step(cachix_action(cachix_filter))
|
||||
.add_step(build(&flake_output));
|
||||
job = if platform == Platform::Linux {
|
||||
job.add_step(install_nix())
|
||||
.add_step(cachix_action(cachix_filter))
|
||||
.add_step(build(&flake_output))
|
||||
} else {
|
||||
job.add_step(set_path())
|
||||
.add_step(cachix_action(cachix_filter))
|
||||
.add_step(build(&flake_output))
|
||||
.add_step(limit_store())
|
||||
};
|
||||
|
||||
NamedJob {
|
||||
name: format!("build_nix_{platform}_{arch}"),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
use gh_workflow::{
|
||||
Concurrency, Container, Event, Expression, Job, Port, PullRequest, Push, Run, Step, Use,
|
||||
Workflow,
|
||||
Concurrency, Event, Expression, Job, PullRequest, Push, Run, Step, Use, Workflow,
|
||||
};
|
||||
use indexmap::IndexMap;
|
||||
|
||||
|
|
@ -341,35 +340,19 @@ pub(crate) fn run_platform_tests(platform: Platform) -> NamedJob {
|
|||
name: format!("run_tests_{platform}"),
|
||||
job: release_job(&[])
|
||||
.runs_on(runner)
|
||||
.when(platform == Platform::Linux, |job| {
|
||||
job.add_service(
|
||||
"postgres",
|
||||
Container::new("postgres:15")
|
||||
.add_env(("POSTGRES_HOST_AUTH_METHOD", "trust"))
|
||||
.ports(vec![Port::Name("5432:5432".into())])
|
||||
.options(
|
||||
"--health-cmd pg_isready \
|
||||
--health-interval 500ms \
|
||||
--health-timeout 5s \
|
||||
--health-retries 10",
|
||||
),
|
||||
)
|
||||
})
|
||||
.add_step(steps::checkout_repo())
|
||||
.add_step(steps::setup_cargo_config(platform))
|
||||
.when(
|
||||
platform == Platform::Linux || platform == Platform::Mac,
|
||||
|this| this.add_step(steps::cache_rust_dependencies_namespace()),
|
||||
)
|
||||
.when(platform == Platform::Linux, |this| {
|
||||
this.add_step(steps::cache_rust_dependencies_namespace())
|
||||
})
|
||||
.when(
|
||||
platform == Platform::Linux,
|
||||
steps::install_linux_dependencies,
|
||||
)
|
||||
.add_step(steps::setup_node())
|
||||
.when(
|
||||
platform == Platform::Linux || platform == Platform::Mac,
|
||||
|job| job.add_step(steps::cargo_install_nextest()),
|
||||
)
|
||||
.when(platform == Platform::Linux, |job| {
|
||||
job.add_step(steps::cargo_install_nextest())
|
||||
})
|
||||
.add_step(steps::clear_target_dir_if_large(platform))
|
||||
.add_step(steps::cargo_nextest(platform))
|
||||
.add_step(steps::cleanup_cargo_config(platform)),
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ pub const LINUX_ARM_BUNDLER: Runner = Runner("namespace-profile-8x32-ubuntu-2004
|
|||
// Larger Ubuntu runner with glibc 2.39 for extension bundling
|
||||
pub const LINUX_LARGE_RAM: Runner = Runner("namespace-profile-8x32-ubuntu-2404");
|
||||
|
||||
pub const MAC_DEFAULT: Runner = Runner("namespace-profile-mac-large");
|
||||
pub const MAC_DEFAULT: Runner = Runner("self-mini-macos");
|
||||
pub const WINDOWS_DEFAULT: Runner = Runner("self-32vcpu-windows-2022");
|
||||
|
||||
pub struct Runner(&'static str);
|
||||
|
|
|
|||
Loading…
Reference in a new issue