Skip to content

Commit

Permalink
Merge branch 'Expensify:main' into group-chat-isGroupChat-condition
Browse files Browse the repository at this point in the history
  • Loading branch information
s77rt authored Apr 4, 2024
2 parents 8b771ad + 823e9c9 commit cb60efb
Show file tree
Hide file tree
Showing 170 changed files with 2,715 additions and 6,620 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
62 changes: 37 additions & 25 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,6 +16869,7 @@ exports["default"] = newComponentCategory;
"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
const GITHUB_BASE_URL_REGEX = new RegExp('https?://(?:github\\.com|api\\.github\\.com)');
const GIT_CONST = {
GITHUB_OWNER: 'Expensify',
APP_REPO: 'App',
Expand All @@ -16860,6 +16884,10 @@ const CONST = {
INTERNAL_QA: 'InternalQA',
},
DATE_FORMAT_STRING: 'yyyy-MM-dd',
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: `[email protected]:${GIT_CONST.GITHUB_OWNER}/${GIT_CONST.APP_REPO}.git`,
};
Expand All @@ -16869,7 +16897,7 @@ exports["default"] = CONST;
/***/ }),

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

"use strict";

Expand Down Expand Up @@ -16900,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 @@ -16909,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 @@ -17047,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 @@ -17065,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 @@ -17083,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 @@ -17262,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 @@ -17274,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 @@ -17286,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 @@ -17314,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
Expand Up @@ -2,7 +2,7 @@
import lodashThrottle from 'lodash/throttle';
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'];
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 cb60efb

Please sign in to comment.