Reset to parent
This commit is contained in:
@@ -6,21 +6,20 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: windows
|
||||
prepare:
|
||||
runs-on: ubuntu-latest
|
||||
container: node:22
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: powershell
|
||||
outputs:
|
||||
release_tag: ${{ steps.version.outputs.release_tag }}
|
||||
release_name: ${{ steps.version.outputs.release_name }}
|
||||
release_version: ${{ steps.version.outputs.release_version }}
|
||||
release_id: ${{ steps.release.outputs.release_id }}
|
||||
release_download_url: ${{ steps.release.outputs.release_download_url }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
npm ci --include=dev
|
||||
npm --prefix server ci --include=dev
|
||||
|
||||
- name: Resolve release version
|
||||
id: version
|
||||
@@ -40,16 +39,113 @@ jobs:
|
||||
--body "Automated draft release from ${{ github.ref_name }} @ ${{ github.sha }}"
|
||||
--write-output
|
||||
|
||||
build-linux:
|
||||
needs: prepare
|
||||
runs-on: ubuntu-latest
|
||||
container: node:22
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
NODE_ENV: development
|
||||
run: |
|
||||
npm ci
|
||||
cd server && npm ci
|
||||
|
||||
- name: Set CI release version
|
||||
run: >
|
||||
node tools/set-release-version.js
|
||||
--version "${{ steps.version.outputs.release_version }}"
|
||||
--version "${{ needs.prepare.outputs.release_version }}"
|
||||
|
||||
- name: Build application
|
||||
run: |
|
||||
npx esbuild node_modules/@timephy/rnnoise-wasm/dist/NoiseSuppressorWorklet.js --bundle --format=esm --outfile=public/rnnoise-worklet.js
|
||||
npx ng build --configuration production --base-href='./'
|
||||
npx --package typescript tsc -p tsconfig.electron.json
|
||||
cd server
|
||||
node ../tools/sync-server-build-version.js
|
||||
npx --package typescript tsc
|
||||
|
||||
- name: Build Linux assets
|
||||
run: npm run release:build:linux
|
||||
run: |
|
||||
npx electron-builder --linux --publish never
|
||||
node tools/package-server-executable.js --target node18-linux-x64 --output metoyou-server-linux-x64
|
||||
|
||||
- name: Upload Linux assets
|
||||
env:
|
||||
GITEA_RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
run: >
|
||||
node tools/gitea-release.js upload-built-assets
|
||||
--server-url "${{ github.server_url }}"
|
||||
--repository "${{ github.repository }}"
|
||||
--release-id "${{ needs.prepare.outputs.release_id }}"
|
||||
--dist-electron dist-electron
|
||||
--dist-server dist-server
|
||||
|
||||
build-windows:
|
||||
needs: prepare
|
||||
runs-on: windows
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: powershell
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
NODE_ENV: development
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --prefix server
|
||||
|
||||
- name: Set CI release version
|
||||
run: >
|
||||
node tools/set-release-version.js
|
||||
--version "${{ needs.prepare.outputs.release_version }}"
|
||||
|
||||
- name: Build application
|
||||
run: |
|
||||
npx esbuild node_modules/@timephy/rnnoise-wasm/dist/NoiseSuppressorWorklet.js --bundle --format=esm --outfile=public/rnnoise-worklet.js
|
||||
npx ng build --configuration production --base-href='./'
|
||||
npx --package typescript tsc -p tsconfig.electron.json
|
||||
Push-Location server
|
||||
node ../tools/sync-server-build-version.js
|
||||
npx --package typescript tsc
|
||||
Pop-Location
|
||||
|
||||
- name: Build Windows assets
|
||||
run: npm run release:build:win
|
||||
run: |
|
||||
npx electron-builder --win --publish never
|
||||
node tools/package-server-executable.js --target node18-win-x64 --output metoyou-server-win-x64.exe
|
||||
|
||||
- name: Upload Windows assets
|
||||
env:
|
||||
GITEA_RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
run: >
|
||||
node tools/gitea-release.js upload-built-assets
|
||||
--server-url "${{ github.server_url }}"
|
||||
--repository "${{ github.repository }}"
|
||||
--release-id "${{ needs.prepare.outputs.release_id }}"
|
||||
--dist-electron dist-electron
|
||||
--dist-server dist-server
|
||||
|
||||
finalize:
|
||||
needs: [prepare, build-linux, build-windows]
|
||||
runs-on: ubuntu-latest
|
||||
container: node:22
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci --omit=dev
|
||||
|
||||
- name: Download previous manifest
|
||||
env:
|
||||
@@ -66,16 +162,16 @@ jobs:
|
||||
node tools/generate-release-manifest.js
|
||||
--existing dist-electron/release-manifest.previous.json
|
||||
--manifest dist-electron/release-manifest.json
|
||||
--feed-url "${{ steps.release.outputs.release_download_url }}"
|
||||
--version "${{ steps.version.outputs.release_version }}"
|
||||
--feed-url "${{ needs.prepare.outputs.release_download_url }}"
|
||||
--version "${{ needs.prepare.outputs.release_version }}"
|
||||
|
||||
- name: Upload assets
|
||||
- name: Upload release manifest
|
||||
env:
|
||||
GITEA_RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
run: >
|
||||
node tools/gitea-release.js upload-built-assets
|
||||
--server-url "${{ github.server_url }}"
|
||||
--repository "${{ github.repository }}"
|
||||
--release-id "${{ steps.release.outputs.release_id }}"
|
||||
--release-id "${{ needs.prepare.outputs.release_id }}"
|
||||
--dist-electron dist-electron
|
||||
--dist-server dist-server
|
||||
--dist-server dist-server
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -14,7 +14,6 @@ yarn-error.log
|
||||
dist-electron
|
||||
node_modules/*
|
||||
*server/node_modules/*
|
||||
*package-lock.json
|
||||
.angular
|
||||
# IDEs and editors
|
||||
.idea/
|
||||
|
||||
31565
package-lock.json
generated
Normal file
31565
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -11,11 +11,11 @@
|
||||
"prebuild": "npm run bundle:rnnoise",
|
||||
"prestart": "npm run bundle:rnnoise",
|
||||
"bundle:rnnoise": "esbuild node_modules/@timephy/rnnoise-wasm/dist/NoiseSuppressorWorklet.js --bundle --format=esm --outfile=public/rnnoise-worklet.js",
|
||||
"start": "ng serve",
|
||||
"build": "ng build",
|
||||
"start": "npm run ng serve",
|
||||
"build": "npm run ng build",
|
||||
"build:electron": "tsc -p tsconfig.electron.json",
|
||||
"build:all": "npm run build && npm run build:electron && cd server && npm run build",
|
||||
"build:prod": "ng build --configuration production --base-href='./'",
|
||||
"build:prod": "npm run ng build --configuration production --base-href='./'",
|
||||
"watch": "ng build --watch --configuration development",
|
||||
"test": "ng test",
|
||||
"server:build": "cd server && npm run build",
|
||||
|
||||
2863
server/package-lock.json
generated
Normal file
2863
server/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,10 +4,7 @@ import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { createServer as createHttpServer } from 'http';
|
||||
import { createServer as createHttpsServer } from 'https';
|
||||
import {
|
||||
resolveCertificateDirectory,
|
||||
resolveEnvFilePath
|
||||
} from './runtime-paths';
|
||||
import { resolveCertificateDirectory, resolveEnvFilePath } from './runtime-paths';
|
||||
|
||||
// Load .env from project root (one level up from server/)
|
||||
dotenv.config({ path: resolveEnvFilePath() });
|
||||
|
||||
Reference in New Issue
Block a user