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

View file

@ -4,6 +4,7 @@ import pkg from '../package.json';
import modulesCleanup from 'removeNPMAbsolutePaths';
import { exec } from 'pkg';
import { execSync } from 'child_process';
import { sep } from 'path';
const buildsDir = './_builds';
const nodeVer = 'node16-';
@ -13,19 +14,32 @@ const nodeVer = 'node16-';
const isGUI = process.argv[3] === 'true';
if (isGUI) {
buildGUI();
buildGUI(buildType);
} else {
buildBinary(buildType);
}
})();
async function buildGUI() {
async function buildGUI(buildType: string) {
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
async function buildBinary(buildType: string) {
const buildStr = `${pkg.name}-${pkg.version}`;
const buildStr = `multi-downloader-nx`;
const acceptableBuilds = ['windows64','ubuntu64','macos64'];
if(!acceptableBuilds.includes(buildType)){
console.error('[ERROR] unknown build type!');
@ -35,7 +49,7 @@ async function buildBinary(buildType: string) {
if(!fs.existsSync(buildsDir)){
fs.mkdirSync(buildsDir);
}
const buildFull = `${buildStr}-${buildType}`;
const buildFull = `${buildStr}-${buildType}-cli`;
const buildDir = `${buildsDir}/${buildFull}`;
if(fs.existsSync(buildDir)){
fs.removeSync(buildDir);

View file

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