js-waku/ci/deploy.js

46 lines
1.0 KiB
JavaScript
Raw Normal View History

2022-11-02 04:05:12 +00:00
import { promisify } from "util";
import { publish } from "gh-pages";
/* fix for "Unhandled promise rejections" */
2022-11-02 04:05:12 +00:00
process.on("unhandledRejection", (err) => {
throw err;
});
2022-11-02 04:05:12 +00:00
const ghpublish = promisify(publish);
2022-11-02 04:05:12 +00:00
const Args = process.argv.slice(2);
const USE_HTTPS = Args[0] && Args[0].toUpperCase() === "HTTPS";
2022-11-02 04:05:12 +00:00
const branch = "gh-pages";
const org = "waku-org";
const repo = "js-waku";
/* use SSH auth by default */
let repoUrl = USE_HTTPS
? `https://github.com/${org}/${repo}.git`
2022-11-02 04:05:12 +00:00
: `git@github.com:${org}/${repo}.git`;
/* alternative auth using GitHub user and API token */
if (typeof process.env.GH_USER !== "undefined") {
2022-11-02 04:05:12 +00:00
repoUrl =
"https://" +
process.env.GH_USER +
":" +
process.env.GH_TOKEN +
"@" +
`github.com/${org}/${repo}.git`;
}
2022-11-02 04:05:12 +00:00
const main = async (url, branch) => {
console.log(`Pushing to: ${url}`);
console.log(`On branch: ${branch}`);
await ghpublish("docs", {
repo: url,
branch: branch,
dotfiles: true,
2022-11-02 04:05:12 +00:00
silent: false,
});
};
2022-11-02 04:05:12 +00:00
main(repoUrl, branch);