mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-25 23:04:27 +00:00
ci: Move building visual tests binary to separate step (#53440)
https://github.com/zed-industries/zed/pull/53408 did not solve the root issue of the cache issues we were seeing with building the visual tests binary. Thus, moving this to a separate step here to test how fast it is and removing it from the other test runs - it should not be there anyway and especially not for the tests on release builds. Release Notes: - N/A
This commit is contained in:
parent
c69a91baf8
commit
364ebfcc07
4 changed files with 45 additions and 11 deletions
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
|
@ -43,8 +43,6 @@ jobs:
|
|||
SCCACHE_BUCKET: sccache-zed
|
||||
- name: steps::cargo_nextest
|
||||
run: cargo nextest run --workspace --no-fail-fast --no-tests=warn
|
||||
- name: steps::cargo_build_visual_tests
|
||||
run: cargo build -p zed --bin zed_visual_test_runner --features visual-tests
|
||||
- name: steps::show_sccache_stats
|
||||
run: sccache --show-stats || true
|
||||
- name: steps::cleanup_cargo_config
|
||||
|
|
|
|||
30
.github/workflows/run_tests.yml
vendored
30
.github/workflows/run_tests.yml
vendored
|
|
@ -440,8 +440,6 @@ jobs:
|
|||
SCCACHE_BUCKET: sccache-zed
|
||||
- name: steps::cargo_nextest
|
||||
run: cargo nextest run --workspace --no-fail-fast --no-tests=warn${{ needs.orchestrate.outputs.changed_packages && format(' -E "{0}"', needs.orchestrate.outputs.changed_packages) || '' }}
|
||||
- name: steps::cargo_build_visual_tests
|
||||
run: cargo build -p zed --bin zed_visual_test_runner --features visual-tests
|
||||
- name: steps::show_sccache_stats
|
||||
run: sccache --show-stats || true
|
||||
- name: steps::cleanup_cargo_config
|
||||
|
|
@ -537,6 +535,31 @@ jobs:
|
|||
run: |
|
||||
rm -rf ./../.cargo
|
||||
timeout-minutes: 60
|
||||
build_visual_tests_binary:
|
||||
needs:
|
||||
- orchestrate
|
||||
if: needs.orchestrate.outputs.run_tests == 'true'
|
||||
runs-on: namespace-profile-mac-large
|
||||
steps:
|
||||
- name: steps::checkout_repo
|
||||
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
|
||||
with:
|
||||
clean: false
|
||||
- name: steps::setup_cargo_config
|
||||
run: |
|
||||
mkdir -p ./../.cargo
|
||||
cp ./.cargo/ci-config.toml ./../.cargo/config.toml
|
||||
- name: steps::cache_rust_dependencies_namespace
|
||||
uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
|
||||
with:
|
||||
cache: rust
|
||||
path: ~/.rustup
|
||||
- name: run_tests::build_visual_tests_binary::cargo_build_visual_tests
|
||||
run: cargo build -p zed --bin zed_visual_test_runner --features visual-tests
|
||||
- name: steps::cleanup_cargo_config
|
||||
if: always()
|
||||
run: |
|
||||
rm -rf ./../.cargo
|
||||
check_wasm:
|
||||
needs:
|
||||
- orchestrate
|
||||
|
|
@ -780,6 +803,7 @@ jobs:
|
|||
- run_tests_mac
|
||||
- doctests
|
||||
- check_workspace_binaries
|
||||
- build_visual_tests_binary
|
||||
- check_wasm
|
||||
- check_dependencies
|
||||
- check_docs
|
||||
|
|
@ -810,6 +834,7 @@ jobs:
|
|||
check_result "run_tests_mac" "$RESULT_RUN_TESTS_MAC"
|
||||
check_result "doctests" "$RESULT_DOCTESTS"
|
||||
check_result "check_workspace_binaries" "$RESULT_CHECK_WORKSPACE_BINARIES"
|
||||
check_result "build_visual_tests_binary" "$RESULT_BUILD_VISUAL_TESTS_BINARY"
|
||||
check_result "check_wasm" "$RESULT_CHECK_WASM"
|
||||
check_result "check_dependencies" "$RESULT_CHECK_DEPENDENCIES"
|
||||
check_result "check_docs" "$RESULT_CHECK_DOCS"
|
||||
|
|
@ -830,6 +855,7 @@ jobs:
|
|||
RESULT_RUN_TESTS_MAC: ${{ needs.run_tests_mac.result }}
|
||||
RESULT_DOCTESTS: ${{ needs.doctests.result }}
|
||||
RESULT_CHECK_WORKSPACE_BINARIES: ${{ needs.check_workspace_binaries.result }}
|
||||
RESULT_BUILD_VISUAL_TESTS_BINARY: ${{ needs.build_visual_tests_binary.result }}
|
||||
RESULT_CHECK_WASM: ${{ needs.check_wasm.result }}
|
||||
RESULT_CHECK_DEPENDENCIES: ${{ needs.check_dependencies.result }}
|
||||
RESULT_CHECK_DOCS: ${{ needs.check_docs.result }}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ pub(crate) fn run_tests() -> Workflow {
|
|||
should_run_tests.guard(run_platform_tests(Platform::Mac)),
|
||||
should_run_tests.guard(doctests()),
|
||||
should_run_tests.guard(check_workspace_binaries()),
|
||||
should_run_tests.guard(build_visual_tests_binary()),
|
||||
should_run_tests.guard(check_wasm()),
|
||||
should_run_tests.guard(check_dependencies()), // could be more specific here?
|
||||
should_check_docs.guard(check_docs()),
|
||||
|
|
@ -596,14 +597,27 @@ fn run_platform_tests_impl(platform: Platform, filter_packages: bool) -> NamedJo
|
|||
.when(!filter_packages, |job| {
|
||||
job.add_step(steps::cargo_nextest(platform))
|
||||
})
|
||||
.when(platform == Platform::Mac, |job| {
|
||||
job.add_step(steps::cargo_build_visual_tests())
|
||||
})
|
||||
.add_step(steps::show_sccache_stats(platform))
|
||||
.add_step(steps::cleanup_cargo_config(platform)),
|
||||
}
|
||||
}
|
||||
|
||||
fn build_visual_tests_binary() -> NamedJob {
|
||||
pub fn cargo_build_visual_tests() -> Step<Run> {
|
||||
named::bash("cargo build -p zed --bin zed_visual_test_runner --features visual-tests")
|
||||
}
|
||||
|
||||
named::job(
|
||||
Job::default()
|
||||
.runs_on(runners::MAC_DEFAULT)
|
||||
.add_step(steps::checkout_repo())
|
||||
.add_step(steps::setup_cargo_config(Platform::Mac))
|
||||
.add_step(steps::cache_rust_dependencies_namespace())
|
||||
.add_step(cargo_build_visual_tests())
|
||||
.add_step(steps::cleanup_cargo_config(Platform::Mac)),
|
||||
)
|
||||
}
|
||||
|
||||
pub(crate) fn check_postgres_and_protobuf_migrations() -> NamedJob {
|
||||
fn ensure_fresh_merge() -> Step<Run> {
|
||||
named::bash(indoc::indoc! {r#"
|
||||
|
|
|
|||
|
|
@ -254,10 +254,6 @@ pub fn setup_sccache(platform: Platform) -> Step<Run> {
|
|||
.add_env(("SCCACHE_BUCKET", SCCACHE_R2_BUCKET))
|
||||
}
|
||||
|
||||
pub fn cargo_build_visual_tests() -> Step<Run> {
|
||||
named::bash("cargo build -p zed --bin zed_visual_test_runner --features visual-tests")
|
||||
}
|
||||
|
||||
pub fn show_sccache_stats(platform: Platform) -> Step<Run> {
|
||||
match platform {
|
||||
// Use $env:RUSTC_WRAPPER (absolute path) because GITHUB_PATH changes
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue