1234567891011121314151617181920212223242526272829303132333435363738 |
- const { appCredentialsFromString, getTokenForRepo } = require('@electron/github-app-auth');
- const cp = require('node:child_process');
- const { PATCH_UP_APP_CREDS } = process.env;
- async function main () {
- if (!PATCH_UP_APP_CREDS) {
- throw new Error('PATCH_UP_APP_CREDS environment variable not set');
- }
- const token = await getTokenForRepo(
- {
- name: 'electron',
- owner: 'electron'
- },
- appCredentialsFromString(PATCH_UP_APP_CREDS)
- );
- const remoteURL = `https://x-access-token:${token}@github.com/electron/electron.git`;
- // NEVER LOG THE OUTPUT OF THIS COMMAND
- // GIT LEAKS THE ACCESS CREDENTIALS IN CONSOLE LOGS
- const { status } = cp.spawnSync('git', ['push', '--set-upstream', remoteURL], {
- stdio: 'ignore'
- });
- if (status !== 0) {
- throw new Error('Failed to push to target branch');
- }
- }
- if (require.main === module) {
- main().catch((err) => {
- console.error(err);
- process.exit(1);
- });
- }
|