Bug fixes

This commit is contained in:
Izuco 2022-02-15 21:02:22 +01:00
parent f85753fd9b
commit 511bd9a131
No known key found for this signature in database
GPG key ID: E9CBE9E4EF3A1BFA
3 changed files with 33 additions and 19 deletions

View file

@ -9,7 +9,7 @@ jobs:
strategy: strategy:
matrix: matrix:
build_type: [ ubuntu, macos, windows ] build_type: [ ubuntu, macos, windows ]
gui: [ true, false ] gui: [ gui, cli ]
runs-on: ${{ matrix.build_type }}-latest runs-on: ${{ matrix.build_type }}-latest
steps: steps:
- name: Checkout - name: Checkout
@ -38,8 +38,8 @@ jobs:
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
with: with:
upload_url: ${{ github.event.release.upload_url }} upload_url: ${{ github.event.release.upload_url }}
asset_name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-${{ matrix.build_type }}.7z asset_name: multi-downloader-nx-${{ matrix.build_type }}-{{ matrix.gui }}.7z
asset_path: ./lib/_builds/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-${{ matrix.build_type }}64.7z asset_path: ./lib/_builds/multi-downloader-nx-${{ matrix.build_type }}64-{{ matrix.gui }}.7z
asset_content_type: application/x-7z-compressed asset_content_type: application/x-7z-compressed
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -4,6 +4,7 @@ import pkg from '../package.json';
import modulesCleanup from 'removeNPMAbsolutePaths'; import modulesCleanup from 'removeNPMAbsolutePaths';
import { exec } from 'pkg'; import { exec } from 'pkg';
import { execSync } from 'child_process'; import { execSync } from 'child_process';
import { sep } from 'path';
const buildsDir = './_builds'; const buildsDir = './_builds';
const nodeVer = 'node16-'; const nodeVer = 'node16-';
@ -13,19 +14,32 @@ const nodeVer = 'node16-';
const isGUI = process.argv[3] === 'true'; const isGUI = process.argv[3] === 'true';
if (isGUI) { if (isGUI) {
buildGUI(); buildGUI(buildType);
} else { } else {
buildBinary(buildType); buildBinary(buildType);
} }
})(); })();
async function buildGUI() { async function buildGUI(buildType: string) {
execSync('npx electron-forge make'); execSync('npx electron-forge make');
const path = ['out', 'make'];
const makerDir = fs.readdirSync(path.join(sep));
if (makerDir.length !== 1)
throw new Error(`Illegal state ${makerDir.join(sep)}`);
path.push(makerDir[0]);
const arch = fs.readdirSync(path.join(sep));
if (arch.length !== 1)
throw new Error(`Illegal state ${arch.join(sep)}`);
path.push(arch[0]);
execSync(`7z a -t7z "../../../../${buildsDir}/multi-downloader-nx-${buildType}-gui.7z" .`,{
stdio:[0,1,2],
cwd: path.join(sep)
});
} }
// main // main
async function buildBinary(buildType: string) { async function buildBinary(buildType: string) {
const buildStr = `${pkg.name}-${pkg.version}`; const buildStr = `multi-downloader-nx`;
const acceptableBuilds = ['windows64','ubuntu64','macos64']; const acceptableBuilds = ['windows64','ubuntu64','macos64'];
if(!acceptableBuilds.includes(buildType)){ if(!acceptableBuilds.includes(buildType)){
console.error('[ERROR] unknown build type!'); console.error('[ERROR] unknown build type!');
@ -35,7 +49,7 @@ async function buildBinary(buildType: string) {
if(!fs.existsSync(buildsDir)){ if(!fs.existsSync(buildsDir)){
fs.mkdirSync(buildsDir); fs.mkdirSync(buildsDir);
} }
const buildFull = `${buildStr}-${buildType}`; const buildFull = `${buildStr}-${buildType}-cli`;
const buildDir = `${buildsDir}/${buildFull}`; const buildDir = `${buildsDir}/${buildFull}`;
if(fs.existsSync(buildDir)){ if(fs.existsSync(buildDir)){
fs.removeSync(buildDir); fs.removeSync(buildDir);

View file

@ -76,18 +76,18 @@
"start": "cd lib && electron-forge start", "start": "cd lib && electron-forge start",
"docs": "ts-node modules/build-docs.ts", "docs": "ts-node modules/build-docs.ts",
"tsc": "ts-node tsc.ts", "tsc": "ts-node tsc.ts",
"prebuild-windows-false": "npm run tsc false false", "prebuild-windows-cli": "npm run tsc false false",
"prebuild-ubuntu-false": "npm run tsc false false", "prebuild-ubuntu-cli": "npm run tsc false false",
"prebuild-macos-false": "npm run tsc false false", "prebuild-macos-cli": "npm run tsc false false",
"build-windows-false": "cd lib && node modules/build windows64", "build-windows-cli": "cd lib && node modules/build windows64",
"build-ubuntu-false": "cd lib && node modules/build ubuntu64", "build-ubuntu-cli": "cd lib && node modules/build ubuntu64",
"build-macos-false": "cd lib && node modules/build macos64", "build-macos-cli": "cd lib && node modules/build macos64",
"prebuild-windows-true": "npm run tsc", "prebuild-windows-gui": "npm run tsc",
"prebuild-ubuntu-true": "npm run tsc", "prebuild-ubuntu-gui": "npm run tsc",
"prebuild-macos-true": "npm run tsc", "prebuild-macos-gui": "npm run tsc",
"build-windows-true": "cd lib && node modules/build notNeeded true", "build-windows-gui": "cd lib && node modules/build windows64 true",
"build-ubuntu-true": "cd lib && node modules/build notNeeded true", "build-ubuntu-gui": "cd lib && node modules/build ubuntu64 true",
"build-macos-true": "cd lib && node modules/build notNeeded true", "build-macos-gui": "cd lib && node modules/build macos64 true",
"eslint": "eslint *.js modules", "eslint": "eslint *.js modules",
"eslint-fix": "eslint *.js modules --fix", "eslint-fix": "eslint *.js modules --fix",
"pretest": "npm run tsc", "pretest": "npm run tsc",