push-patch.js 833 B

123456789101112131415161718192021222324252627282930
  1. const { appCredentialsFromString, getTokenForRepo } = require('@electron/github-app-auth');
  2. const cp = require('node:child_process');
  3. async function main () {
  4. const token = await getTokenForRepo(
  5. {
  6. name: 'electron',
  7. owner: 'electron'
  8. },
  9. appCredentialsFromString(process.env.PATCH_UP_APP_CREDS)
  10. );
  11. const remoteURL = `https://x-access-token:${token}@github.com/electron/electron.git`;
  12. // NEVER LOG THE OUTPUT OF THIS COMMAND
  13. // GIT LEAKS THE ACCESS CREDENTIALS IN CONSOLE LOGS
  14. const { status } = cp.spawnSync('git', ['push', '--set-upstream', remoteURL], {
  15. stdio: 'ignore'
  16. });
  17. if (status !== 0) {
  18. console.error('Failed to push to target branch');
  19. process.exit(1);
  20. }
  21. }
  22. if (require.main === module) {
  23. main().catch((err) => {
  24. console.error(err);
  25. process.exit(1);
  26. });
  27. }