From f15eefb147a901447127a87b27fd18595f2ebe7d Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 16 Sep 2020 01:29:10 -0500 Subject: [PATCH 1/5] Update hard-coded GitHub URLs to be dynamic Set the following environment variables to override the defaults: REPO_OWNER (default: 'atom') MAIN_REPO (default: 'atom') NIGHLTY_RELEASE_REPO (default: 'atom-nightly-releases') Co-Authored-By: DeeDeeG --- script/lib/create-windows-installer.js | 5 ++++- script/lib/update-dependency/git.js | 5 ++++- script/lib/update-dependency/pull-request.js | 9 ++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/script/lib/create-windows-installer.js b/script/lib/create-windows-installer.js index 6f5d87c1d6e..d30c9cd5cd0 100644 --- a/script/lib/create-windows-installer.js +++ b/script/lib/create-windows-installer.js @@ -7,6 +7,9 @@ const path = require('path'); const CONFIG = require('../config'); +const REPO_OWNER = process.env.REPO_OWNER || 'atom'; +const MAIN_REPO = process.env.MAIN_REPO || 'atom'; + module.exports = packagedAppPath => { const archSuffix = process.arch === 'ia32' ? '' : '-' + process.arch; const updateUrlPrefix = @@ -17,7 +20,7 @@ module.exports = packagedAppPath => { exe: CONFIG.executableName, appDirectory: packagedAppPath, authors: 'GitHub Inc.', - iconUrl: `https://raw.githubusercontent.com/atom/atom/master/resources/app-icons/${ + iconUrl: `https://raw.githubusercontent.com/${REPO_OWNER}/${MAIN_REPO}/master/resources/app-icons/${ CONFIG.channel }/atom.ico`, loadingGif: path.join( diff --git a/script/lib/update-dependency/git.js b/script/lib/update-dependency/git.js index a9f8843fea5..26d226a2d40 100644 --- a/script/lib/update-dependency/git.js +++ b/script/lib/update-dependency/git.js @@ -1,3 +1,6 @@ +const REPO_OWNER = process.env.REPO_OWNER || 'atom'; +const MAIN_REPO = process.env.MAIN_REPO || 'atom'; + const git = (git, repositoryRootPath) => { const path = require('path'); const packageJsonFilePath = path.join(repositoryRootPath, 'package.json'); @@ -10,7 +13,7 @@ const git = (git, repositoryRootPath) => { if (!err && !remotes.map(({ name }) => name).includes('ATOM')) { git.addRemote( 'ATOM', - `https://atom:${process.env.AUTH_TOKEN}@github.com/atom/atom.git/` + `https://atom:${process.env.AUTH_TOKEN}@github.com/${REPO_OWNER}/${MAIN_REPO}.git/` ); } }); diff --git a/script/lib/update-dependency/pull-request.js b/script/lib/update-dependency/pull-request.js index f10a3540d4c..a96d8777940 100644 --- a/script/lib/update-dependency/pull-request.js +++ b/script/lib/update-dependency/pull-request.js @@ -1,13 +1,16 @@ const { request } = require('@octokit/request'); +const REPO_OWNER = process.env.REPO_OWNER || 'atom'; +const MAIN_REPO = process.env.MAIN_REPO || 'atom'; + const requestWithAuth = request.defaults({ baseUrl: 'https://api.github.com', headers: { 'user-agent': 'atom', authorization: `token ${process.env.AUTH_TOKEN}` }, - owner: 'atom', - repo: 'atom' + owner: REPO_OWNER, + repo: MAIN_REPO }); module.exports = { @@ -28,7 +31,7 @@ module.exports = { }, findPR: async ({ moduleName, latest }, branch) => { return requestWithAuth('GET /search/issues', { - q: `${moduleName} type:pr ${moduleName}@${latest} in:title repo:atom/atom head:${branch} state:open` + q: `${moduleName} type:pr ${moduleName}@${latest} in:title repo:${REPO_OWNER}/${MAIN_REPO} head:${branch} state:open` }); }, addLabel: async pullRequestNumber => { From 51f62e40192507ef5dc38dfa3c115183c3c64294 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 16 Sep 2020 01:29:49 -0500 Subject: [PATCH 2/5] use environment variables in about package for the atom URL Co-Authored-By: DeeDeeG --- packages/about/lib/update-manager.js | 9 +++++++-- packages/about/spec/update-manager-spec.js | 13 +++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/about/lib/update-manager.js b/packages/about/lib/update-manager.js index eb30ce4d373..03e5abce7cf 100644 --- a/packages/about/lib/update-manager.js +++ b/packages/about/lib/update-manager.js @@ -1,5 +1,10 @@ const { Emitter, CompositeDisposable } = require('atom'); +const REPO_OWNER = process.env.REPO_OWNER || 'atom'; +const MAIN_REPO = process.env.MAIN_REPO || 'atom'; +const NIGHTLY_RELEASE_REPO = + process.env.NIGHTLY_RELEASE_REPO || 'atom-nightly-releases'; + const Unsupported = 'unsupported'; const Idle = 'idle'; const CheckingForUpdate = 'checking'; @@ -133,8 +138,8 @@ let UpdateManager = class UpdateManager { } const releaseRepo = - appVersion.indexOf('nightly') > -1 ? 'atom-nightly-releases' : 'atom'; - return `https://github.com/atom/${releaseRepo}/releases/tag/${appVersion}`; + appVersion.indexOf('nightly') > -1 ? NIGHTLY_RELEASE_REPO : MAIN_REPO; + return `https://github.com/${REPO_OWNER}/${releaseRepo}/releases/tag/${appVersion}`; } }; diff --git a/packages/about/spec/update-manager-spec.js b/packages/about/spec/update-manager-spec.js index ef42fec9b52..8e769bb3f82 100644 --- a/packages/about/spec/update-manager-spec.js +++ b/packages/about/spec/update-manager-spec.js @@ -1,5 +1,10 @@ const UpdateManager = require('../lib/update-manager'); +const REPO_OWNER = process.env.REPO_OWNER || 'atom'; +const MAIN_REPO = process.env.MAIN_REPO || 'atom'; +const NIGHTLY_RELEASE_REPO = + process.env.NIGHTLY_RELEASE_REPO || 'atom-nightly-releases'; + describe('UpdateManager', () => { let updateManager; @@ -16,17 +21,17 @@ describe('UpdateManager', () => { it('returns the page for the release when not a dev version', () => { expect(updateManager.getReleaseNotesURLForVersion('1.7.0')).toContain( - 'atom/atom/releases/tag/v1.7.0' + `${REPO_OWNER}/${MAIN_REPO}/releases/tag/v1.7.0` ); expect(updateManager.getReleaseNotesURLForVersion('v1.7.0')).toContain( - 'atom/atom/releases/tag/v1.7.0' + `${REPO_OWNER}/${MAIN_REPO}/releases/tag/v1.7.0` ); expect( updateManager.getReleaseNotesURLForVersion('1.7.0-beta10') - ).toContain('atom/atom/releases/tag/v1.7.0-beta10'); + ).toContain(`${REPO_OWNER}/${MAIN_REPO}/releases/tag/v1.7.0-beta10`); expect( updateManager.getReleaseNotesURLForVersion('1.7.0-nightly10') - ).toContain('atom/atom-nightly-releases/releases/tag/v1.7.0-nightly10'); + ).toContain(`${REPO_OWNER}/${NIGHTLY_RELEASE_REPO}/releases/tag/v1.7.0-nightly10`); }); }); }); From a1d82eaf4b970417034de848270d5aa355c99aa8 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 16 Sep 2020 01:29:55 -0500 Subject: [PATCH 3/5] Revert "use environment variables in about package for the atom URL" This reverts commit 5a366f3e5910c1bba677bf5c1f1dd1b9ab8a84a5. --- packages/about/lib/update-manager.js | 9 ++------- packages/about/spec/update-manager-spec.js | 13 ++++--------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/packages/about/lib/update-manager.js b/packages/about/lib/update-manager.js index 03e5abce7cf..eb30ce4d373 100644 --- a/packages/about/lib/update-manager.js +++ b/packages/about/lib/update-manager.js @@ -1,10 +1,5 @@ const { Emitter, CompositeDisposable } = require('atom'); -const REPO_OWNER = process.env.REPO_OWNER || 'atom'; -const MAIN_REPO = process.env.MAIN_REPO || 'atom'; -const NIGHTLY_RELEASE_REPO = - process.env.NIGHTLY_RELEASE_REPO || 'atom-nightly-releases'; - const Unsupported = 'unsupported'; const Idle = 'idle'; const CheckingForUpdate = 'checking'; @@ -138,8 +133,8 @@ let UpdateManager = class UpdateManager { } const releaseRepo = - appVersion.indexOf('nightly') > -1 ? NIGHTLY_RELEASE_REPO : MAIN_REPO; - return `https://github.com/${REPO_OWNER}/${releaseRepo}/releases/tag/${appVersion}`; + appVersion.indexOf('nightly') > -1 ? 'atom-nightly-releases' : 'atom'; + return `https://github.com/atom/${releaseRepo}/releases/tag/${appVersion}`; } }; diff --git a/packages/about/spec/update-manager-spec.js b/packages/about/spec/update-manager-spec.js index 8e769bb3f82..ef42fec9b52 100644 --- a/packages/about/spec/update-manager-spec.js +++ b/packages/about/spec/update-manager-spec.js @@ -1,10 +1,5 @@ const UpdateManager = require('../lib/update-manager'); -const REPO_OWNER = process.env.REPO_OWNER || 'atom'; -const MAIN_REPO = process.env.MAIN_REPO || 'atom'; -const NIGHTLY_RELEASE_REPO = - process.env.NIGHTLY_RELEASE_REPO || 'atom-nightly-releases'; - describe('UpdateManager', () => { let updateManager; @@ -21,17 +16,17 @@ describe('UpdateManager', () => { it('returns the page for the release when not a dev version', () => { expect(updateManager.getReleaseNotesURLForVersion('1.7.0')).toContain( - `${REPO_OWNER}/${MAIN_REPO}/releases/tag/v1.7.0` + 'atom/atom/releases/tag/v1.7.0' ); expect(updateManager.getReleaseNotesURLForVersion('v1.7.0')).toContain( - `${REPO_OWNER}/${MAIN_REPO}/releases/tag/v1.7.0` + 'atom/atom/releases/tag/v1.7.0' ); expect( updateManager.getReleaseNotesURLForVersion('1.7.0-beta10') - ).toContain(`${REPO_OWNER}/${MAIN_REPO}/releases/tag/v1.7.0-beta10`); + ).toContain('atom/atom/releases/tag/v1.7.0-beta10'); expect( updateManager.getReleaseNotesURLForVersion('1.7.0-nightly10') - ).toContain(`${REPO_OWNER}/${NIGHTLY_RELEASE_REPO}/releases/tag/v1.7.0-nightly10`); + ).toContain('atom/atom-nightly-releases/releases/tag/v1.7.0-nightly10'); }); }); }); From 6ce43114ca0e0656ecfb64e7bcc8de347403bb0d Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 16 Sep 2020 16:27:15 -0500 Subject: [PATCH 4/5] hardcode atom-ide-community --- packages/about/lib/update-manager.js | 2 +- packages/about/spec/update-manager-spec.js | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/about/lib/update-manager.js b/packages/about/lib/update-manager.js index eb30ce4d373..3d44dba7c79 100644 --- a/packages/about/lib/update-manager.js +++ b/packages/about/lib/update-manager.js @@ -134,7 +134,7 @@ let UpdateManager = class UpdateManager { const releaseRepo = appVersion.indexOf('nightly') > -1 ? 'atom-nightly-releases' : 'atom'; - return `https://github.com/atom/${releaseRepo}/releases/tag/${appVersion}`; + return `https://github.com/atom-ide-community/${releaseRepo}/releases/tag/${appVersion}`; } }; diff --git a/packages/about/spec/update-manager-spec.js b/packages/about/spec/update-manager-spec.js index ef42fec9b52..12c9a761182 100644 --- a/packages/about/spec/update-manager-spec.js +++ b/packages/about/spec/update-manager-spec.js @@ -16,17 +16,19 @@ describe('UpdateManager', () => { it('returns the page for the release when not a dev version', () => { expect(updateManager.getReleaseNotesURLForVersion('1.7.0')).toContain( - 'atom/atom/releases/tag/v1.7.0' + 'atom-ide-community/atom/releases/tag/v1.7.0' ); expect(updateManager.getReleaseNotesURLForVersion('v1.7.0')).toContain( - 'atom/atom/releases/tag/v1.7.0' + 'atom-ide-community/atom/releases/tag/v1.7.0' ); expect( updateManager.getReleaseNotesURLForVersion('1.7.0-beta10') - ).toContain('atom/atom/releases/tag/v1.7.0-beta10'); + ).toContain('atom-ide-community/atom/releases/tag/v1.7.0-beta10'); expect( updateManager.getReleaseNotesURLForVersion('1.7.0-nightly10') - ).toContain('atom/atom-nightly-releases/releases/tag/v1.7.0-nightly10'); + ).toContain( + 'atom-ide-community/atom-nightly-releases/releases/tag/v1.7.0-nightly10' + ); }); }); }); From 40898dd090b1922f93762e8f18e12d8c0c8e83dc Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 16 Sep 2020 16:27:19 -0500 Subject: [PATCH 5/5] lint --- script/lib/update-dependency/git.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/lib/update-dependency/git.js b/script/lib/update-dependency/git.js index 26d226a2d40..85fe70f7c2c 100644 --- a/script/lib/update-dependency/git.js +++ b/script/lib/update-dependency/git.js @@ -13,7 +13,9 @@ const git = (git, repositoryRootPath) => { if (!err && !remotes.map(({ name }) => name).includes('ATOM')) { git.addRemote( 'ATOM', - `https://atom:${process.env.AUTH_TOKEN}@github.com/${REPO_OWNER}/${MAIN_REPO}.git/` + `https://atom:${ + process.env.AUTH_TOKEN + }@github.com/${REPO_OWNER}/${MAIN_REPO}.git/` ); } });