node build fixed
This commit is contained in:
151
seanime-2.9.10/.github/workflows/electron-build.yml.new
vendored
Normal file
151
seanime-2.9.10/.github/workflows/electron-build.yml.new
vendored
Normal file
@@ -0,0 +1,151 @@
|
||||
name: Build Electron App
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
appVersion:
|
||||
description: "The version of the app"
|
||||
value: ${{ jobs.build-electron.outputs.app_version }}
|
||||
|
||||
jobs:
|
||||
build-electron:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# IDs:
|
||||
# - seanime-denshi-darwin-arm
|
||||
# - seanime-denshi-darwin-intel
|
||||
# - seanime-denshi-linux
|
||||
# - seanime-denshi-windows
|
||||
include:
|
||||
# For Mac Universal
|
||||
- os: 'macos-latest'
|
||||
id: 'seanime-denshi-darwin-arm64'
|
||||
go_binary_id: 'seanime-server-darwin' # Artifact: go-seanime-server-darwin (contains both arm64 and x86_64)
|
||||
electron_args: '--mac --arm64'
|
||||
# For Intel-based macs
|
||||
- os: 'macos-latest'
|
||||
id: 'seanime-denshi-darwin-x64'
|
||||
go_binary_id: 'seanime-server-darwin' # Artifact: go-seanime-server-darwin (contains both arm64 and x86_64)
|
||||
electron_args: '--mac --x64'
|
||||
# For Linux
|
||||
- os: 'ubuntu-latest'
|
||||
id: 'seanime-denshi-linux-x64'
|
||||
go_binary_id: 'seanime-server-linux' # Artifact: go-seanime-server-linux (contains x86_64)
|
||||
electron_args: '--linux'
|
||||
# For Windows
|
||||
- os: 'windows-latest'
|
||||
id: 'seanime-denshi-windows-x64'
|
||||
go_binary_id: 'seanime-server-windows' # Artifact: go-seanime-server-windows (contains x86_64)
|
||||
electron_args: '--win'
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
outputs:
|
||||
app_version: ${{ steps.get-version.outputs.version }}
|
||||
|
||||
steps:
|
||||
- name: Checkout code 📂
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js 📦
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- name: Get package version 📦
|
||||
id: get-version
|
||||
run: |
|
||||
NODE_VERSION=$(node -p "require('./seanime-denshi/package.json').version")
|
||||
echo "version=$NODE_VERSION" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
||||
|
||||
# Install dependencies
|
||||
- name: Install dependencies (Ubuntu) 📦
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgtk-3-dev libnss3-dev libxss-dev libasound2-dev
|
||||
|
||||
# Download the web folders
|
||||
- name: Download web folder artifact 📥
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: web-denshi
|
||||
path: web-denshi
|
||||
|
||||
# Move web-denshi folder into seanime-denshi
|
||||
- name: Move web-denshi folder 🚚
|
||||
run: mv web-denshi seanime-denshi/
|
||||
shell: bash
|
||||
|
||||
- name: Ensure binaries folder exists (UNIX)
|
||||
if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest'
|
||||
run: mkdir -p ./seanime-denshi/binaries
|
||||
|
||||
- name: Ensure binaries folder exists (Windows)
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: mkdir .\seanime-denshi\binaries
|
||||
|
||||
# Download the server binaries based on matrix.go_binary_id
|
||||
- name: Download server binaries 📥
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: go-${{ matrix.go_binary_id }}
|
||||
path: ./seanime-denshi/binaries
|
||||
|
||||
# Extract server binaries
|
||||
- name: Extract server binaries (macOS x64) 📂
|
||||
if: matrix.os == 'macos-latest' && matrix.id == 'seanime-denshi-darwin-x64'
|
||||
# Extracts seanime-server-darwin-arm64 and seanime-server-darwin-amd64
|
||||
# Only keep seanime-server-darwin-amd64
|
||||
run: |
|
||||
tar -xf ./seanime-denshi/binaries/binaries-${{ matrix.go_binary_id }}.tar -C ./seanime-denshi/binaries
|
||||
# Remove the other binary
|
||||
rm -rf ./seanime-denshi/binaries/seanime-server-darwin-arm64
|
||||
|
||||
- name: Extract server binaries (macOS arm64) 📂
|
||||
if: matrix.os == 'macos-latest' && matrix.id == 'seanime-denshi-darwin-arm64'
|
||||
# Extracts seanime-server-darwin-arm64 and seanime-server-darwin-amd64
|
||||
# Only keep seanime-server-darwin-arm64
|
||||
run: |
|
||||
tar -xf ./seanime-denshi/binaries/binaries-${{ matrix.go_binary_id }}.tar -C ./seanime-denshi/binaries
|
||||
# Remove the other binary
|
||||
rm -rf ./seanime-denshi/binaries/seanime-server-darwin-amd64
|
||||
|
||||
- name: Extract server binaries (Linux) 📂
|
||||
if: matrix.os == 'ubuntu-latest' && matrix.id == 'seanime-denshi-linux-x64'
|
||||
# Extracts seanime-server-linux-amd64
|
||||
run: tar -xf ./seanime-denshi/binaries/binaries-${{ matrix.go_binary_id }}.tar -C ./seanime-denshi/binaries
|
||||
|
||||
- name: Extract server binaries (Windows) 📂
|
||||
if: matrix.os == 'windows-latest'
|
||||
# Extracts seanime-server-windows-amd64
|
||||
run: 7z x ".\seanime-denshi\binaries\binaries-${{ matrix.go_binary_id }}.zip" "-o./seanime-denshi/binaries/"
|
||||
|
||||
# Copy app icon
|
||||
- name: Copy app icon 📝
|
||||
run: |
|
||||
mkdir -p ./seanime-denshi/assets
|
||||
cp ./seanime-desktop/src-tauri/app-icon.png ./seanime-denshi/assets/
|
||||
shell: bash
|
||||
|
||||
# Install and build
|
||||
- name: Install and build 📦️
|
||||
run: |
|
||||
cd seanime-denshi
|
||||
npm install
|
||||
npm run build -- ${{ matrix.electron_args }}
|
||||
shell: bash
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Upload the artifacts
|
||||
- name: Upload Electron artifacts 📤
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: electron-${{ matrix.id }}
|
||||
path: |
|
||||
./seanime-denshi-*
|
||||
./seanime-denshi/dist/*.yml
|
||||
Reference in New Issue
Block a user