build: add support for fetching github token from sudowoodo (#43888)
build: add support for fetching github token from sudowoodo (#43808) * build: add support for fetching github token from sudowoodo * chore: update release notes cache for tests * build: support nightlies repo correctly * build: post token
This commit is contained in:
parent
2cc8a33f11
commit
4e5de0ca44
27 changed files with 134 additions and 36 deletions
|
@ -67,7 +67,8 @@ concurrency:
|
|||
env:
|
||||
ELECTRON_ARTIFACTS_BLOB_STORAGE: ${{ secrets.ELECTRON_ARTIFACTS_BLOB_STORAGE }}
|
||||
ELECTRON_RBE_JWT: ${{ secrets.ELECTRON_RBE_JWT }}
|
||||
ELECTRON_GITHUB_TOKEN: ${{ secrets.ELECTRON_GITHUB_TOKEN }}
|
||||
SUDOWOODO_EXCHANGE_URL: ${{ secrets.SUDOWOODO_EXCHANGE_URL }}
|
||||
SUDOWOODO_EXCHANGE_TOKEN: ${{ secrets.SUDOWOODO_EXCHANGE_TOKEN }}
|
||||
GCLIENT_EXTRA_ARGS: ${{ inputs.target-platform == 'macos' && '--custom-var=checkout_mac=True --custom-var=host_os=mac' || '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True' }}
|
||||
ELECTRON_OUT_DIR: Default
|
||||
|
||||
|
|
|
@ -38,7 +38,6 @@ permissions:
|
|||
env:
|
||||
ELECTRON_OUT_DIR: Default
|
||||
ELECTRON_RBE_JWT: ${{ secrets.ELECTRON_RBE_JWT }}
|
||||
ELECTRON_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
|
|
@ -4,8 +4,9 @@ const assert = require('node:assert');
|
|||
const got = require('got');
|
||||
|
||||
const { Octokit } = require('@octokit/rest');
|
||||
const { createGitHubTokenStrategy } = require('./github-token');
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
authStrategy: createGitHubTokenStrategy('electron')
|
||||
});
|
||||
|
||||
const BUILD_APPVEYOR_URL = 'https://ci.appveyor.com/api/builds';
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
if (!process.env.CI) require('dotenv-safe').load();
|
||||
|
||||
const { Octokit } = require('@octokit/rest');
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
});
|
||||
const { createGitHubTokenStrategy } = require('./github-token');
|
||||
|
||||
if (process.argv.length < 3) {
|
||||
console.log('Usage: find-release version');
|
||||
|
@ -11,11 +9,20 @@ if (process.argv.length < 3) {
|
|||
}
|
||||
|
||||
const version = process.argv[2];
|
||||
const targetRepo = findRepo();
|
||||
|
||||
const octokit = new Octokit({
|
||||
authStrategy: createGitHubTokenStrategy(targetRepo)
|
||||
});
|
||||
|
||||
function findRepo () {
|
||||
return version.indexOf('nightly') > 0 ? 'nightlies' : 'electron';
|
||||
}
|
||||
|
||||
async function findRelease () {
|
||||
const releases = await octokit.repos.listReleases({
|
||||
owner: 'electron',
|
||||
repo: version.indexOf('nightly') > 0 ? 'nightlies' : 'electron'
|
||||
repo: targetRepo
|
||||
});
|
||||
|
||||
const targetRelease = releases.data.find(release => release.tag_name === version);
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
const { Octokit } = require('@octokit/rest');
|
||||
const got = require('got');
|
||||
|
||||
const octokit = new Octokit({
|
||||
userAgent: 'electron-asset-fetcher',
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
});
|
||||
const { createGitHubTokenStrategy } = require('./github-token');
|
||||
|
||||
async function getAssetContents (repo, assetId) {
|
||||
const octokit = new Octokit({
|
||||
userAgent: 'electron-asset-fetcher',
|
||||
authStrategy: createGitHubTokenStrategy(repo)
|
||||
});
|
||||
|
||||
const requestOptions = octokit.repos.getReleaseAsset.endpoint({
|
||||
owner: 'electron',
|
||||
repo,
|
||||
|
@ -17,7 +18,7 @@ async function getAssetContents (repo, assetId) {
|
|||
});
|
||||
|
||||
const { url, headers } = requestOptions;
|
||||
headers.authorization = `token ${process.env.ELECTRON_GITHUB_TOKEN}`;
|
||||
headers.authorization = `token ${(await octokit.auth()).token}`;
|
||||
|
||||
const response = await got(url, {
|
||||
followRedirect: false,
|
||||
|
|
57
script/release/github-token.js
Normal file
57
script/release/github-token.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
const { createTokenAuth } = require('@octokit/auth-token');
|
||||
const got = require('got').default;
|
||||
|
||||
const cachedTokens = Object.create(null);
|
||||
|
||||
async function ensureToken (repo) {
|
||||
if (!cachedTokens[repo]) {
|
||||
cachedTokens[repo] = await (async () => {
|
||||
const { ELECTRON_GITHUB_TOKEN, SUDOWOODO_EXCHANGE_URL, SUDOWOODO_EXCHANGE_TOKEN } = process.env;
|
||||
if (ELECTRON_GITHUB_TOKEN) {
|
||||
return ELECTRON_GITHUB_TOKEN;
|
||||
}
|
||||
|
||||
if (SUDOWOODO_EXCHANGE_URL && SUDOWOODO_EXCHANGE_TOKEN) {
|
||||
const resp = await got.post(SUDOWOODO_EXCHANGE_URL + '?repo=' + repo, {
|
||||
headers: {
|
||||
Authorization: SUDOWOODO_EXCHANGE_TOKEN
|
||||
},
|
||||
throwHttpErrors: false
|
||||
});
|
||||
if (resp.statusCode !== 200) {
|
||||
console.error('bad sudowoodo exchange response code:', resp.statusCode);
|
||||
throw new Error('non-200 status code received from sudowoodo exchange function');
|
||||
}
|
||||
try {
|
||||
return JSON.parse(resp.body).token;
|
||||
} catch {
|
||||
// Swallow as the error could include the token
|
||||
throw new Error('Unexpected error parsing sudowoodo exchange response');
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error('Could not find or fetch a valid GitHub Auth Token');
|
||||
})();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports.createGitHubTokenStrategy = (repo) => () => {
|
||||
let tokenAuth = null;
|
||||
|
||||
async function ensureTokenAuth () {
|
||||
if (!tokenAuth) {
|
||||
await ensureToken(repo);
|
||||
tokenAuth = createTokenAuth(cachedTokens[repo]);
|
||||
}
|
||||
}
|
||||
|
||||
async function auth () {
|
||||
await ensureTokenAuth();
|
||||
return await tokenAuth();
|
||||
}
|
||||
auth.hook = async (...args) => {
|
||||
await ensureTokenAuth();
|
||||
return await tokenAuth.hook(...args);
|
||||
};
|
||||
return auth;
|
||||
};
|
|
@ -9,8 +9,9 @@ const { ELECTRON_DIR } = require('../../lib/utils');
|
|||
const notesGenerator = require('./notes.js');
|
||||
|
||||
const { Octokit } = require('@octokit/rest');
|
||||
const { createGitHubTokenStrategy } = require('../github-token');
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
authStrategy: createGitHubTokenStrategy('electron')
|
||||
});
|
||||
|
||||
const semverify = version => version.replace(/^origin\//, '').replace(/[xy]/g, '0').replace(/-/g, '.');
|
||||
|
|
|
@ -8,11 +8,13 @@ const path = require('node:path');
|
|||
const { GitProcess } = require('dugite');
|
||||
|
||||
const { Octokit } = require('@octokit/rest');
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
});
|
||||
|
||||
const { ELECTRON_DIR } = require('../../lib/utils');
|
||||
const { createGitHubTokenStrategy } = require('../github-token');
|
||||
|
||||
const octokit = new Octokit({
|
||||
authStrategy: createGitHubTokenStrategy('electron')
|
||||
});
|
||||
|
||||
const MAX_FAIL_COUNT = 3;
|
||||
const CHECK_INTERVAL = 5000;
|
||||
|
|
|
@ -13,6 +13,7 @@ const path = require('node:path');
|
|||
const readline = require('node:readline');
|
||||
const releaseNotesGenerator = require('./notes/index.js');
|
||||
const { getCurrentBranch, ELECTRON_DIR } = require('../lib/utils.js');
|
||||
const { createGitHubTokenStrategy } = require('./github-token');
|
||||
const bumpType = args._[0];
|
||||
const targetRepo = getRepo();
|
||||
|
||||
|
@ -21,7 +22,7 @@ function getRepo () {
|
|||
}
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
authStrategy: createGitHubTokenStrategy(getRepo())
|
||||
});
|
||||
|
||||
require('colors');
|
||||
|
|
|
@ -10,10 +10,7 @@ const rootPackageJson = require('../../package.json');
|
|||
|
||||
const { Octokit } = require('@octokit/rest');
|
||||
const { getAssetContents } = require('./get-asset');
|
||||
const octokit = new Octokit({
|
||||
userAgent: 'electron-npm-publisher',
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
});
|
||||
const { createGitHubTokenStrategy } = require('./github-token');
|
||||
|
||||
if (!process.env.ELECTRON_NPM_OTP) {
|
||||
console.error('Please set ELECTRON_NPM_OTP');
|
||||
|
@ -45,6 +42,16 @@ let npmTag = '';
|
|||
|
||||
const currentElectronVersion = getElectronVersion();
|
||||
const isNightlyElectronVersion = currentElectronVersion.includes('nightly');
|
||||
const targetRepo = getRepo();
|
||||
|
||||
const octokit = new Octokit({
|
||||
userAgent: 'electron-npm-publisher',
|
||||
authStrategy: createGitHubTokenStrategy(targetRepo)
|
||||
});
|
||||
|
||||
function getRepo () {
|
||||
return isNightlyElectronVersion ? 'nightlies' : 'electron';
|
||||
}
|
||||
|
||||
new Promise((resolve, reject) => {
|
||||
temp.mkdir('electron-npm', (err, dirPath) => {
|
||||
|
|
|
@ -6,16 +6,17 @@ const args = require('minimist')(process.argv.slice(2), {
|
|||
default: { releaseID: '' }
|
||||
});
|
||||
const { Octokit } = require('@octokit/rest');
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
});
|
||||
const { createGitHubTokenStrategy } = require('./github-token');
|
||||
|
||||
require('colors');
|
||||
const pass = '✓'.green;
|
||||
const fail = '✗'.red;
|
||||
|
||||
async function deleteDraft (releaseId, targetRepo) {
|
||||
const octokit = new Octokit({
|
||||
authStrategy: createGitHubTokenStrategy(targetRepo)
|
||||
});
|
||||
|
||||
try {
|
||||
const result = await octokit.repos.getRelease({
|
||||
owner: 'electron',
|
||||
|
@ -41,6 +42,10 @@ async function deleteDraft (releaseId, targetRepo) {
|
|||
}
|
||||
|
||||
async function deleteTag (tag, targetRepo) {
|
||||
const octokit = new Octokit({
|
||||
authStrategy: createGitHubTokenStrategy(targetRepo)
|
||||
});
|
||||
|
||||
try {
|
||||
await octokit.git.deleteRef({
|
||||
owner: 'electron',
|
||||
|
|
|
@ -25,16 +25,17 @@ const fail = '✗'.red;
|
|||
const { ELECTRON_DIR } = require('../lib/utils');
|
||||
const { getElectronVersion } = require('../lib/get-version');
|
||||
const getUrlHash = require('./get-url-hash');
|
||||
const { createGitHubTokenStrategy } = require('./github-token');
|
||||
|
||||
const pkgVersion = `v${getElectronVersion()}`;
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN
|
||||
});
|
||||
|
||||
const targetRepo = pkgVersion.indexOf('nightly') > 0 ? 'nightlies' : 'electron';
|
||||
let failureCount = 0;
|
||||
|
||||
const octokit = new Octokit({
|
||||
authStrategy: createGitHubTokenStrategy(targetRepo)
|
||||
});
|
||||
|
||||
async function getDraftRelease (version, skipValidation) {
|
||||
const releaseInfo = await octokit.repos.listReleases({
|
||||
owner: 'electron',
|
||||
|
@ -388,7 +389,7 @@ async function verifyDraftGitHubReleaseAssets (release) {
|
|||
});
|
||||
|
||||
const { url, headers } = requestOptions;
|
||||
headers.authorization = `token ${process.env.ELECTRON_GITHUB_TOKEN}`;
|
||||
headers.authorization = `token ${(await octokit.auth()).token}`;
|
||||
|
||||
const response = await got(url, {
|
||||
followRedirect: false,
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
import { Octokit } from '@octokit/rest';
|
||||
import * as fs from 'node:fs';
|
||||
|
||||
const octokit = new Octokit({
|
||||
auth: process.env.ELECTRON_GITHUB_TOKEN,
|
||||
log: console
|
||||
});
|
||||
import { createGitHubTokenStrategy } from '../github-token';
|
||||
|
||||
if (!process.env.CI) require('dotenv-safe').load();
|
||||
|
||||
|
@ -47,6 +43,11 @@ const targetRepo = releaseVersion.indexOf('nightly') > 0 ? 'nightlies' : 'electr
|
|||
const uploadUrl = `https://uploads.github.com/repos/electron/${targetRepo}/releases/${releaseId}/assets{?name,label}`;
|
||||
let retry = 0;
|
||||
|
||||
const octokit = new Octokit({
|
||||
authStrategy: createGitHubTokenStrategy(targetRepo),
|
||||
log: console
|
||||
});
|
||||
|
||||
function uploadToGitHub () {
|
||||
console.log(`in uploadToGitHub for ${filePath}, ${fileName}`);
|
||||
const fileData = fs.createReadStream(filePath);
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
spec/fixtures/release-notes/cache/electron-electron-issue-39714-comments
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-issue-39714-comments
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"status":200,"url":"https://api.github.com/repos/electron/electron/issues/39714/comments?per_page=100","headers":{"accept-ranges":"bytes","access-control-allow-origin":"*","access-control-expose-headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","cache-control":"public, max-age=60, s-maxage=60","content-encoding":"gzip","content-length":"645","content-security-policy":"default-src 'none'","content-type":"application/json; charset=utf-8","date":"Fri, 20 Sep 2024 04:00:38 GMT","etag":"W/\"6fcb725196d33f08ba1ccba10f866b6bc0a51030d157259b2cce6d2758910e24\"","referrer-policy":"origin-when-cross-origin, strict-origin-when-cross-origin","server":"github.com","strict-transport-security":"max-age=31536000; includeSubdomains; preload","vary":"Accept,Accept-Encoding, Accept, X-Requested-With","x-content-type-options":"nosniff","x-frame-options":"deny","x-github-api-version-selected":"2022-11-28","x-github-media-type":"github.v3; format=json","x-github-request-id":"C623:36E55D:247B64D:4558DD8:66ECF365","x-ratelimit-limit":"60","x-ratelimit-remaining":"46","x-ratelimit-reset":"1726805543","x-ratelimit-resource":"core","x-ratelimit-used":"14","x-xss-protection":"0"},"data":[{"url":"https://api.github.com/repos/electron/electron/issues/comments/1707509099","html_url":"https://github.com/electron/electron/pull/39714#issuecomment-1707509099","issue_url":"https://api.github.com/repos/electron/electron/issues/39714","id":1707509099,"node_id":"IC_kwDOAI8xS85lxoVr","user":{"login":"release-clerk[bot]","id":42386326,"node_id":"MDM6Qm90NDIzODYzMjY=","avatar_url":"https://avatars.githubusercontent.com/in/16104?v=4","gravatar_id":"","url":"https://api.github.com/users/release-clerk%5Bbot%5D","html_url":"https://github.com/apps/release-clerk","followers_url":"https://api.github.com/users/release-clerk%5Bbot%5D/followers","following_url":"https://api.github.com/users/release-clerk%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/release-clerk%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/release-clerk%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/release-clerk%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/release-clerk%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/release-clerk%5Bbot%5D/repos","events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2023-09-06T01:18:00Z","updated_at":"2023-09-06T01:18:00Z","author_association":"NONE","body":"**Release Notes Persisted**\n\n> Updated Chromium to 118.0.5991.0.","reactions":{"url":"https://api.github.com/repos/electron/electron/issues/comments/1707509099/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}]}
|
1
spec/fixtures/release-notes/cache/electron-electron-issue-39944-comments
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-issue-39944-comments
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"status":200,"url":"https://api.github.com/repos/electron/electron/issues/39944/comments?per_page=100","headers":{"accept-ranges":"bytes","access-control-allow-origin":"*","access-control-expose-headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","cache-control":"public, max-age=60, s-maxage=60","content-encoding":"gzip","content-length":"869","content-security-policy":"default-src 'none'","content-type":"application/json; charset=utf-8","date":"Fri, 20 Sep 2024 04:00:38 GMT","etag":"W/\"b34114fbdb2350380ab4adac1c9c48568bebf0e5c0a427ecaa40402f7166456c\"","referrer-policy":"origin-when-cross-origin, strict-origin-when-cross-origin","server":"github.com","strict-transport-security":"max-age=31536000; includeSubdomains; preload","vary":"Accept,Accept-Encoding, Accept, X-Requested-With","x-content-type-options":"nosniff","x-frame-options":"deny","x-github-api-version-selected":"2022-11-28","x-github-media-type":"github.v3; format=json","x-github-request-id":"C623:36E55D:247B74B:4558FC8:66ECF366","x-ratelimit-limit":"60","x-ratelimit-remaining":"44","x-ratelimit-reset":"1726805543","x-ratelimit-resource":"core","x-ratelimit-used":"16","x-xss-protection":"0"},"data":[{"url":"https://api.github.com/repos/electron/electron/issues/comments/1732251450","html_url":"https://github.com/electron/electron/pull/39944#issuecomment-1732251450","issue_url":"https://api.github.com/repos/electron/electron/issues/39944","id":1732251450,"node_id":"IC_kwDOAI8xS85nQA86","user":{"login":"codebytere","id":2036040,"node_id":"MDQ6VXNlcjIwMzYwNDA=","avatar_url":"https://avatars.githubusercontent.com/u/2036040?v=4","gravatar_id":"","url":"https://api.github.com/users/codebytere","html_url":"https://github.com/codebytere","followers_url":"https://api.github.com/users/codebytere/followers","following_url":"https://api.github.com/users/codebytere/following{/other_user}","gists_url":"https://api.github.com/users/codebytere/gists{/gist_id}","starred_url":"https://api.github.com/users/codebytere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codebytere/subscriptions","organizations_url":"https://api.github.com/users/codebytere/orgs","repos_url":"https://api.github.com/users/codebytere/repos","events_url":"https://api.github.com/users/codebytere/events{/privacy}","received_events_url":"https://api.github.com/users/codebytere/received_events","type":"User","site_admin":false},"created_at":"2023-09-23T08:19:47Z","updated_at":"2023-09-23T08:19:47Z","author_association":"MEMBER","body":"Needs https://github.com/electron/build-tools/pull/516","reactions":{"url":"https://api.github.com/repos/electron/electron/issues/comments/1732251450/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null},{"url":"https://api.github.com/repos/electron/electron/issues/comments/1740333567","html_url":"https://github.com/electron/electron/pull/39944#issuecomment-1740333567","issue_url":"https://api.github.com/repos/electron/electron/issues/39944","id":1740333567,"node_id":"IC_kwDOAI8xS85nu2H_","user":{"login":"release-clerk[bot]","id":42386326,"node_id":"MDM6Qm90NDIzODYzMjY=","avatar_url":"https://avatars.githubusercontent.com/in/16104?v=4","gravatar_id":"","url":"https://api.github.com/users/release-clerk%5Bbot%5D","html_url":"https://github.com/apps/release-clerk","followers_url":"https://api.github.com/users/release-clerk%5Bbot%5D/followers","following_url":"https://api.github.com/users/release-clerk%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/release-clerk%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/release-clerk%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/release-clerk%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/release-clerk%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/release-clerk%5Bbot%5D/repos","events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2023-09-29T05:26:44Z","updated_at":"2023-09-29T05:26:44Z","author_association":"NONE","body":"**Release Notes Persisted**\n\n> Updated Chromium to 119.0.6029.0.","reactions":{"url":"https://api.github.com/repos/electron/electron/issues/comments/1740333567/reactions","total_count":2,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0},"performed_via_github_app":null}]}
|
1
spec/fixtures/release-notes/cache/electron-electron-issue-40045-comments
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-issue-40045-comments
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"status":200,"url":"https://api.github.com/repos/electron/electron/issues/40045/comments?per_page=100","headers":{"accept-ranges":"bytes","access-control-allow-origin":"*","access-control-expose-headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","cache-control":"public, max-age=60, s-maxage=60","content-encoding":"gzip","content-length":"645","content-security-policy":"default-src 'none'","content-type":"application/json; charset=utf-8","date":"Fri, 20 Sep 2024 04:00:38 GMT","etag":"W/\"597a0b18dff7544d3742956759f06c9233095b92fdc8e3a1ac78afaf61a42b5c\"","referrer-policy":"origin-when-cross-origin, strict-origin-when-cross-origin","server":"github.com","strict-transport-security":"max-age=31536000; includeSubdomains; preload","vary":"Accept,Accept-Encoding, Accept, X-Requested-With","x-content-type-options":"nosniff","x-frame-options":"deny","x-github-api-version-selected":"2022-11-28","x-github-media-type":"github.v3; format=json","x-github-request-id":"C623:36E55D:247B6D4:4558ED3:66ECF366","x-ratelimit-limit":"60","x-ratelimit-remaining":"45","x-ratelimit-reset":"1726805543","x-ratelimit-resource":"core","x-ratelimit-used":"15","x-xss-protection":"0"},"data":[{"url":"https://api.github.com/repos/electron/electron/issues/comments/1743831479","html_url":"https://github.com/electron/electron/pull/40045#issuecomment-1743831479","issue_url":"https://api.github.com/repos/electron/electron/issues/40045","id":1743831479,"node_id":"IC_kwDOAI8xS85n8MG3","user":{"login":"release-clerk[bot]","id":42386326,"node_id":"MDM6Qm90NDIzODYzMjY=","avatar_url":"https://avatars.githubusercontent.com/in/16104?v=4","gravatar_id":"","url":"https://api.github.com/users/release-clerk%5Bbot%5D","html_url":"https://github.com/apps/release-clerk","followers_url":"https://api.github.com/users/release-clerk%5Bbot%5D/followers","following_url":"https://api.github.com/users/release-clerk%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/release-clerk%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/release-clerk%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/release-clerk%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/release-clerk%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/release-clerk%5Bbot%5D/repos","events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2023-10-02T22:01:11Z","updated_at":"2023-10-02T22:01:11Z","author_association":"NONE","body":"**Release Notes Persisted**\n\n> Updated Chromium to 119.0.6043.0.","reactions":{"url":"https://api.github.com/repos/electron/electron/issues/comments/1743831479/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}]}
|
1
spec/fixtures/release-notes/cache/electron-electron-issue-40076-comments
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-issue-40076-comments
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"status":200,"url":"https://api.github.com/repos/electron/electron/issues/40076/comments?per_page=100","headers":{"accept-ranges":"bytes","access-control-allow-origin":"*","access-control-expose-headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","cache-control":"public, max-age=60, s-maxage=60","content-encoding":"gzip","content-length":"894","content-security-policy":"default-src 'none'","content-type":"application/json; charset=utf-8","date":"Fri, 20 Sep 2024 04:00:38 GMT","etag":"W/\"b11c58261437bdbb984540cd6090cfe239f8f4b5b7af801f6f711e7f0bbe5915\"","referrer-policy":"origin-when-cross-origin, strict-origin-when-cross-origin","server":"github.com","strict-transport-security":"max-age=31536000; includeSubdomains; preload","vary":"Accept,Accept-Encoding, Accept, X-Requested-With","x-content-type-options":"nosniff","x-frame-options":"deny","x-github-api-version-selected":"2022-11-28","x-github-media-type":"github.v3; format=json","x-github-request-id":"C623:36E55D:247B8AF:4559259:66ECF366","x-ratelimit-limit":"60","x-ratelimit-remaining":"42","x-ratelimit-reset":"1726805543","x-ratelimit-resource":"core","x-ratelimit-used":"18","x-xss-protection":"0"},"data":[{"url":"https://api.github.com/repos/electron/electron/issues/comments/1749810095","html_url":"https://github.com/electron/electron/pull/40076#issuecomment-1749810095","issue_url":"https://api.github.com/repos/electron/electron/issues/40076","id":1749810095,"node_id":"IC_kwDOAI8xS85oS_uv","user":{"login":"release-clerk[bot]","id":42386326,"node_id":"MDM6Qm90NDIzODYzMjY=","avatar_url":"https://avatars.githubusercontent.com/in/16104?v=4","gravatar_id":"","url":"https://api.github.com/users/release-clerk%5Bbot%5D","html_url":"https://github.com/apps/release-clerk","followers_url":"https://api.github.com/users/release-clerk%5Bbot%5D/followers","following_url":"https://api.github.com/users/release-clerk%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/release-clerk%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/release-clerk%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/release-clerk%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/release-clerk%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/release-clerk%5Bbot%5D/repos","events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/release-clerk%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2023-10-05T23:59:43Z","updated_at":"2023-10-05T23:59:43Z","author_association":"NONE","body":"**Release Notes Persisted**\n\n> Updated Chromium to 119.0.6045.0.","reactions":{"url":"https://api.github.com/repos/electron/electron/issues/comments/1749810095/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null},{"url":"https://api.github.com/repos/electron/electron/issues/comments/1749846515","html_url":"https://github.com/electron/electron/pull/40076#issuecomment-1749846515","issue_url":"https://api.github.com/repos/electron/electron/issues/40076","id":1749846515,"node_id":"IC_kwDOAI8xS85oTInz","user":{"login":"ckerr","id":70381,"node_id":"MDQ6VXNlcjcwMzgx","avatar_url":"https://avatars.githubusercontent.com/u/70381?v=4","gravatar_id":"","url":"https://api.github.com/users/ckerr","html_url":"https://github.com/ckerr","followers_url":"https://api.github.com/users/ckerr/followers","following_url":"https://api.github.com/users/ckerr/following{/other_user}","gists_url":"https://api.github.com/users/ckerr/gists{/gist_id}","starred_url":"https://api.github.com/users/ckerr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ckerr/subscriptions","organizations_url":"https://api.github.com/users/ckerr/orgs","repos_url":"https://api.github.com/users/ckerr/repos","events_url":"https://api.github.com/users/ckerr/events{/privacy}","received_events_url":"https://api.github.com/users/ckerr/received_events","type":"User","site_admin":false},"created_at":"2023-10-06T00:56:09Z","updated_at":"2023-10-06T00:56:09Z","author_association":"MEMBER","body":"Ah, merged while I was reading. :sweat_smile: FWIW @jkleinsc here's a tardy :+1: on the glib/gio changes","reactions":{"url":"https://api.github.com/repos/electron/electron/issues/comments/1749846515/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}]}
|
1
spec/fixtures/release-notes/cache/electron-electron-pull-39714
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-pull-39714
vendored
Normal file
File diff suppressed because one or more lines are too long
1
spec/fixtures/release-notes/cache/electron-electron-pull-39745
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-pull-39745
vendored
Normal file
File diff suppressed because one or more lines are too long
1
spec/fixtures/release-notes/cache/electron-electron-pull-39944
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-pull-39944
vendored
Normal file
File diff suppressed because one or more lines are too long
1
spec/fixtures/release-notes/cache/electron-electron-pull-40045
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-pull-40045
vendored
Normal file
File diff suppressed because one or more lines are too long
1
spec/fixtures/release-notes/cache/electron-electron-pull-40076
vendored
Normal file
1
spec/fixtures/release-notes/cache/electron-electron-pull-40076
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue