1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-25 12:43:36 +00:00
Commit Graph

107 Commits

Author SHA1 Message Date
Bernd Schoolmann
8d69fcd6bb [PM-22271] Switch to SDK argon2 implementation, and drop other impls (#15401)
* Switch to SDK argon2 implementation

* Cleanup and update to the latest sdk

* Update package lock

* Remove copy patch

* Fix builds

* Fix test build

* Remove error

* Fix tests

* Fix build

* Run prettier

* Remove argon2 references

* Regenerate index.d.ts for desktop_native napi

* Replace mocked crypto function service type

(cherry picked from commit 8250e40c6c)
2025-07-15 20:19:48 +02:00
Tyler
3f7cb674af BRE-883 build(firefox): check file size (#15399)
* build(firefox): check file size

if building `firefox` or `firefox-mv3`

    * check if any file(s) exceeds 4M (megabytes)

        - If true, fail and provide basic message.

* style: add clarity

sytle: add error message

* fix: relocate step

ensure final step of source files before validating

* test: add failure condition

* fix: source file target directory

* fix: test for failure condition

* test: remove failure condition

remove lines used for testing
2025-07-01 22:31:59 +02:00
renovate[bot]
fb9f8a9b33 [deps]: Update crowdin/github-action action to v2 (#15169)
* [deps]: Update crowdin/github-action action to v2

* fix(build): adjust config keys to match crowdin breaking changes

* build(crowdin): add a lint action for crowdin configurations

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: addisonbeck <github@addisonbeck.com>
2025-06-12 17:59:17 -04:00
Addison Beck
ed169335bf Revert "[deps]: Update crowdin/github-action action to v2 (#14929)" (#15159)
This reverts commit e8d73b577f.
2025-06-11 22:05:20 +00:00
renovate[bot]
e8d73b577f [deps]: Update crowdin/github-action action to v2 (#14929)
* [deps]: Update crowdin/github-action action to v2

* fix(build): adjust config keys to match crowdin breaking changes

* fix(build): comply with the new workflow linter for effect files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-06-11 17:38:47 -04:00
Daniel James Smith
8cf48d77fc Revert "[deps]: Update crowdin/github-action action to v2 (#12310)" (#14694)
This reverts commit 9e467163db.
2025-05-09 04:58:48 -04:00
renovate[bot]
9e467163db [deps]: Update crowdin/github-action action to v2 (#12310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 16:57:55 -04:00
Todd Martin
10306995e6 Add comments to build workflows to indicate their intended use (#14069)
* Added comments to build workflows.

* Updated comments and job names.
2025-04-02 13:56:30 -04:00
Todd Martin
a4ff5436bf [PM-18617] Revert Firefox back to build Mv2 (#13620)
* Revert changes to build Mv3 on Firefox.

* Revert script changes.
2025-02-28 10:14:36 -05:00
Justin Baur
9e6643f668 Opera mv3 build changes (#13365)
* Remove MV2 Opera Artifact Creation

* Rename Opera MV3 Artifact
2025-02-12 16:28:36 -05:00
Justin Baur
e3870a6b28 Firefox mv3 build changes (#13366)
* Remove Firefox MV2 Artifact Creation

* Rename Firefox MV3 Artifact
2025-02-11 16:34:23 -05:00
Andreas Coroiu
4cb8e85937 [PM-15126] Third attempt: Remove reliance on secrets in build pipelines (#13222)
* feat: create copy of desktop build for PR target

* chore: add temporary file to trigger ci

* fix: remove check-run from regular desktop build

* feat: change browser build to not use pr target

* fix: skip build-safari if secret is not available

* feat: skip safari build if secrets are not available

* feat: let windows desktop build without secrets

* fix: has_secrets not being output correctly

* feat: let macos desktop build without secrets

* feat: don't build browser as part of desktop

* feat: change CLI to pull_request

* feat: let web build without secrets

* feat: tweak lint to run on PR and not just push

* feat: add PR target workflows

* fix: remove wip files

* fix: lint on hotfix-rc branches

* feat: add new workflows to CODEOWNERS

* fix: remove workflow_dispatch

pull_request_target are only intended to be used with contributor PRs and we cannot dispatch builds for these branches so there was no point having that option.
2025-02-11 11:14:09 +01:00
renovate[bot]
007e2fc951 [deps]: Update github-action minor (#12972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 11:24:43 -08:00
Todd Martin
87171289f0 Revert Opera to Mv2 build (#12921) 2025-01-17 10:16:52 -05:00
Todd Martin
4c8565f7f3 Modify Edge and Opera artifacts to build Mv3 - Part 1 (#12674)
* Modify Edge and Chrome artifacts to build Mv3 version to mimic Chrome

* Added back the Mv3 scripts so that workflows run on the PR will pass
2025-01-12 16:37:15 -05:00
renovate[bot]
b370787239 [deps] BRE: Update gh minor (#11941)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 18:24:57 -05:00
Vince Grassia
af4311fa21 BRE-534 - Update workflow to parallelize extension builds (#12640) 2025-01-02 14:58:34 -05:00
Todd Martin
7c8b9db58f Revert workflow changes (#12376)
* Revert "fix: target workflows not triggering on pull_request_target (#12370)"

This reverts commit 645d36f465.

* Revert "[PM-15126] Tighten scope of our client build pipelines to remove reliance on secrets (#12243)"

This reverts commit f8c33ea04b.
2024-12-12 12:22:55 -05:00
Andreas Coroiu
f8c33ea04b [PM-15126] Tighten scope of our client build pipelines to remove reliance on secrets (#12243)
* feat: create copy of desktop build for PR target

* chore: add temporary file to trigger ci

* fix: remove check-run from regular desktop build

* feat: change browser build to not use pr target

* fix: skip build-safari if secret is not available

* feat: skip safari build if secrets are not available

* feat: let windows desktop build without secrets

* fix: has_secrets not being output correctly

* feat: let macos desktop build without secrets

* feat: don't build browser as part of desktop

* feat: change CLI to pull_request

* feat: let web build without secrets

* feat: tweak lint to run on PR and not just push

* feat: add PR target workflows

* fix: remove wip files

* fix: lint on hotfix-rc branches

* feat: add new workflows to CODEOWNERS
2024-12-12 11:50:21 +01:00
Oscar Hinton
e43a204ab2 Fix broken browser build (#12050) 2024-11-19 13:43:19 +00:00
Oscar Hinton
b55a28f755 [PM-14485] Remove manifest and index.html logic from gulp (#12033)
Refactor the remaining logic from gulp.  Part of the browser build script
refactor effort.

Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file  The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.

# Manifests

Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`.  The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.

# Safari build

Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
2024-11-19 13:25:30 +00:00
Andreas Coroiu
33f7643e15 [PM-12989] Create process for qa to build client with particular sdk version (#11601)
* feat: update sdk service abstraction with documentation and new `userClient$` function

* feat: add uninitialized user client with cache

* feat: initialize user crypto

* feat: initialize org keys

* fix: org crypto not initializing properly

* feat: avoid creating clients unnecessarily

* chore: remove dev print/subscription

* fix: clean up cache

* chore: update sdk version

* feat: implement clean-up logic (#11504)

* chore: bump sdk version to fix build issues

* chore: bump sdk version to fix build issues

* fix: missing constructor parameters

* refactor: simplify free() and delete() calls

* refactor: use a named function for client creation

* fix: client never freeing after refactor

* fix: broken impl and race condition in tests

* feat: add sdk override to desktop build

* feat: add SDK version to browser about dialog

* feat: add sdk override to browser build

* fix: `npm ci` overriding the override

* fix: artifacts not properly downloaded

* fix: switch to new repository

* feat: add debug version function to web

* feat: add sdk-version to CLI

* feat: add version to desktop

* feat: add override to cli

* feat: add override to web

* fix: cli version acting as default command

* fix: consistent workflow input name

* feat: add error handling

* feat: upgrade sdk-internal

* fix: forgot to update package lock

* fix: broken CI build

move sdk version to a regular command

* chore: revert version changes

* refactor: move error handling code

* chore: bump SDK to 0.2.0.main-1

* fix: clean up references to inputs.sdk_commit

* refactor: rename `init` to `applyVersionToWindow`
2024-11-19 13:59:59 +01:00
Oscar Hinton
d875ded8fa Revert "[PM-14485] Remove manifest and index.html logic from gulp" (#12032)
This reverts commit c388697fdf.
2024-11-18 15:38:53 +01:00
Oscar Hinton
c388697fdf [PM-14485] Remove manifest and index.html logic from gulp (#11861)
Refactor the remaining logic from gulp.  Part of the browser build script
refactor effort.

Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file  The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.

# Manifests

Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`.  The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.

# Safari build

Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
2024-11-18 11:50:24 +01:00
Matt Bishop
5755d4b3a8 Use correct event and branch targets for some workflow steps (#11961) 2024-11-11 16:38:03 -05:00
Matt Bishop
80c71c191b Check run earlier during setup (#11958) 2024-11-11 13:19:33 -05:00
Vince Grassia
e95af8269f Add check for trigger event (#11904) 2024-11-07 15:15:44 -05:00
Matt Bishop
db40f20160 Check run permissions for build artifact generation secrets usage (#11897) 2024-11-07 13:01:54 -05:00
Oscar Hinton
af6a2f5553 [PM-13375] Gulp: Remove beta builds (#11482)
Part of the browser build script refactor effort. bitwarden.atlassian.net/browse/PM-6683

The beta logic adds a fair bit of complexity and is currently unused. Let’s remove it and we can look into re-add it after migrating to our new build system.
2024-11-05 10:54:38 +01:00
renovate[bot]
dd6def2f52 [deps] DevOps: Update gh minor (#11730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 11:29:15 -04:00
Opeyemi
133257f60e clean up document start (#11607) 2024-10-17 18:40:42 +00:00
renovate[bot]
f6f487bdce [deps] DevOps: Update gh minor (#11537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 10:45:49 -04:00
Oscar Hinton
844d2298e9 [PM-13271] Remove unused ci:coverage from gulpfile (#11455)
Remove the gulp coverage report since we now use jest, and coverage is handled through the root coverage report which is done in a different script.
2024-10-08 16:33:27 +02:00
renovate[bot]
0cd2b4aae5 [deps] DevOps: Update gh minor (#11320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 11:46:20 +02:00
renovate[bot]
0089ae0886 [deps] DevOps: Update gh minor (#11064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 11:35:01 -04:00
renovate[bot]
46835f0a58 [deps] DevOps: Update gh minor (#10847)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 09:44:00 -04:00
Vince Grassia
00bdfa1cda Revert "[deps] DevOps: Update crowdin/github-action action to v2 (#10596)" (#10775)
This reverts commit b0636bb39d.
2024-08-28 18:15:16 +01:00
renovate[bot]
f9b66db1a9 [deps] DevOps: Update gh minor (#10577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-26 16:45:28 -04:00
renovate[bot]
b0636bb39d [deps] DevOps: Update crowdin/github-action action to v2 (#10596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-26 11:38:10 -04:00
Cesar Gonzalez
8fbdd8d22e [PM-10667] Implement manifest v3 POC for remaining browsers (#10419)
* [PM-10667] Implement manifest v3 on Firefox and Safari

* [PM-10667] Fixing issues with CORS present in sandboxed iframe on Firefox

* [PM-10667] Updating gulp build process to ensure dist files are created correctly

* [PM-10667] Adding build processes to the Github workflow

* [PM-10667] Removing faulty Safari mv3 build workflow

* [PM-10667] Fixing jest tests

* [PM-10667] Reworking logic within inline menu

* Update apps/browser/webpack.config.js

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

---------

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2024-08-15 09:54:18 -05:00
Robyn MacCallum
87c1f9c2af Update build-browser.yml (#9654) 2024-06-14 12:59:47 -04:00
Cesar Gonzalez
5dc200577c [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>
2024-04-26 15:15:36 -04:00
Cesar Gonzalez
1cde2dbaef [PM-7527] Add Build Manifest v3 build step to the build-browser.yml Github action (#8777)
* [PM-7527] Get MV3 build artifacts in main branch with clear messaging that that the build is not to be released

* [PM-7527] Add `Build Manifest v3` build step to the build-browser.yml Github action
2024-04-17 14:38:47 +00:00
Cesar Gonzalez
65f1bd2e3a [PM-7527] Get MV3 build artifacts in main branch with clear messaging that that the build is not to be released (#8771)
* [PM-7527] Get MV3 build artifacts in main branch with clear messaging that that the build is not to be released

* Update .github/workflows/build-browser.yml

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>

---------

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
2024-04-16 16:35:53 -05:00
renovate[bot]
bd4453cce5 [deps] DevOps: Update gh minor (#8179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 13:49:15 -05:00
Opeyemi
450b5b6e8c Update Failure Jobs (#8223) 2024-03-06 14:59:18 +01:00
Vince Grassia
1c5cf18746 DEVOPS-1800 - Migrate Secrets (#8139) 2024-02-28 11:06:50 -07:00
Oscar Hinton
c73b263ec8 Remove CLOC jobs (#7893) 2024-02-13 15:08:03 +01:00
renovate[bot]
83fabbc93e [deps] DevOps: Update macos to v13 (#7876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-08 15:57:25 -05:00
renovate[bot]
51655dbe33 [deps] DevOps: Update actions/setup-node action to v4 (#7872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-08 15:29:48 -05:00