[PM-7663] Update Build Pipeline for Beta Labelling (#8903)
* [PM-7663] Update build pipeline for beta labeling * [PM-7663] Update build pipeline for beta labelling * [PM-7663] Update build pipeline for beta labelling * [PM-7663] Update build pipeline for beta labelling * [PM-7663] Update build pipeline for beta labelling * [PM-7663] Incorporate build workflow for the Chrome manifest v3 beta * [PM-7663] Update build pipeline for beta labeling * [PM-7663] Update build pipeline for beta labeling * [PM-7663] Update build pipeline for beta labeling * [PM-7663] Ensure we can have a valid version number based on the github run id * [PM-7663] Ensure we can have a valid version number based on the github run id * [PM-7663] Reverting change made to the run id, as it will not function * [PM-7663] Reverting change made to the run id, as it will not function * [PM-7663] Reverting change made to the run id, as it will not function * [PM-7663] Reverting change made to the run id, as it will not function * [PM-7663] Reverting a typo * Fix Duplicate `process.env * Learn how to use --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
This commit is contained in:
parent
a8e4366ec0
commit
5dc200577c
|
@ -164,6 +164,10 @@ jobs:
|
||||||
run: npm run dist:mv3
|
run: npm run dist:mv3
|
||||||
working-directory: browser-source/apps/browser
|
working-directory: browser-source/apps/browser
|
||||||
|
|
||||||
|
- name: Build Chrome Manifest v3 Beta
|
||||||
|
run: npm run dist:chrome:beta
|
||||||
|
working-directory: browser-source/apps/browser
|
||||||
|
|
||||||
- name: Gulp
|
- name: Gulp
|
||||||
run: gulp ci
|
run: gulp ci
|
||||||
working-directory: browser-source/apps/browser
|
working-directory: browser-source/apps/browser
|
||||||
|
@ -196,6 +200,13 @@ jobs:
|
||||||
path: browser-source/apps/browser/dist/dist-chrome-mv3.zip
|
path: browser-source/apps/browser/dist/dist-chrome-mv3.zip
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Upload Chrome MV3 Beta artifact (DO NOT USE FOR PROD)
|
||||||
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
||||||
|
with:
|
||||||
|
name: DO-NOT-USE-FOR-PROD-dist-chrome-MV3-beta-${{ env._BUILD_NUMBER }}.zip
|
||||||
|
path: browser-source/apps/browser/dist/dist-chrome-mv3-beta.zip
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Upload Firefox artifact
|
- name: Upload Firefox artifact
|
||||||
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
||||||
with:
|
with:
|
||||||
|
|
|
@ -35,6 +35,9 @@ function buildString() {
|
||||||
if (process.env.MANIFEST_VERSION) {
|
if (process.env.MANIFEST_VERSION) {
|
||||||
build = `-mv${process.env.MANIFEST_VERSION}`;
|
build = `-mv${process.env.MANIFEST_VERSION}`;
|
||||||
}
|
}
|
||||||
|
if (process.env.BETA_BUILD === "1") {
|
||||||
|
build += "-beta";
|
||||||
|
}
|
||||||
if (process.env.BUILD_NUMBER && process.env.BUILD_NUMBER !== "") {
|
if (process.env.BUILD_NUMBER && process.env.BUILD_NUMBER !== "") {
|
||||||
build = `-${process.env.BUILD_NUMBER}`;
|
build = `-${process.env.BUILD_NUMBER}`;
|
||||||
}
|
}
|
||||||
|
@ -65,6 +68,9 @@ function distFirefox() {
|
||||||
manifest.optional_permissions = manifest.optional_permissions.filter(
|
manifest.optional_permissions = manifest.optional_permissions.filter(
|
||||||
(permission) => permission !== "privacy",
|
(permission) => permission !== "privacy",
|
||||||
);
|
);
|
||||||
|
if (process.env.BETA_BUILD === "1") {
|
||||||
|
manifest = applyBetaLabels(manifest);
|
||||||
|
}
|
||||||
return manifest;
|
return manifest;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -72,6 +78,9 @@ function distFirefox() {
|
||||||
function distOpera() {
|
function distOpera() {
|
||||||
return dist("opera", (manifest) => {
|
return dist("opera", (manifest) => {
|
||||||
delete manifest.applications;
|
delete manifest.applications;
|
||||||
|
if (process.env.BETA_BUILD === "1") {
|
||||||
|
manifest = applyBetaLabels(manifest);
|
||||||
|
}
|
||||||
return manifest;
|
return manifest;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -81,6 +90,9 @@ function distChrome() {
|
||||||
delete manifest.applications;
|
delete manifest.applications;
|
||||||
delete manifest.sidebar_action;
|
delete manifest.sidebar_action;
|
||||||
delete manifest.commands._execute_sidebar_action;
|
delete manifest.commands._execute_sidebar_action;
|
||||||
|
if (process.env.BETA_BUILD === "1") {
|
||||||
|
manifest = applyBetaLabels(manifest);
|
||||||
|
}
|
||||||
return manifest;
|
return manifest;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -90,6 +102,9 @@ function distEdge() {
|
||||||
delete manifest.applications;
|
delete manifest.applications;
|
||||||
delete manifest.sidebar_action;
|
delete manifest.sidebar_action;
|
||||||
delete manifest.commands._execute_sidebar_action;
|
delete manifest.commands._execute_sidebar_action;
|
||||||
|
if (process.env.BETA_BUILD === "1") {
|
||||||
|
manifest = applyBetaLabels(manifest);
|
||||||
|
}
|
||||||
return manifest;
|
return manifest;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -210,6 +225,9 @@ async function safariCopyBuild(source, dest) {
|
||||||
delete manifest.commands._execute_sidebar_action;
|
delete manifest.commands._execute_sidebar_action;
|
||||||
delete manifest.optional_permissions;
|
delete manifest.optional_permissions;
|
||||||
manifest.permissions.push("nativeMessaging");
|
manifest.permissions.push("nativeMessaging");
|
||||||
|
if (process.env.BETA_BUILD === "1") {
|
||||||
|
manifest = applyBetaLabels(manifest);
|
||||||
|
}
|
||||||
return manifest;
|
return manifest;
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
@ -235,6 +253,19 @@ async function ciCoverage(cb) {
|
||||||
.pipe(gulp.dest(paths.coverage));
|
.pipe(gulp.dest(paths.coverage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function applyBetaLabels(manifest) {
|
||||||
|
manifest.name = "Bitwarden Password Manager BETA";
|
||||||
|
manifest.short_name = "Bitwarden BETA";
|
||||||
|
manifest.description = "THIS EXTENSION IS FOR BETA TESTING BITWARDEN.";
|
||||||
|
if (process.env.GITHUB_RUN_ID) {
|
||||||
|
manifest.version_name = `${manifest.version} beta - ${process.env.GITHUB_SHA.slice(0, 8)}`;
|
||||||
|
manifest.version = `${manifest.version}.${parseInt(process.env.GITHUB_RUN_ID.slice(-4))}`;
|
||||||
|
} else {
|
||||||
|
manifest.version = `${manifest.version}.0`;
|
||||||
|
}
|
||||||
|
return manifest;
|
||||||
|
}
|
||||||
|
|
||||||
exports["dist:firefox"] = distFirefox;
|
exports["dist:firefox"] = distFirefox;
|
||||||
exports["dist:chrome"] = distChrome;
|
exports["dist:chrome"] = distChrome;
|
||||||
exports["dist:opera"] = distOpera;
|
exports["dist:opera"] = distOpera;
|
||||||
|
|
|
@ -7,10 +7,14 @@
|
||||||
"build:watch": "webpack --watch",
|
"build:watch": "webpack --watch",
|
||||||
"build:watch:mv3": "cross-env MANIFEST_VERSION=3 webpack --watch",
|
"build:watch:mv3": "cross-env MANIFEST_VERSION=3 webpack --watch",
|
||||||
"build:prod": "cross-env NODE_ENV=production webpack",
|
"build:prod": "cross-env NODE_ENV=production webpack",
|
||||||
|
"build:prod:beta": "cross-env BETA_BUILD=1 NODE_ENV=production webpack",
|
||||||
"build:prod:watch": "cross-env NODE_ENV=production webpack --watch",
|
"build:prod:watch": "cross-env NODE_ENV=production webpack --watch",
|
||||||
"dist": "npm run build:prod && gulp dist",
|
"dist": "npm run build:prod && gulp dist",
|
||||||
|
"dist:beta": "npm run build:prod:beta && cross-env BETA_BUILD=1 gulp dist",
|
||||||
"dist:mv3": "cross-env MANIFEST_VERSION=3 npm run build:prod && cross-env MANIFEST_VERSION=3 gulp dist",
|
"dist:mv3": "cross-env MANIFEST_VERSION=3 npm run build:prod && cross-env MANIFEST_VERSION=3 gulp dist",
|
||||||
|
"dist:mv3:beta": "cross-env MANIFEST_VERSION=3 npm run build:prod:beta && cross-env MANIFEST_VERSION=3 BETA_BUILD=1 gulp dist",
|
||||||
"dist:chrome": "npm run build:prod && gulp dist:chrome",
|
"dist:chrome": "npm run build:prod && gulp dist:chrome",
|
||||||
|
"dist:chrome:beta": "cross-env MANIFEST_VERSION=3 npm run build:prod:beta && cross-env MANIFEST_VERSION=3 BETA_BUILD=1 gulp dist:chrome",
|
||||||
"dist:firefox": "npm run build:prod && gulp dist:firefox",
|
"dist:firefox": "npm run build:prod && gulp dist:firefox",
|
||||||
"dist:opera": "npm run build:prod && gulp dist:opera",
|
"dist:opera": "npm run build:prod && gulp dist:opera",
|
||||||
"dist:safari": "npm run build:prod && gulp dist:safari",
|
"dist:safari": "npm run build:prod && gulp dist:safari",
|
||||||
|
|
Loading…
Reference in New Issue