Skip to content

Commit

Permalink
Merge branch 'main' into wave9/onboarding-flow
Browse files Browse the repository at this point in the history
  • Loading branch information
filip-solecki committed Apr 4, 2024
2 parents d6a0524 + 823e9c9 commit 975019e
Show file tree
Hide file tree
Showing 211 changed files with 4,178 additions and 14,697 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import github from '@actions/github';
import * as github from '@actions/github';
import {parse} from '@babel/parser';
import traverse from '@babel/traverse';
import CONST from '@github/libs/CONST';
Expand Down
73 changes: 43 additions & 30 deletions .github/actions/javascript/authorChecklist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16738,12 +16738,35 @@ exports["default"] = generateDynamicChecksAndCheckForCompletion;

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.detectReactComponent = void 0;
const github_1 = __importDefault(__nccwpck_require__(5438));
const github = __importStar(__nccwpck_require__(5438));
const parser_1 = __nccwpck_require__(5026);
const traverse_1 = __importDefault(__nccwpck_require__(1380));
const CONST_1 = __importDefault(__nccwpck_require__(9873));
Expand Down Expand Up @@ -16810,7 +16833,7 @@ async function detectReactComponentInFile(filename) {
owner: CONST_1.default.GITHUB_OWNER,
repo: CONST_1.default.APP_REPO,
path: filename,
ref: github_1.default.context.payload.pull_request?.head.ref,
ref: github.context.payload.pull_request?.head.ref,
};
try {
const { data } = await GithubUtils_1.default.octokit.repos.getContent(params);
Expand Down Expand Up @@ -16846,9 +16869,13 @@ exports["default"] = newComponentCategory;
"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
const CONST = {
const GITHUB_BASE_URL_REGEX = new RegExp('https?://(?:github\\.com|api\\.github\\.com)');
const GIT_CONST = {
GITHUB_OWNER: 'Expensify',
APP_REPO: 'App',
};
const CONST = {
...GIT_CONST,
APPLAUSE_BOT: 'applausebot',
OS_BOTIFY: 'OSBotify',
LABELS: {
Expand All @@ -16857,18 +16884,20 @@ const CONST = {
INTERNAL_QA: 'InternalQA',
},
DATE_FORMAT_STRING: 'yyyy-MM-dd',
APP_REPO_URL: '',
APP_REPO_GIT_URL: '',
PULL_REQUEST_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/pull/([0-9]+).*`),
ISSUE_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/issues/([0-9]+).*`),
ISSUE_OR_PULL_REQUEST_REGEX: new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/(?:pull|issues)/([0-9]+).*`),
POLL_RATE: 10000,
APP_REPO_URL: `https://github.com/${GIT_CONST.GITHUB_OWNER}/${GIT_CONST.APP_REPO}`,
APP_REPO_GIT_URL: `git@github.com:${GIT_CONST.GITHUB_OWNER}/${GIT_CONST.APP_REPO}.git`,
};
CONST.APP_REPO_URL = `https://github.com/${CONST.GITHUB_OWNER}/${CONST.APP_REPO}`;
CONST.APP_REPO_GIT_URL = `git@github.com:${CONST.GITHUB_OWNER}/${CONST.APP_REPO}.git`;
exports["default"] = CONST;


/***/ }),

/***/ 9296:
/***/ (function(module, exports, __nccwpck_require__) {
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

Expand Down Expand Up @@ -16899,7 +16928,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.POLL_RATE = exports.ISSUE_OR_PULL_REQUEST_REGEX = void 0;
/* eslint-disable @typescript-eslint/naming-convention, import/no-import-module-exports */
const core = __importStar(__nccwpck_require__(2186));
const utils_1 = __nccwpck_require__(3030);
Expand All @@ -16908,20 +16936,8 @@ const plugin_throttling_1 = __nccwpck_require__(9968);
const EmptyObject_1 = __nccwpck_require__(8227);
const arrayDifference_1 = __importDefault(__nccwpck_require__(7034));
const CONST_1 = __importDefault(__nccwpck_require__(9873));
const GITHUB_BASE_URL_REGEX = new RegExp('https?://(?:github\\.com|api\\.github\\.com)');
const PULL_REQUEST_REGEX = new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/pull/([0-9]+).*`);
const ISSUE_REGEX = new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/issues/([0-9]+).*`);
const ISSUE_OR_PULL_REQUEST_REGEX = new RegExp(`${GITHUB_BASE_URL_REGEX.source}/.*/.*/(?:pull|issues)/([0-9]+).*`);
exports.ISSUE_OR_PULL_REQUEST_REGEX = ISSUE_OR_PULL_REQUEST_REGEX;
/**
* The standard rate in ms at which we'll poll the GitHub API to check for status changes.
* It's 10 seconds :)
*/
const POLL_RATE = 10000;
exports.POLL_RATE = POLL_RATE;
class GithubUtils {
static internalOctokit;
static POLL_RATE;
/**
* Initialize internal octokit
*
Expand Down Expand Up @@ -17046,7 +17062,7 @@ class GithubUtils {
return [];
}
PRListSection = PRListSection[1];
const PRList = [...PRListSection.matchAll(new RegExp(`- \\[([ x])] (${PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({
const PRList = [...PRListSection.matchAll(new RegExp(`- \\[([ x])] (${CONST_1.default.PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({
url: match[2],
number: Number.parseInt(match[3], 10),
isVerified: match[1] === 'x',
Expand All @@ -17064,7 +17080,7 @@ class GithubUtils {
return [];
}
deployBlockerSection = deployBlockerSection[1];
const deployBlockers = [...deployBlockerSection.matchAll(new RegExp(`- \\[([ x])]\\s(${ISSUE_OR_PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({
const deployBlockers = [...deployBlockerSection.matchAll(new RegExp(`- \\[([ x])]\\s(${CONST_1.default.ISSUE_OR_PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({
url: match[2],
number: Number.parseInt(match[3], 10),
isResolved: match[1] === 'x',
Expand All @@ -17082,7 +17098,7 @@ class GithubUtils {
return [];
}
internalQASection = internalQASection[1];
const internalQAPRs = [...internalQASection.matchAll(new RegExp(`- \\[([ x])]\\s(${PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({
const internalQAPRs = [...internalQASection.matchAll(new RegExp(`- \\[([ x])]\\s(${CONST_1.default.PULL_REQUEST_REGEX.source})`, 'g'))].map((match) => ({
url: match[2].split('-')[0].trim(),
number: Number.parseInt(match[3], 10),
isResolved: match[1] === 'x',
Expand Down Expand Up @@ -17261,7 +17277,7 @@ class GithubUtils {
* @throws {Error} If the URL is not a valid Github Pull Request.
*/
static getPullRequestNumberFromURL(URL) {
const matches = URL.match(PULL_REQUEST_REGEX);
const matches = URL.match(CONST_1.default.PULL_REQUEST_REGEX);
if (!Array.isArray(matches) || matches.length !== 2) {
throw new Error(`Provided URL ${URL} is not a Github Pull Request!`);
}
Expand All @@ -17273,7 +17289,7 @@ class GithubUtils {
* @throws {Error} If the URL is not a valid Github Issue.
*/
static getIssueNumberFromURL(URL) {
const matches = URL.match(ISSUE_REGEX);
const matches = URL.match(CONST_1.default.ISSUE_REGEX);
if (!Array.isArray(matches) || matches.length !== 2) {
throw new Error(`Provided URL ${URL} is not a Github Issue!`);
}
Expand All @@ -17285,7 +17301,7 @@ class GithubUtils {
* @throws {Error} If the URL is not a valid Github Issue or Pull Request.
*/
static getIssueOrPullRequestNumberFromURL(URL) {
const matches = URL.match(ISSUE_OR_PULL_REQUEST_REGEX);
const matches = URL.match(CONST_1.default.ISSUE_OR_PULL_REQUEST_REGEX);
if (!Array.isArray(matches) || matches.length !== 2) {
throw new Error(`Provided URL ${URL} is not a valid Github Issue or Pull Request!`);
}
Expand Down Expand Up @@ -17313,9 +17329,6 @@ class GithubUtils {
}
}
exports["default"] = GithubUtils;
// This is a temporary solution to allow the use of the GithubUtils class in both TypeScript and JavaScript.
// Once all the files that import GithubUtils are migrated to TypeScript, this can be removed.
module.exports = GithubUtils;


/***/ }),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
/* eslint-disable @typescript-eslint/naming-convention */
import lodashThrottle from 'lodash/throttle';
import ActionUtils from '@github/libs/ActionUtils';
import {getStringInput} from '@github/libs/ActionUtils';
import CONST from '@github/libs/CONST';
import GitHubUtils, {POLL_RATE} from '@github/libs/GithubUtils';
import GitHubUtils from '@github/libs/GithubUtils';
import {promiseDoWhile} from '@github/libs/promiseWhile';

type CurrentStagingDeploys = Awaited<ReturnType<typeof GitHubUtils.octokit.actions.listWorkflowRuns>>['data']['workflow_runs'];

function run() {
console.info('[awaitStagingDeploys] run()');
console.info('[awaitStagingDeploys] ActionUtils', ActionUtils);
console.info('[awaitStagingDeploys] getStringInput', getStringInput);
console.info('[awaitStagingDeploys] GitHubUtils', GitHubUtils);
console.info('[awaitStagingDeploys] promiseDoWhile', promiseDoWhile);

const tag = ActionUtils.getStringInput('TAG', {required: false});
const tag = getStringInput('TAG', {required: false});
console.info('[awaitStagingDeploys] run() tag', tag);

let currentStagingDeploys: CurrentStagingDeploys = [];
Expand Down Expand Up @@ -41,20 +41,23 @@ function run() {
}),
])
.then((responses) => {
console.info('[awaitStagingDeploys] listWorkflowRuns responses', responses);
const workflowRuns = responses[0].data.workflow_runs;
if (!tag && typeof responses[1] === 'object') {
workflowRuns.push(...responses[1].data.workflow_runs);
}
console.info('[awaitStagingDeploys] workflowRuns', workflowRuns);
return workflowRuns;
})
.then((workflowRuns) => (currentStagingDeploys = workflowRuns.filter((workflowRun) => workflowRun.status !== 'completed')))
.then(() =>
.then(() => {
console.info('[awaitStagingDeploys] currentStagingDeploys', currentStagingDeploys);
console.log(
!currentStagingDeploys.length
? 'No current staging deploys found'
: `Found ${currentStagingDeploys.length} staging deploy${currentStagingDeploys.length > 1 ? 's' : ''} still running...`,
),
);
);
});
console.info('[awaitStagingDeploys] run() throttleFunc', throttleFunc);

return promiseDoWhile(
Expand All @@ -63,7 +66,7 @@ function run() {
throttleFunc,

// Poll every 60 seconds instead of every 10 seconds
POLL_RATE * 6,
CONST.POLL_RATE * 6,
),
);
}
Expand Down
Loading

0 comments on commit 975019e

Please sign in to comment.