This commit is contained in:
Michel Loiseleur 2024-04-25 16:38:01 -06:00 committed by GitHub
commit a96fdfe3d4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 88 additions and 10 deletions

View File

@ -131,6 +131,67 @@ jobs:
path: apps/cli/dist/bw-${{ env.LOWER_RUNNER_OS }}-sha256-${{ env._PACKAGE_VERSION }}.txt
if-no-files-found: error
cli-arm64:
name: Build CLI Linux arm64
runs-on: ubuntu-22.04
needs:
- setup
env:
_PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }}
_NODE_VERSION: ${{ needs.setup.outputs.node_version }}
steps:
- name: Checkout repo
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Setup Unix Vars
run: |
echo "LOWER_RUNNER_OS=$(echo $RUNNER_OS | awk '{print tolower($0)}')" >> $GITHUB_ENV
echo "SHORT_RUNNER_OS=$(echo $RUNNER_OS | awk '{print substr($0, 1, 3)}' | \
awk '{print tolower($0)}')" >> $GITHUB_ENV
- name: Configure binfmt with QEMU User Emulation
run: |
sudo apt install binfmt-support qemu-user-static
- name: Set up Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
node-version: ${{ env._NODE_VERSION }}
- name: Install
run: npm ci
working-directory: ./
- name: Build & Package Unix
run: npm run dist:${{ env.SHORT_RUNNER_OS }}:arm64 --quiet
- name: Zip Unix
run: |
cd ./dist/${{ env.LOWER_RUNNER_OS }}-arm64
zip ../bw-${{ env.LOWER_RUNNER_OS }}-arm64-${{ env._PACKAGE_VERSION }}.zip ./bw
- name: Create checksums Unix
run: |
cd ./dist
shasum -a 256 bw-${{ env.LOWER_RUNNER_OS }}-arm64-${{ env._PACKAGE_VERSION }}.zip \
| awk '{split($0, a); print a[1]}' > bw-${{ env.LOWER_RUNNER_OS }}-arm64-sha256-${{ env._PACKAGE_VERSION }}.txt
- name: Upload unix zip asset
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: bw-${{ env.LOWER_RUNNER_OS }}-arm64-${{ env._PACKAGE_VERSION }}.zip
path: apps/cli/dist/bw-${{ env.LOWER_RUNNER_OS }}-arm64-${{ env._PACKAGE_VERSION }}.zip
if-no-files-found: error
- name: Upload unix checksum asset
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: bw-${{ env.LOWER_RUNNER_OS }}-arm64-sha256-${{ env._PACKAGE_VERSION }}.txt
path: apps/cli/dist/bw-${{ env.LOWER_RUNNER_OS }}-arm64-sha256-${{ env._PACKAGE_VERSION }}.txt
if-no-files-found: error
cli-windows:
name: Build CLI Windows
runs-on: windows-2022
@ -360,6 +421,7 @@ jobs:
needs:
- setup
- cli
- cli-arm64
- cli-windows
- snap
steps:

View File

@ -27,11 +27,13 @@
"package:win": "pkg . --targets win-x64 --output ./dist/windows/bw.exe",
"package:mac": "pkg . --targets macos-x64 --output ./dist/macos/bw",
"package:lin": "pkg . --targets linux-x64 --output ./dist/linux/bw",
"package:lin:arm64": "pkg . --targets linux-arm64 --output ./dist/linux-arm64/bw",
"debug": "node --inspect ./build/bw.js",
"dist": "npm run build:prod && npm run clean && npm run package",
"dist:win": "npm run build:prod && npm run clean && npm run package:win",
"dist:mac": "npm run build:prod && npm run clean && npm run package:mac",
"dist:lin": "npm run build:prod && npm run clean && npm run package:lin",
"dist:lin:arm64": "npm run build:prod && npm run clean && npm run package:lin:arm64",
"publish:npm": "npm run build:prod && npm publish --access public",
"test": "jest",
"test:watch": "jest --watch",
@ -49,7 +51,7 @@
"dependencies": {
"@koa/multer": "3.0.2",
"@koa/router": "12.0.1",
"argon2": "0.31.0",
"argon2": "0.40.1",
"big-integer": "1.6.51",
"browser-hrtime": "1.1.8",
"chalk": "4.1.2",

30
package-lock.json generated
View File

@ -29,7 +29,7 @@
"@microsoft/signalr": "8.0.0",
"@microsoft/signalr-protocol-msgpack": "8.0.0",
"@ng-select/ng-select": "11.2.0",
"argon2": "0.31.0",
"argon2": "0.40.1",
"argon2-browser": "1.18.0",
"big-integer": "1.6.51",
"bootstrap": "4.6.0",
@ -202,7 +202,7 @@
"dependencies": {
"@koa/multer": "3.0.2",
"@koa/router": "12.0.1",
"argon2": "0.31.0",
"argon2": "0.40.1",
"big-integer": "1.6.51",
"browser-hrtime": "1.1.8",
"chalk": "4.1.2",
@ -231,6 +231,20 @@
"bw": "build/bw.js"
}
},
"apps/cli/node_modules/argon2": {
"version": "0.31.2",
"resolved": "https://registry.npmjs.org/argon2/-/argon2-0.31.2.tgz",
"integrity": "sha512-QSnJ8By5Mth60IEte45w9Y7v6bWcQw3YhRtJKKN8oNCxnTLDiv/AXXkDPf2srTMfxFVn3QJdVv2nhXESsUa+Yg==",
"hasInstallScript": true,
"dependencies": {
"@mapbox/node-pre-gyp": "^1.0.11",
"@phc/format": "^1.0.0",
"node-addon-api": "^7.0.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"apps/desktop": {
"name": "@bitwarden/desktop",
"version": "2024.4.3",
@ -12457,17 +12471,17 @@
"dev": true
},
"node_modules/argon2": {
"version": "0.31.0",
"resolved": "https://registry.npmjs.org/argon2/-/argon2-0.31.0.tgz",
"integrity": "sha512-r56NWwlE3tjD/FIqL1T+V4Ka+Mb5yMF35w1YWHpwpEjeONXBUbxmjhWkWqY63mse8lpcZ+ZZIGpKL+s+qXhyfg==",
"version": "0.40.1",
"resolved": "https://registry.npmjs.org/argon2/-/argon2-0.40.1.tgz",
"integrity": "sha512-DjtHDwd7pm12qeWyfihHoM8Bn5vGcgH6sKwgPqwNYroRmxlrzadHEvMyuvQxN/V8YSyRRKD5x6ito09q1e9OyA==",
"hasInstallScript": true,
"dependencies": {
"@mapbox/node-pre-gyp": "^1.0.11",
"@phc/format": "^1.0.0",
"node-addon-api": "^7.0.0"
"node-addon-api": "^7.1.0",
"node-gyp-build": "^4.8.0"
},
"engines": {
"node": ">=14.0.0"
"node": ">=16.17.0"
}
},
"node_modules/argon2-browser": {

View File

@ -162,7 +162,7 @@
"@microsoft/signalr": "8.0.0",
"@microsoft/signalr-protocol-msgpack": "8.0.0",
"@ng-select/ng-select": "11.2.0",
"argon2": "0.31.0",
"argon2": "0.40.1",
"argon2-browser": "1.18.0",
"big-integer": "1.6.51",
"bootstrap": "4.6.0",