rip out tauri bundle (v2), swc -> esbuild, blacksmith -> warpbuild, FAST CI 🚀 (#5328)
- inline mac, windows, linux bundling in the cli - remove tauri bundle from our dep tree - trim down the rpm crate for fewer dependencies in tree - migrate from blacksmith to warpbuild - move off swc and instead use esbuild via tool - use dev drives in windows CI - use fork of nix action for faster caching - test bundling in CI - fix asset handling in linux - add default APPDATA location for webview2 installs for dioxus apps on windows
This commit is contained in:
1 parent
be7296f4f0
commit
b2d01e6779
83 files changed
+7756
-5403
No files matched your search
@@ -439,6 +439,7 @@ impl Output {
|
||||
/// Render the current state of everything to the console screen
|
||||
pub fn render(&mut self, runner: &AppServer, server: &WebServer) {
|
||||
if !self.interactive {
|
||||
self.emit_logs_to_tracing();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1094,11 +1095,31 @@ impl Output {
|
||||
|
||||
lines
|
||||
}
|
||||
|
||||
/// Drains the current log queue to tracing so they still get printed even if the output is non-interactive
|
||||
fn emit_logs_to_tracing(&mut self) {
|
||||
// In non-interactive mode (CI, piped output), drain pending logs to tracing
|
||||
// so they still appear in stdout/stderr instead of being silently dropped.
|
||||
while let Some(log) = self.pending_logs.pop_back() {
|
||||
let msg = match &log.content {
|
||||
TraceContent::Text(s) => s.as_str(),
|
||||
TraceContent::Cargo(d) => d.message.as_str(),
|
||||
};
|
||||
match log.level {
|
||||
Level::ERROR => tracing::error!("{msg}"),
|
||||
Level::WARN => tracing::warn!("{msg}"),
|
||||
Level::INFO => tracing::info!("{msg}"),
|
||||
Level::DEBUG => tracing::debug!("{msg}"),
|
||||
Level::TRACE => tracing::trace!("{msg}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl std::ops::Drop for Output {
|
||||
fn drop(&mut self) {
|
||||
if !self.interactive {
|
||||
self.emit_logs_to_tracing();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -300,7 +300,7 @@ impl AppServer {
|
||||
let mut changes: Vec<_> = event.into_iter().collect();
|
||||
|
||||
// Dequeue in bulk if we can, we might've received a lot of events in one go
|
||||
while let Some(event) = self.watcher_rx.try_next().ok().flatten() {
|
||||
while let Ok(event) = self.watcher_rx.try_recv() {
|
||||
changes.push(event);
|
||||
}
|
||||
|
||||
@@ -1313,7 +1313,7 @@ impl AppServer {
|
||||
let depth = relative.components().count();
|
||||
let is_better = best_match
|
||||
.as_ref()
|
||||
.map_or(true, |(_, best_depth)| depth < *best_depth);
|
||||
.is_none_or(|(_, best_depth)| depth < *best_depth);
|
||||
if is_better {
|
||||
best_match = Some((krate.name.replace('-', "_"), depth));
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ use futures_util::{
|
||||
StreamExt,
|
||||
};
|
||||
use hyper::HeaderMap;
|
||||
use rustls::crypto::{aws_lc_rs::default_provider, CryptoProvider};
|
||||
use rustls::crypto::{ring::default_provider, CryptoProvider};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::{
|
||||
convert::Infallible,
|
||||
|
||||
Reference in new issue
Block a user