69 lines
No EOL
1.9 KiB
JavaScript
69 lines
No EOL
1.9 KiB
JavaScript
const exec = require('child_process').exec;
|
|
const sign = require("electron-osx-sign").signAsync;
|
|
const notarize = require("electron-notarize").notarize;
|
|
|
|
const name = "Crimata";
|
|
const dir = `${name}.app/Contents/Resources/app`;
|
|
const registry = "https://gitlab.com/api/v4/projects/25637892/packages/generic/crimata/0.0.1/Crimata.zip";
|
|
|
|
const runShellCommand = (cmd) => (new Promise((resolve, reject) => {
|
|
exec(cmd, (error, stdout, stderr) => {
|
|
error ? reject(stderr) : resolve(stdout);
|
|
});
|
|
}));
|
|
|
|
// /projects/:id/packages/generic/:package_name/:package_version/:file_name?status=:status
|
|
|
|
|
|
const signConfig = {
|
|
"app": name + ".app",
|
|
"hardened-runtime": true,
|
|
"gatekeeper-assess": false,
|
|
"signature-flags": "library",
|
|
"entitlements": "entitlements.plist",
|
|
"entitlements-inherit": "entitlements.plist",
|
|
};
|
|
|
|
const notarizeConfig = {
|
|
appPath: name + ".app",
|
|
appleId: "gundersena@crimata.com",
|
|
appBundleId: "com.crimata.CrimataMessenger",
|
|
appleIdPassword: process.env["AC_PASSWORD"]
|
|
};
|
|
|
|
(async function () {
|
|
|
|
try
|
|
{
|
|
// console.log("Building...");
|
|
// await runShellCommand(`rm -rf ${dir} && mkdir ${dir} && cp -r {package.json,src,node_modules} ${dir}
|
|
// `);
|
|
|
|
// console.log("Cleaning...");
|
|
// await runShellCommand(`xattr -cr ${name}.app`);
|
|
|
|
// console.log("Signing...");
|
|
// await sign(signConfig);
|
|
|
|
// console.log("Notarizing...");
|
|
// await notarize(notarizeConfig);
|
|
|
|
// console.log("Compressing...");
|
|
// await runShellCommand(`zip -vr ${name}.zip ${name}.app`);
|
|
|
|
console.log("Uploading to Gitlab...");
|
|
await runShellCommand(`curl --header "PRIVATE-TOKEN: ${process.env["API_TOKEN"]}" --upload-file ${name}.zip "${registry}"`);
|
|
}
|
|
catch (e)
|
|
{
|
|
console.log(e);
|
|
}
|
|
|
|
})();
|
|
|
|
|
|
/**
|
|
* Copy file from local to remote:
|
|
*
|
|
* scp -r Electron.app gundersena@crimata-server:~/Desktop/crimata/website/assets
|
|
*/ |