ebkalderon / tower-lsp

Language Server Protocol implementation written in Rust
Apache License 2.0
1.02k stars 58 forks source link

Fix continue-on-error behavior in GitHub Actions #286

Closed ebkalderon closed 3 years ago

ebkalderon commented 3 years ago

Fixed

ebkalderon commented 3 years ago

Seems there are some spurious errors occurring lately in the { os: macOS-latest, rust-version: beta } builds. I've noticed them occurring in #285 as well. :confused:

Error: thread 'service::tests::initializes_only_once' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }', src/service.rs:196:66

As far as I can tell from the logs, this seems like a platform and toolchain-specific IO issue. I think we should temporarily disable this job for the time being.

At least matrix.continue-on-error seems to be behaving as expected now!

ebkalderon commented 3 years ago

Nope, it seems that Rust 1.52.1 stable on macOS is affected by this issue as well, so these don't appear to be transient errors. I've found that switching all the test cases over to #[tokio::test(flavor = "current_thread")] miraculously fixes the problems on macOS. I wonder if there is a platform-specific regression inside tokio on macOS specifically? Seems odd that no other platform has run into this.