浏览代码

fix(ci): use rustls on publish-cli-js workflow (#6847)

Lucas Fernandes Nogueira 2 年之前
父节点
当前提交
5053a9c4c4

+ 12 - 12
.github/workflows/publish-cli-js.yml

@@ -30,14 +30,14 @@ jobs:
             target: x86_64-apple-darwin
             architecture: x64
             build: |
-              yarn build:release
+              yarn build:release --features rustls
               strip -x *.node
           - host: windows-latest
-            build: yarn build:release
+            build: yarn build:release --features rustls
             target: x86_64-pc-windows-msvc
             architecture: x64
           - host: windows-latest
-            build: yarn build:release --target i686-pc-windows-msvc
+            build: yarn build:release --features rustls --target i686-pc-windows-msvc
             target: i686-pc-windows-msvc
             architecture: x64
           - host: ubuntu-20.04
@@ -45,26 +45,26 @@ jobs:
             docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
             build: |
               cd tooling/cli/node
-              yarn build:release --target x86_64-unknown-linux-gnu
+              yarn build:release --features rustls --target x86_64-unknown-linux-gnu
               strip *.node
           - host: ubuntu-20.04
             target: x86_64-unknown-linux-musl
             docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
             build: |
               cd tooling/cli/node
-              yarn build:release
+              yarn build:release --features rustls
               strip *.node
           - host: macos-latest
             target: aarch64-apple-darwin
             build: |
-              yarn build:release --target=aarch64-apple-darwin
+              yarn build:release --features rustls --target=aarch64-apple-darwin
               strip -x *.node
           - host: ubuntu-20.04
             target: aarch64-unknown-linux-gnu
             docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
             build: |
               cd tooling/cli/node
-              yarn build:release --target aarch64-unknown-linux-gnu
+              yarn build:release --features rustls --target aarch64-unknown-linux-gnu
               aarch64-unknown-linux-gnu-strip *.node
           - host: ubuntu-20.04
             architecture: x64
@@ -73,7 +73,7 @@ jobs:
               sudo apt-get update
               sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y
             build: |
-              yarn build:release --target=armv7-unknown-linux-gnueabihf
+              yarn build:release --features rustls --target=armv7-unknown-linux-gnueabihf
               arm-linux-gnueabihf-strip *.node
           - host: ubuntu-20.04
             architecture: x64
@@ -82,12 +82,12 @@ jobs:
             build: |
               cd tooling/cli/node
               rustup target add aarch64-unknown-linux-musl
-              yarn build:release --target aarch64-unknown-linux-musl
+              yarn build:release --features rustls --target aarch64-unknown-linux-musl
               /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node
           #- host: windows-latest
           #  architecture: x64
           #  target: aarch64-pc-windows-msvc
-          #  build: yarn build:release --target aarch64-pc-windows-msvc
+          #  build: yarn build:release --features rustls --target aarch64-pc-windows-msvc
     name: stable - ${{ matrix.settings.target }} - node@16
     runs-on: ${{ matrix.settings.host }}
     steps:
@@ -179,7 +179,7 @@ jobs:
   #            freebsd-version
   #            cd ./tooling/cli/node/
   #            yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
-  #            yarn build:release
+  #            yarn build:release --features rustls
   #            strip -x *.node
   #            rm -rf node_modules
   #            rm -rf ../target
@@ -299,7 +299,7 @@ jobs:
         shell: bash
       - name: Install system dependencies
         run: |
-          apk add openssl-dev musl-dev glib-dev cairo-dev pkgconfig gdk-pixbuf-dev webkit2gtk-dev curl libappindicator-dev gtk+3.0-dev
+          apk add openssl-dev musl-dev glib-dev cairo-dev pkgconfig gdk-pixbuf-dev webkit2gtk-dev curl gtk+3.0-dev
       - name: Setup and run tests
         run: |
           yarn tauri --help

+ 6 - 1
tooling/bundler/Cargo.toml

@@ -33,7 +33,7 @@ log = { version = "0.4.17", features = [ "kv_unstable" ] }
 dirs-next = "2.0"
 encoding_rs = "0.8"
 os_pipe = "1"
-attohttpc = "0.24"
+attohttpc = { version = "0.24", default-features = false }
 hex = "0.4"
 semver = "1"
 sha1 = "0.10"
@@ -62,3 +62,8 @@ md5 = "0.7.0"
 [lib]
 name = "tauri_bundler"
 path = "src/lib.rs"
+
+[features]
+default = ["attohttpc/default"]
+native-tls-vendored = ["attohttpc/tls-native-vendored"]
+rustls = ["attohttpc/rustls"]

文件差异内容过多而无法显示
+ 247 - 223
tooling/cli/Cargo.lock


+ 6 - 1
tooling/cli/Cargo.toml

@@ -41,7 +41,7 @@ path = "src/main.rs"
 [dependencies]
 clap = { version = "4.0", features = [ "derive" ] }
 anyhow = "1.0"
-tauri-bundler = { version = "1.2.0", path = "../bundler" }
+tauri-bundler = { version = "1.2.0", path = "../bundler", default-features = false }
 colored = "2.0"
 once_cell = "1"
 serde = { version = "1.0", features = [ "derive" ] }
@@ -90,3 +90,8 @@ libc = "0.2"
 
 [profile.release]
 lto = true
+
+[features]
+default = ["tauri-bundler/default"]
+native-tls-vendored = ["tauri-bundler/native-tls-vendored"]
+rustls = ["tauri-bundler/rustls"]

+ 5 - 1
tooling/cli/node/Cargo.toml

@@ -10,8 +10,12 @@ crate-type = ["cdylib"]
 # Default enable napi4 feature, see https://nodejs.org/api/n-api.html#node-api-version-matrix
 napi = { version = "2.12", default-features = false, features = ["napi4"] }
 napi-derive = "2.12"
-tauri-cli = { path = ".." }
+tauri-cli = { path = "..", default-features = false }
 log = "0.4.17"
 
 [build-dependencies]
 napi-build = "2.0"
+
+[features]
+native-tls-vendored = ["tauri-cli/native-tls-vendored"]
+rustls = ["tauri-cli/rustls"]

+ 0 - 4
tooling/cli/node/index.d.ts

@@ -1,7 +1,3 @@
-// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
-// SPDX-License-Identifier: Apache-2.0
-// SPDX-License-Identifier: MIT
-
 /* tslint:disable */
 /* eslint-disable */
 

+ 16 - 4
tooling/cli/node/index.js

@@ -1,6 +1,8 @@
-// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
-// SPDX-License-Identifier: Apache-2.0
-// SPDX-License-Identifier: MIT
+/* tslint:disable */
+/* eslint-disable */
+/* prettier-ignore */
+
+/* auto-generated by NAPI-RS */
 
 const { existsSync, readFileSync } = require('fs')
 const { join } = require('path')
@@ -15,7 +17,8 @@ function isMusl() {
   // For Node 10
   if (!process.report || typeof process.report.getReport !== 'function') {
     try {
-      return readFileSync('/usr/bin/ldd', 'utf8').includes('musl')
+      const lddPath = require('child_process').execSync('which ldd').toString().trim();
+      return readFileSync(lddPath, 'utf8').includes('musl')
     } catch (e) {
       return true
     }
@@ -105,6 +108,15 @@ switch (platform) {
     }
     break
   case 'darwin':
+    localFileExisted = existsSync(join(__dirname, 'cli.darwin-universal.node'))
+    try {
+      if (localFileExisted) {
+        nativeBinding = require('./cli.darwin-universal.node')
+      } else {
+        nativeBinding = require('@tauri-apps/cli-darwin-universal')
+      }
+      break
+    } catch {}
     switch (arch) {
       case 'x64':
         localFileExisted = existsSync(join(__dirname, 'cli.darwin-x64.node'))

部分文件因为文件数量过多而无法显示