Skip to content

Commit 039b047

Browse files
committed
resolve conflict
2 parents 01f68f7 + 051e86d commit 039b047

File tree

553 files changed

+20913
-42934
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

553 files changed

+20913
-42934
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,37 @@
11
---
2-
name: Add or remove expert contributor from the team
3-
about: In order to get access to the HybridApp setup, expert contributors need to be added to our Github Organization. They also need to be added to the necessary rooms in Slack
2+
name: Onboard or offboard an expert contributor from the team
3+
about: In order to get access to the HybridApp setup, expert contributors need to be added to our GitHub Organization. They also need to be added to the necessary rooms in Slack
44
title: "Expert Contributor Change Request - <insert-name>"
5-
labels: Daily, Task, ring0
5+
labels: Daily, Task, Access Change
66
---
77

8+
### Requester Tasks
9+
10+
- [ ] Provide the Expert Contributor Details requested below
11+
- [ ] Add / remove from the following Slack channels via Slack Connect
12+
- [ ] [#quality](https://expensify.enterprise.slack.com/archives/C05LX9D6E07)
13+
- [ ] [#convert](https://expensify.enterprise.slack.com/archives/C07HPDRELLD)
14+
- [ ] [#retain](https://expensify.enterprise.slack.com/archives/C07NZ8B1VTQ)
15+
- [ ] [#migrate](https://expensify.enterprise.slack.com/archives/C07NMDKEFMH)
16+
- [ ] [#expensify-bugs](https://expensify.enterprise.slack.com/archives/C049HHMV9SM)
17+
- [ ] [#expensify-open-source](https://expensify.enterprise.slack.com/archives/C01GTK53T8Q)
18+
- [ ] [#expert-contributors](https://expensify.enterprise.slack.com/archives/C08CZDJFJ77)
19+
820
### Expert Contributor Details
921

10-
- Name:
11-
- Github handle (or Github profile link):
22+
- Full Name:
23+
- GitHub handle:
1224
- Email:
1325
- Slack post in your team channel with this request for visibility:
1426
- Team (check your team):
1527
- [ ] Callstack
1628
- [ ] Margelo
1729
- [ ] Software Mansion
1830

19-
Do you want to remove this developer from the team? YES/NO
31+
Which action do you wish to take for this team member (select one):
32+
- [ ] Onboard - add them to the team
33+
- [ ] Offboard - remove them from the team
2034

21-
### Tasks for ring0 assignee
35+
### Ring0 Tasks
2236

23-
- [ ] Add to the appropriate GitHub child team of [external-expert-contributors](https://github.com/orgs/Expensify/teams/external-expert-contributors/teams) (each agency must have its own child team)
24-
- [ ] Add to Slack channels using Slack Connect:
25-
- [ ] [#quality](https://expensify.enterprise.slack.com/archives/C05LX9D6E07)
26-
- [ ] [#convert](https://expensify.enterprise.slack.com/archives/C07HPDRELLD)
27-
- [ ] [#retain](https://expensify.enterprise.slack.com/archives/C07NZ8B1VTQ)
28-
- [ ] [#migrate](https://expensify.enterprise.slack.com/archives/C07NMDKEFMH)
29-
- [ ] [#expense](https://expensify.enterprise.slack.com/archives/C06ML6X0W9L)
30-
- [ ] [#expensify-bugs](https://expensify.enterprise.slack.com/archives/C049HHMV9SM)
31-
- [ ] [#expensify-open-source](https://expensify.enterprise.slack.com/archives/C01GTK53T8Q)
32-
- [ ] [#expert-contributors](https://expensify.enterprise.slack.com/archives/C08CZDJFJ77)
37+
- [ ] Add to / remove from the appropriate GitHub child team of [external-expert-contributors](https://github.com/orgs/Expensify/teams/external-expert-contributors/teams) (each agency must have its own child team)

.github/actions/javascript/authorChecklist/index.js

Lines changed: 9459 additions & 25058 deletions
Large diffs are not rendered by default.

.github/actions/javascript/awaitStagingDeploys/index.js

Lines changed: 0 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -4730,79 +4730,6 @@ exports.throttling = throttling;
47304730
//# sourceMappingURL=index.js.map
47314731

47324732

4733-
/***/ }),
4734-
4735-
/***/ 537:
4736-
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
4737-
4738-
"use strict";
4739-
4740-
4741-
Object.defineProperty(exports, "__esModule", ({ value: true }));
4742-
4743-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4744-
4745-
var deprecation = __nccwpck_require__(8932);
4746-
var once = _interopDefault(__nccwpck_require__(1223));
4747-
4748-
const logOnceCode = once(deprecation => console.warn(deprecation));
4749-
const logOnceHeaders = once(deprecation => console.warn(deprecation));
4750-
/**
4751-
* Error with extra properties to help with debugging
4752-
*/
4753-
class RequestError extends Error {
4754-
constructor(message, statusCode, options) {
4755-
super(message);
4756-
// Maintains proper stack trace (only available on V8)
4757-
/* istanbul ignore next */
4758-
if (Error.captureStackTrace) {
4759-
Error.captureStackTrace(this, this.constructor);
4760-
}
4761-
this.name = "HttpError";
4762-
this.status = statusCode;
4763-
let headers;
4764-
if ("headers" in options && typeof options.headers !== "undefined") {
4765-
headers = options.headers;
4766-
}
4767-
if ("response" in options) {
4768-
this.response = options.response;
4769-
headers = options.response.headers;
4770-
}
4771-
// redact request credentials without mutating original request options
4772-
const requestCopy = Object.assign({}, options.request);
4773-
if (options.request.headers.authorization) {
4774-
requestCopy.headers = Object.assign({}, options.request.headers, {
4775-
authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
4776-
});
4777-
}
4778-
requestCopy.url = requestCopy.url
4779-
// client_id & client_secret can be passed as URL query parameters to increase rate limit
4780-
// see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
4781-
.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]")
4782-
// OAuth tokens can be passed as URL query parameters, although it is not recommended
4783-
// see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
4784-
.replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
4785-
this.request = requestCopy;
4786-
// deprecations
4787-
Object.defineProperty(this, "code", {
4788-
get() {
4789-
logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
4790-
return statusCode;
4791-
}
4792-
});
4793-
Object.defineProperty(this, "headers", {
4794-
get() {
4795-
logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));
4796-
return headers || {};
4797-
}
4798-
});
4799-
}
4800-
}
4801-
4802-
exports.RequestError = RequestError;
4803-
//# sourceMappingURL=index.js.map
4804-
4805-
48064733
/***/ }),
48074734

48084735
/***/ 3682:
@@ -12402,7 +12329,6 @@ const core = __importStar(__nccwpck_require__(2186));
1240212329
const utils_1 = __nccwpck_require__(3030);
1240312330
const plugin_paginate_rest_1 = __nccwpck_require__(4193);
1240412331
const plugin_throttling_1 = __nccwpck_require__(9968);
12405-
const request_error_1 = __nccwpck_require__(537);
1240612332
const EmptyObject_1 = __nccwpck_require__(8227);
1240712333
const arrayDifference_1 = __importDefault(__nccwpck_require__(7034));
1240812334
const CONST_1 = __importDefault(__nccwpck_require__(9873));
@@ -12825,34 +12751,6 @@ class GithubUtils {
1282512751
})
1282612752
.then((response) => response.url);
1282712753
}
12828-
/**
12829-
* Get commits between two tags via the GitHub API
12830-
*/
12831-
static async getCommitHistoryBetweenTags(fromTag, toTag) {
12832-
console.log('Getting pull requests merged between the following tags:', fromTag, toTag);
12833-
try {
12834-
const { data: comparison } = await this.octokit.repos.compareCommits({
12835-
owner: CONST_1.default.GITHUB_OWNER,
12836-
repo: CONST_1.default.APP_REPO,
12837-
base: fromTag,
12838-
head: toTag,
12839-
});
12840-
// Map API response to our CommitType format
12841-
return comparison.commits.map((commit) => ({
12842-
commit: commit.sha,
12843-
subject: commit.commit.message,
12844-
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
12845-
authorName: commit.commit.author?.name || 'Unknown',
12846-
}));
12847-
}
12848-
catch (error) {
12849-
if (error instanceof request_error_1.RequestError && error.status === 404) {
12850-
console.error(`❓❓ Failed to compare commits with the GitHub API. The base tag ('${fromTag}') or head tag ('${toTag}') likely doesn't exist on the remote repository. If this is the case, create or push them. 💡💡`);
12851-
}
12852-
// Re-throw the error after logging
12853-
throw error;
12854-
}
12855-
}
1285612754
}
1285712755
exports["default"] = GithubUtils;
1285812756

.github/actions/javascript/checkAndroidStatus/action.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ inputs:
1313
outputs:
1414
HALTED:
1515
description: True if the app is halted, false otherwise
16+
COMPLETED:
17+
description: True if the app is completed a rollout, false otherwise
1618
ROLLOUT_PERCENTAGE:
1719
description: The calculated rollout percentage
1820
runs:

.github/actions/javascript/checkAndroidStatus/checkAndroidStatus.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ import GithubUtils from '@github/libs/GithubUtils';
66
const PACKAGE_NAME = core.getInput('PACKAGE_NAME', {required: true});
77
const GOOGLE_KEY_FILE = core.getInput('GOOGLE_KEY_FILE', {required: true});
88
const HALTED_STATUS = 'halted';
9+
const COMPLETED_STATUS = 'completed';
910

10-
async function checkAndroidStatus() {
11+
async function checkAndroidStatus(): Promise<string> {
1112
const auth = new google.auth.GoogleAuth({
1213
keyFile: GOOGLE_KEY_FILE,
1314
scopes: ['https://www.googleapis.com/auth/androidpublisher'],
@@ -38,9 +39,15 @@ async function checkAndroidStatus() {
3839
// Check if the status is halted
3940
const HALTED = status === HALTED_STATUS;
4041
core.setOutput('HALTED', HALTED);
42+
43+
// Check if the status is completed
44+
const COMPLETED = status === COMPLETED_STATUS;
45+
core.setOutput('COMPLETED', COMPLETED);
46+
47+
return status;
4148
} catch (error) {
4249
console.error('Error checking track status:', error);
43-
process.exit(1);
50+
throw error;
4451
}
4552
}
4653

.github/actions/javascript/checkAndroidStatus/index.js

Lines changed: 6 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -4730,79 +4730,6 @@ exports.throttling = throttling;
47304730
//# sourceMappingURL=index.js.map
47314731

47324732

4733-
/***/ }),
4734-
4735-
/***/ 10537:
4736-
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
4737-
4738-
"use strict";
4739-
4740-
4741-
Object.defineProperty(exports, "__esModule", ({ value: true }));
4742-
4743-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4744-
4745-
var deprecation = __nccwpck_require__(58932);
4746-
var once = _interopDefault(__nccwpck_require__(1223));
4747-
4748-
const logOnceCode = once(deprecation => console.warn(deprecation));
4749-
const logOnceHeaders = once(deprecation => console.warn(deprecation));
4750-
/**
4751-
* Error with extra properties to help with debugging
4752-
*/
4753-
class RequestError extends Error {
4754-
constructor(message, statusCode, options) {
4755-
super(message);
4756-
// Maintains proper stack trace (only available on V8)
4757-
/* istanbul ignore next */
4758-
if (Error.captureStackTrace) {
4759-
Error.captureStackTrace(this, this.constructor);
4760-
}
4761-
this.name = "HttpError";
4762-
this.status = statusCode;
4763-
let headers;
4764-
if ("headers" in options && typeof options.headers !== "undefined") {
4765-
headers = options.headers;
4766-
}
4767-
if ("response" in options) {
4768-
this.response = options.response;
4769-
headers = options.response.headers;
4770-
}
4771-
// redact request credentials without mutating original request options
4772-
const requestCopy = Object.assign({}, options.request);
4773-
if (options.request.headers.authorization) {
4774-
requestCopy.headers = Object.assign({}, options.request.headers, {
4775-
authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
4776-
});
4777-
}
4778-
requestCopy.url = requestCopy.url
4779-
// client_id & client_secret can be passed as URL query parameters to increase rate limit
4780-
// see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
4781-
.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]")
4782-
// OAuth tokens can be passed as URL query parameters, although it is not recommended
4783-
// see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
4784-
.replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
4785-
this.request = requestCopy;
4786-
// deprecations
4787-
Object.defineProperty(this, "code", {
4788-
get() {
4789-
logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
4790-
return statusCode;
4791-
}
4792-
});
4793-
Object.defineProperty(this, "headers", {
4794-
get() {
4795-
logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));
4796-
return headers || {};
4797-
}
4798-
});
4799-
}
4800-
}
4801-
4802-
exports.RequestError = RequestError;
4803-
//# sourceMappingURL=index.js.map
4804-
4805-
48064733
/***/ }),
48074734

48084735
/***/ 26463:
@@ -736922,6 +736849,7 @@ const GithubUtils_1 = __importDefault(__nccwpck_require__(19296));
736922736849
const PACKAGE_NAME = core.getInput('PACKAGE_NAME', { required: true });
736923736850
const GOOGLE_KEY_FILE = core.getInput('GOOGLE_KEY_FILE', { required: true });
736924736851
const HALTED_STATUS = 'halted';
736852+
const COMPLETED_STATUS = 'completed';
736925736853
async function checkAndroidStatus() {
736926736854
const auth = new googleapis_1.google.auth.GoogleAuth({
736927736855
keyFile: GOOGLE_KEY_FILE,
@@ -736948,10 +736876,14 @@ async function checkAndroidStatus() {
736948736876
// Check if the status is halted
736949736877
const HALTED = status === HALTED_STATUS;
736950736878
core.setOutput('HALTED', HALTED);
736879+
// Check if the status is completed
736880+
const COMPLETED = status === COMPLETED_STATUS;
736881+
core.setOutput('COMPLETED', COMPLETED);
736882+
return status;
736951736883
}
736952736884
catch (error) {
736953736885
console.error('Error checking track status:', error);
736954-
process.exit(1);
736886+
throw error;
736955736887
}
736956736888
}
736957736889
async function getLatestReleaseDate() {
@@ -737097,7 +737029,6 @@ const core = __importStar(__nccwpck_require__(42186));
737097737029
const utils_1 = __nccwpck_require__(73030);
737098737030
const plugin_paginate_rest_1 = __nccwpck_require__(64193);
737099737031
const plugin_throttling_1 = __nccwpck_require__(9968);
737100-
const request_error_1 = __nccwpck_require__(10537);
737101737032
const EmptyObject_1 = __nccwpck_require__(58227);
737102737033
const arrayDifference_1 = __importDefault(__nccwpck_require__(97034));
737103737034
const CONST_1 = __importDefault(__nccwpck_require__(29873));
@@ -737520,34 +737451,6 @@ class GithubUtils {
737520737451
})
737521737452
.then((response) => response.url);
737522737453
}
737523-
/**
737524-
* Get commits between two tags via the GitHub API
737525-
*/
737526-
static async getCommitHistoryBetweenTags(fromTag, toTag) {
737527-
console.log('Getting pull requests merged between the following tags:', fromTag, toTag);
737528-
try {
737529-
const { data: comparison } = await this.octokit.repos.compareCommits({
737530-
owner: CONST_1.default.GITHUB_OWNER,
737531-
repo: CONST_1.default.APP_REPO,
737532-
base: fromTag,
737533-
head: toTag,
737534-
});
737535-
// Map API response to our CommitType format
737536-
return comparison.commits.map((commit) => ({
737537-
commit: commit.sha,
737538-
subject: commit.commit.message,
737539-
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
737540-
authorName: commit.commit.author?.name || 'Unknown',
737541-
}));
737542-
}
737543-
catch (error) {
737544-
if (error instanceof request_error_1.RequestError && error.status === 404) {
737545-
console.error(`❓❓ Failed to compare commits with the GitHub API. The base tag ('${fromTag}') or head tag ('${toTag}') likely doesn't exist on the remote repository. If this is the case, create or push them. 💡💡`);
737546-
}
737547-
// Re-throw the error after logging
737548-
throw error;
737549-
}
737550-
}
737551737454
}
737552737455
exports["default"] = GithubUtils;
737553737456

0 commit comments

Comments
 (0)