1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-19 17:53:39 +00:00

Re-apply desktop native debug log level debug builds and fix build workflow (#17908)

* Reapply "Desktop Native compile debug builds with debug log level (#17357)" (#17815)

This reverts commit 5386b58f23.

* Use release mode if workflow called from upstream

* fix bug in build script

* revert napi build command to not use --release

* forward caller's args to napi

* js things

* shell thangs

* use platform agnostic expansion

* Revert "use platform agnostic expansion"

This reverts commit 5ee629f822.

* powershell expansion
This commit is contained in:
neuronull
2025-12-11 12:44:51 -07:00
committed by GitHub
parent 4c971c70c0
commit 22e9c6a72f
5 changed files with 52 additions and 12 deletions

View File

@@ -583,7 +583,9 @@ jobs:
- name: Build Native Module - name: Build Native Module
if: steps.cache.outputs.cache-hit != 'true' if: steps.cache.outputs.cache-hit != 'true'
working-directory: apps/desktop/desktop_native working-directory: apps/desktop/desktop_native
run: node build.js cross-platform env:
MODE: ${{ github.event_name == 'workflow_call' && '--release' || '' }}
run: node build.js cross-platform "$env:MODE"
- name: Build - name: Build
run: npm run build run: npm run build
@@ -846,7 +848,9 @@ jobs:
- name: Build Native Module - name: Build Native Module
if: steps.cache.outputs.cache-hit != 'true' if: steps.cache.outputs.cache-hit != 'true'
working-directory: apps/desktop/desktop_native working-directory: apps/desktop/desktop_native
run: node build.js cross-platform env:
MODE: ${{ github.event_name == 'workflow_call' && '--release' || '' }}
run: node build.js cross-platform "$env:MODE"
- name: Build - name: Build
run: npm run build run: npm run build
@@ -1202,7 +1206,9 @@ jobs:
- name: Build Native Module - name: Build Native Module
if: steps.cache.outputs.cache-hit != 'true' if: steps.cache.outputs.cache-hit != 'true'
working-directory: apps/desktop/desktop_native working-directory: apps/desktop/desktop_native
run: node build.js cross-platform env:
MODE: ${{ github.event_name == 'workflow_call' && '--release' || '' }}
run: node build.js cross-platform "$MODE"
- name: Build application (dev) - name: Build application (dev)
run: npm run build run: npm run build
@@ -1424,7 +1430,9 @@ jobs:
- name: Build Native Module - name: Build Native Module
if: steps.cache.outputs.cache-hit != 'true' if: steps.cache.outputs.cache-hit != 'true'
working-directory: apps/desktop/desktop_native working-directory: apps/desktop/desktop_native
run: node build.js cross-platform env:
MODE: ${{ github.event_name == 'workflow_call' && '--release' || '' }}
run: node build.js cross-platform "$MODE"
- name: Build - name: Build
if: steps.build-cache.outputs.cache-hit != 'true' if: steps.build-cache.outputs.cache-hit != 'true'
@@ -1705,7 +1713,9 @@ jobs:
- name: Build Native Module - name: Build Native Module
if: steps.cache.outputs.cache-hit != 'true' if: steps.cache.outputs.cache-hit != 'true'
working-directory: apps/desktop/desktop_native working-directory: apps/desktop/desktop_native
run: node build.js cross-platform env:
MODE: ${{ github.event_name == 'workflow_call' && '--release' || '' }}
run: node build.js cross-platform "$MODE"
- name: Build - name: Build
if: steps.build-cache.outputs.cache-hit != 'true' if: steps.build-cache.outputs.cache-hit != 'true'

View File

@@ -113,8 +113,8 @@ if (process.platform === "linux") {
platformTargets.forEach(([target, _]) => { platformTargets.forEach(([target, _]) => {
installTarget(target); installTarget(target);
buildNapiModule(target); buildNapiModule(target, mode === "release");
buildProxyBin(target); buildProxyBin(target, mode === "release");
buildImporterBinaries(target); buildImporterBinaries(target, mode === "release");
buildProcessIsolation(); buildProcessIsolation();
}); });

View File

@@ -3,7 +3,7 @@
"version": "0.1.0", "version": "0.1.0",
"description": "", "description": "",
"scripts": { "scripts": {
"build": "napi build --platform --no-js", "build": "node scripts/build.js",
"test": "cargo test" "test": "cargo test"
}, },
"author": "", "author": "",

View File

@@ -0,0 +1,22 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const { execSync } = require('child_process');
const args = process.argv.slice(2);
const isRelease = args.includes('--release');
const argsString = args.join(' ');
if (isRelease) {
console.log('Building release mode.');
execSync(`napi build --platform --no-js ${argsString}`, { stdio: 'inherit'});
} else {
console.log('Building debug mode.');
execSync(`napi build --platform --no-js ${argsString}`, {
stdio: 'inherit',
env: { ...process.env, RUST_LOG: 'debug' }
});
}

View File

@@ -994,7 +994,7 @@ pub mod logging {
}; };
use tracing::Level; use tracing::Level;
use tracing_subscriber::{ use tracing_subscriber::{
filter::{EnvFilter, LevelFilter}, filter::EnvFilter,
fmt::format::{DefaultVisitor, Writer}, fmt::format::{DefaultVisitor, Writer},
layer::SubscriberExt, layer::SubscriberExt,
util::SubscriberInitExt, util::SubscriberInitExt,
@@ -1082,9 +1082,17 @@ pub mod logging {
pub fn init_napi_log(js_log_fn: ThreadsafeFunction<FnArgs<(LogLevel, String)>>) { pub fn init_napi_log(js_log_fn: ThreadsafeFunction<FnArgs<(LogLevel, String)>>) {
let _ = JS_LOGGER.0.set(js_log_fn); let _ = JS_LOGGER.0.set(js_log_fn);
// the log level hierarchy is determined by:
// - if RUST_LOG is detected at runtime
// - if RUST_LOG is provided at compile time
// - default to INFO
let filter = EnvFilter::builder() let filter = EnvFilter::builder()
// set the default log level to INFO. .with_default_directive(
.with_default_directive(LevelFilter::INFO.into()) option_env!("RUST_LOG")
.unwrap_or("info")
.parse()
.expect("should provide valid log level at compile time."),
)
// parse directives from the RUST_LOG environment variable, // parse directives from the RUST_LOG environment variable,
// overriding the default directive for matching targets. // overriding the default directive for matching targets.
.from_env_lossy(); .from_env_lossy();