mirror of
https://github.com/bolucat/Archive.git
synced 2026-04-23 00:17:16 +08:00
Update On Wed Sep 11 20:35:31 CEST 2024
This commit is contained in:
+74
-25
@@ -14,11 +14,17 @@ on:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
aarch64:
|
||||
description: "Build for aarch64"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
arch:
|
||||
type: choice
|
||||
description: "build arch target"
|
||||
required: true
|
||||
default: "x86_64"
|
||||
options:
|
||||
- x86_64
|
||||
- i686
|
||||
- aarch64
|
||||
- armel
|
||||
- armhf
|
||||
|
||||
workflow_call:
|
||||
inputs:
|
||||
@@ -33,11 +39,11 @@ on:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
aarch64:
|
||||
description: "Build for aarch64"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
arch:
|
||||
type: string
|
||||
description: "build arch target"
|
||||
required: true
|
||||
default: "x86_64"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -52,12 +58,27 @@ jobs:
|
||||
rustup install stable --profile minimal --no-self-update
|
||||
rustup default stable
|
||||
- name: Setup Cargo binstall
|
||||
if: ${{ inputs.aarch64 == true }}
|
||||
if: ${{ inputs.arch != 'x86_64' }}
|
||||
uses: cargo-bins/cargo-binstall@main
|
||||
- name: Setup Cross Toolchain
|
||||
if: ${{ inputs.aarch64 == true }}
|
||||
if: ${{ inputs.arch != 'x86_64' }}
|
||||
shell: bash
|
||||
run: |
|
||||
rustup target add aarch64-unknown-linux-gnu
|
||||
case "${{ inputs.arch }}" in
|
||||
"i686")
|
||||
rustup target add i686-unknown-linux-gnu
|
||||
;;
|
||||
"aarch64")
|
||||
rustup target add aarch64-unknown-linux-gnu
|
||||
;;
|
||||
"armel")
|
||||
rustup target add armv7-unknown-linux-gnueabi
|
||||
;;
|
||||
"armhf")
|
||||
rustup target add armv7-unknown-linux-gnueabihf
|
||||
;;
|
||||
esac
|
||||
|
||||
cargo binstall -y cross
|
||||
- name: Setup Toolchain
|
||||
run: |
|
||||
@@ -80,10 +101,29 @@ jobs:
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Pnpm install deps and download resources
|
||||
- name: Install Node.js dependencies
|
||||
run: |
|
||||
pnpm i
|
||||
${{ inputs.aarch64 == true && 'pnpm check --arch arm64 --sidecar-host aarch64-unknown-linux-gnu' || 'pnpm check' }}
|
||||
- name: Prepare sidecars and resources
|
||||
shell: bash
|
||||
run: |
|
||||
case "${{ inputs.arch }}" in
|
||||
"x86_64")
|
||||
pnpm check
|
||||
;;
|
||||
"i686")
|
||||
pnpm check --arch ia32 --sidecar-host i686-unknown-linux-gnu
|
||||
;;
|
||||
"aarch64")
|
||||
pnpm check --arch arm64 --sidecar-host aarch64-unknown-linux-gnu
|
||||
;;
|
||||
"armel")
|
||||
pnpm check --arch armel --sidecar-host armv7-unknown-linux-gnueabi
|
||||
;;
|
||||
"armhf")
|
||||
pnpm check --arch arm --sidecar-host armv7-unknown-linux-gnueabihf
|
||||
;;
|
||||
esac
|
||||
|
||||
- name: Nightly Prepare
|
||||
if: ${{ inputs.nightly == true }}
|
||||
@@ -92,9 +132,9 @@ jobs:
|
||||
- name: Build UI
|
||||
run: |
|
||||
pnpm -F ui build
|
||||
- name: Tauri build
|
||||
- name: Tauri build (x86_64)
|
||||
uses: tauri-apps/tauri-action@v0
|
||||
if: ${{ inputs.aarch64 == false }}
|
||||
if: ${{ inputs.arch == 'x86_64' }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
||||
@@ -108,21 +148,30 @@ jobs:
|
||||
prerelease: true
|
||||
tauriScript: pnpm tauri
|
||||
args: ${{ inputs.nightly == true && '-f nightly -c ./backend/tauri/tauri.nightly.conf.json' || '-f default-meta' }}
|
||||
- name: Tauri build and upload (aarch64)
|
||||
if: ${{ inputs.aarch64 == true }}
|
||||
- name: Tauri build and upload (cross)
|
||||
if: ${{ inputs.arch != 'x86_64' }}
|
||||
shell: bash
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
||||
NIGHTLY: ${{ inputs.nightly == true && 'true' || 'false' }}
|
||||
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
|
||||
CC_aarch64_unknown_linux_gnu: aarch64-linux-gnu-gcc
|
||||
CXX_aarch64_unknown_linux_gnu: aarch64-linux-gnu-g++
|
||||
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
PKG_CONFIG_ALLOW_CROSS: 1
|
||||
run: |
|
||||
${{ inputs.nightly == true && 'pnpm build:nightly -r cross --target aarch64-unknown-linux-gnu -b "rpm,deb,updater"' || 'pnpm build -r cross --target aarch64-unknown-linux-gnu -b "rpm,deb,updater"' }}
|
||||
case "${{ inputs.arch }}" in
|
||||
"i686")
|
||||
${{ inputs.nightly == true && 'pnpm build:nightly -r cross --target i686-unknown-linux-gnu -b "rpm,deb,updater"' || 'pnpm build -r cross --target i686-unknown-linux-gnu -b "rpm,deb,updater"' }}
|
||||
;;
|
||||
"aarch64")
|
||||
${{ inputs.nightly == true && 'pnpm build:nightly -r cross --target aarch64-unknown-linux-gnu -b "rpm,deb,updater"' || 'pnpm build -r cross --target aarch64-unknown-linux-gnu -b "rpm,deb,updater"' }}
|
||||
;;
|
||||
"armel")
|
||||
${{ inputs.nightly == true && 'pnpm build:nightly -r cross --target armv7-unknown-linux-gnueabi -b "rpm,deb,updater"' || 'pnpm build -r cross --target armv7-unknown-linux-gnueabi -b "rpm,deb,updater"' }}
|
||||
;;
|
||||
"armhf")
|
||||
${{ inputs.nightly == true && 'pnpm build:nightly -r cross --target armv7-unknown-linux-gnueabihf -b "rpm,deb,updater"' || 'pnpm build -r cross --target armv7-unknown-linux-gnueabihf -b "rpm,deb,updater"' }}
|
||||
;;
|
||||
esac
|
||||
|
||||
find ./backend/target \( -name "*.deb" -o -name "*.rpm" \) | while read file; do
|
||||
gh release upload ${{ inputs.tag }} "$file" --clobber
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user