1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 01:39:44 +01:00
Commit Graph

300 Commits

Author SHA1 Message Date
kumavis
629f5ef221
ci - create source-map-explorer build-artifacts (#7141)
* ci - create source-map-explorer build-artifacts

* ci - add source-map-explorer builds to metamaskbot comment

* lint fix

* ci - source-map-explorer - include all bundles
2019-09-11 23:35:30 +08:00
kumavis
0985e8f012
ci - build-artifacts - generate sesify-viz for inspecting deps (#7151)
* ci - build-artifacts - generate sesify-viz for inspecting deps

* lint fix
2019-09-11 22:47:21 +08:00
Mark Stacey
c9fffafd9a
Publish GitHub release from master branch (#7136)
* Publish GitHub release from master branch

This ensures that changes made on `develop` since branching for the
release are not included. It also ensures that the final release
sourcemaps line-up correctly (they were always build on master)`.

* Consolidate publish jobs

The jobs `job-publish-release` and `create_github_release` both handle
different parts of publishing a release. They have been consolidated
into a single `job-publish-release` job.

* Update release script to expect a merge commit

The release script was originally written to be run on `develop`, so it
expected the current commit to be a result of `Squash & Merge`. Now
that it's run on `master`, it will generally be run against a merge
commit.

The version is now extracted from the commit message using a regular
expression that should work on all version of Bash v3+, and should be
tolerant of both merge commits and `Squash & Merge` commits.

* Target `master` with release PR

`master` is now targeted by the release PR instead of `develop`, as
the release has to be created from the master branch.

The update to `develop` is handled after the release by a PR from
`master` to `develop`, which is created automatically after the
release.
2019-09-11 11:44:36 -03:00
Whymarrh Whitby
d3eafc3703
Fix Coveralls CI job (#7008) 2019-08-14 10:41:01 -02:30
Whymarrh Whitby
6bc1077880
Make Coveralls its own optional CI job (#7002)
* ci: Move Coveralls into optional step

* Split Coveralls step out of test:coverage npm script
2019-08-13 13:29:10 -02:30
Whymarrh Whitby
e321feb92d
Fix Firefox e2e test command on CI (#7000)
* Skip a few Firefox tests to get them passing again
* ci: Fix Firefox e2e test command

This is my bad, introduced in 7fc84f3cc0
2019-08-13 10:27:18 -02:30
Mark Stacey
1fd3dc9ecf
Switch from npm to yarn (#6843)
As a solution to the constant lockfile churn issues we've had with
`npm`, the project now uses `yarn` to manage dependencies.

The `package-lock.json` file has been replaced with `yarn.lock`, which
was created using `yarn import`. It should approximate the contents of
`package-lock.json` fairly well, though there may be some changes due to
deduplication. The codeowners file has been updated to reference this
new lockfile.

All documentation and npm scripts have been updated to reference `yarn`
rather than `npm`. Note that running scripts using `npm run` still works
fine, but it seemed better to switch those to `yarn` as well to avoid
confusion.

The `npm-audit` Bash script has been replaced with `yarn-audit`. The
output of `yarn audit` is a bit different than `npm audit` in that it
returns a bitmask to describe which severity issues were found. This
made it simpler to check the results directly from the Bash script, so
the associated `npm-audit-check.js` script was no longer required. The
output should be exactly the same, and the information is still sourced
from the same place (the npm registry).

The new `yarn-audit` script does have an external dependency: `jq`.
However, `jq` is already assumed to be present by another CI script, and
is present on all CI images we use. `jq` was not added to `package.json`
as a dependency because there is no official package on the npm
registry, just wrapper scripts. We don't need it anywhere exept on CI
anyway.

The section in `CONTRIBUTING` about how to develop inside the
`node_modules` folder was removed, as the advice was a bit dated, and
wasn't specific to this project anyway.
2019-07-30 15:36:23 -03:00
Mark Stacey
ad1e447252
Run test-deps in parallel with prep-deps-npm (#6909)
`test-deps` runs `npm audit`, which doesn't require the dependencies to
be installed. `npm audit` just uses the lockfile.
2019-07-25 14:07:54 -03:00
Mark Stacey
754f98aea2
Fix npm-audit script (#6908)
The npm audit script was auditing all dependencies, then filtering the
results to just the advisories concerning production dependencies. This
was done by checking the boolean `dev` and `optional` properties of each
`findings` entry in each advisory.

The `dev` and `optional` properties are now missing, which is resulting
in dev advisories being mistakenly identified as affecting production.

This check has been removed, and instead the `--production` flag is used
when calling `npm audit`. This accomplishes the same goal without
relying as much upon the audit output format.

The `--production` flag was added in `npm` `v6.10.0`, so `npm` has been
updated to the current latest stable (`v6.10.2`) for the `test-deps`
job. It was also updated on the `prep-deps-npm` job to ensure
consistency in behaviour. The other jobs only use `npm run` which hasn't
changed substantially in some time, so compatibility isn't really a
concern for those.

`audit.json` has also been added to `.gitignore`. It was accidentally
checked in once while working on this branch.
2019-07-24 19:54:16 -03:00
Whymarrh Whitby
83c2440509 Add scripts to automate GitHub releases (#6653)
* ci: Rename full_test to test_and_release

* ci: Add scripts to automate GH releases

* Add .bak files to .gitignore

* ci: Add reviewer to the auto version PR
2019-07-17 22:51:47 -07:00
Mark Stacey
32fffe53f5
Remove Drizzle tests (#6855)
The Drizzle tests have not been used for some time. They were used to
ensure compatibility with newer versions of `web3` v1. If we want to
re-add tests to ensure compatibility with newer `web3` versions, we
should find some way of doing that more reliably than was done here -
these tests were somewhat flaky and unreliable.
2019-07-15 17:10:46 -03:00
Mark Stacey
0366459edd
Update version of Firefox used on CI (#6841) 2019-07-15 10:15:15 -03:00
Whymarrh Whitby
b7f3f26ebf
Remove job-screens CI job (#6823)
* Remove job-screens CI job
* Remove unused dependencies, now that job-screens is gone
2019-07-08 17:02:15 -02:30
Mark Stacey
cc7bb306e2
Increase CircleCI addons-linter memory (#6802)
`addons-linter` will occasionally run out of heap space. This provides 3
GB of heap for that script rather than the default ~1.5 GB. The CircleCI
containers have 4GB of memory, so this should leave plenty of extra
space for non-heap memory.
2019-07-04 11:53:02 -03:00
Dan Finlay
448720327b
Merge pull request #6765 from MetaMask/master
Using admin privilege to bypass code owner review because it has already [been reviewed](https://github.com/MetaMask/metamask-extension/pull/6763) and those code owners are out today.
2019-07-01 10:58:25 -07:00
Dan Finlay
743afd4e9d Fix whitespace 2019-07-01 10:32:51 -07:00
Dan Finlay
c623a8be76 Re-enable sourcemaps publishing 2019-07-01 10:30:08 -07:00
Dan Finlay
07f55bc390 Disable release script from CircleCI
The MetaMask bot is currently failing to publish docs updates, and it is
[blocking our ability to release new
versions](https://github.com/MetaMask/metamask-extension/pull/6765).

While we should pursue a proper fix, I think it's worth disabling in the
meanwhile so this glitch doesn't interfere with our regular release
cadence further.
2019-07-01 09:54:49 -07:00
Mark Stacey
9ed64568f4 Update to Node.js v10
The only package that needed to be updated was `sha3`. It has been
updated to v1.2.3, which is a maintenance release that supports up to
Node.js v12.
2019-06-27 11:46:13 -03:00
Whymarrh Whitby
dcf3676685 ci: Update to Node 8.16 Docker images 2019-06-20 12:23:31 -02:30
Whymarrh Whitby
ea142a4dd6 ci: Enable npm audit check 2019-06-06 15:40:14 -02:30
Whymarrh Whitby
7fc84f3cc0 ci: Add build:test Gulp task for e2e build 2019-03-29 11:13:39 -02:30
Whymarrh Whitby
c426564a39 ci: Skip updating npm@6 as it is default 2019-03-13 09:57:05 -02:30
Whymarrh Whitby
23fedf886f Update Node minor version 2019-03-13 09:56:36 -02:30
Whymarrh Whitby
0d417bbf6b ci: Use npm ci for fast(er) installs 2019-03-12 13:10:40 -02:30
kumavis
cf3e0c2d53 circleci - disable npm dep cache (#6288) 2019-03-12 11:21:29 -02:30
kumavis
48047f8194 mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
kumavis
1985dcc494 ci: Use cache version from circle environment var (#6286) 2019-03-12 09:19:06 -02:30
Whymarrh Whitby
38bb1d3979 Remove unused CI jobs, rename e2e beta jobs 2019-02-20 14:20:39 -03:30
Thomas Huang
41f89ac7ed Disable npm audit (#6188) 2019-02-20 14:11:34 -03:30
Thomas Huang
13463309dc Skip drizzle tests unit issue with ci is determined (#5982) 2019-01-16 13:38:04 -08:00
Whymarrh Whitby
c804185081 circleci: Replace nsp with npm audit
Refs #4751
2018-12-06 12:40:57 -03:30
Whymarrh Whitby
9beac977d8 circleci: Disable npm audit when installing packages
Auditing packages when installing here doesn't help anyone as the summary
isn't visible and vulnerabilities don't produce a non-zero exit code. We
will have `npm audit` as an extra CI job.
2018-12-06 11:43:50 -03:30
Whymarrh Whitby
f1248ac26a ci: Drop old UI e2e tests from CircleCI 2018-11-20 14:04:50 -03:30
Whymarrh Whitby
63e10f6e73 Remove Mascara from CircleCI config 2018-11-20 14:04:50 -03:30
bitpshr
0dad394147 Disable mascara tests 2018-11-05 15:07:09 -08:00
kumavis
54a14edccd
CI - job-publish-release - fix github command
correctly set github username and email
2018-11-01 22:02:28 -04:00
kumavis
7b739f9be8 deploy - docs - publish via npm script (#5580) 2018-10-23 09:27:44 +02:00
Bruno Barbieri
ccab4ee1a4 tests - integration - Add Drizzle tests (#5467)
* added drizzle app for testing

* working

* clean up

* clean up script

* make build step required

* add drizzle-tests to .eslintignore

* clean up drizzle run script

* lint

* use truffle unbox

* undo eslintignore changes

* revert change

* dont use global

* dont need this steps

* use the new account flow

* restore package-lock.json
2018-10-10 01:12:43 -04:00
brunobar79
678d174e1e add mozilla lint job 2018-09-25 20:44:57 -04:00
Bruno Barbieri
ffd540f634
Fix gh-pages job 2018-09-25 14:30:17 -04:00
Whymarrh Whitby
765cac839c Update Firefox version for e2e tests 2018-09-11 09:38:59 -07:00
Whymarrh Whitby
00906937a1 ci: Use workspaces instead of caches for passing data downstream
CircleCI no longer allows external PR builds to save caches so jobs
that depend on cached data from a upstream job will no longer get
the files they need. This change replaces our usages of caches for
passing data downstream with workspaces, which appear to be the more
correct feature to use.

References:

- https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs
- https://circleci.com/blog/deep-diving-into-circleci-workspaces/
2018-08-17 19:50:58 -02:30
Whymarrh Whitby
8f834ed87d ci: Install any npm@6 2018-08-17 18:51:02 -02:30
Whymarrh Whitby
2185197ef6 ci: Use Firefox 61.0.2 2018-08-17 18:41:12 -02:30
Whymarrh Whitby
7b89d3d473 ci: Disable Firefox updates 2018-08-17 18:41:12 -02:30
Whymarrh Whitby
e493efb123 ci: Don't cache Firefox install
Two important notes:

1. The time it takes to download is negligble compared to e2e test runs
2. Since we cannot use environment variables in CircleCI cache keys we
   can't cache the download correctly and have it update when we switch
   firefox versions—this isn't the end of the world because of point 1
2018-08-17 18:41:12 -02:30
brunobar79
f63a92aa18 test npm i --no-save 2018-07-21 13:47:10 -04:00
brunobar79
54c93df3b8 test npm ci 2018-07-21 13:36:12 -04:00
brunobar79
b1cfe52f07 bump cache version 2018-07-21 12:59:22 -04:00
brunobar79
cde91fac16 added node version requirements 2018-07-21 12:43:35 -04:00
bitpshr
d85fc246c5 Revert package-lock changes 2018-07-19 08:11:09 -04:00
bitpshr
a319c8ce42 Version Circle cache keys for easy flushing 2018-07-19 08:04:17 -04:00
Bruno Barbieri
573659c863
Added missing step 2018-07-06 17:32:06 -04:00
Bruno Barbieri
8de2b3b1b0
dont cache what's already cached 2018-07-06 17:16:28 -04:00
Bruno Barbieri
ae1c8b854f
Firefox tests fix 2018-07-06 17:13:54 -04:00
Bruno Barbieri
104c4674da
Update firefox version 2018-07-06 16:53:53 -04:00
Bruno Barbieri
b90ec2a901
lets cache firefox 61 2018-07-06 16:49:50 -04:00
Bruno Barbieri
759b5b20ec
Forgot this is linux bash 2018-07-06 16:48:17 -04:00
Bruno Barbieri
a1e7b51ef0
Update config.yml 2018-07-06 16:45:24 -04:00
Bruno Barbieri
dd21d29b2b
Update config.yml 2018-07-06 16:44:27 -04:00
Bruno Barbieri
32813b23a2
Update firefox-download.sh 2018-07-06 16:44:06 -04:00
Bruno Barbieri
ca17cfbc65
Fix indentation 2018-07-06 16:36:01 -04:00
Bruno Barbieri
79011dbc59
Firefox cache working properly 2018-07-06 16:33:39 -04:00
Bruno Barbieri
48dbe30217
oops 2018-07-06 16:31:03 -04:00
Bruno Barbieri
8d72ae81c9
tmp commit to force firefox update 2018-07-06 16:29:43 -04:00
Bruno Barbieri
e0719a0358
Update firefox-download.sh 2018-07-06 16:16:18 -04:00
Bruno Barbieri
cdd556fb27
Add firefox binary to cache path 2018-07-06 15:58:07 -04:00
Bruno Barbieri
0af1702a3f
Allow firefox binary to be cached 2018-07-06 15:51:35 -04:00
Bruno Barbieri
5b58c2acb4
Update config.yml to allow firefox download caching 2018-07-06 15:50:57 -04:00
Bruno Barbieri
24b0e6a4f8
Final approach 2018-07-06 15:33:53 -04:00
Bruno Barbieri
8733982d7e
Fix indentation again 2018-07-06 15:28:46 -04:00
Bruno Barbieri
f8c23d2bf9
Fix indentation 2018-07-06 15:26:33 -04:00
Bruno Barbieri
af04ca59e9
Run npm install only when needed 2018-07-06 15:26:06 -04:00
Bruno Barbieri
d9c78fc645
simpler approach 2018-07-06 15:15:23 -04:00
Bruno Barbieri
a875caa20c
Fallback to using the latest cache if no exact match is found 2018-07-06 14:48:39 -04:00
Bruno Barbieri
c567a4b8f3
Check for changes on package-lock.json and exit with error 2018-07-06 14:38:01 -04:00
Bruno Barbieri
38e54af093
try npm install instead of npm ci 2018-07-06 00:54:21 -04:00
Bruno Barbieri
0f2a5ece48
Update config.yml 2018-07-06 00:38:13 -04:00
Bruno Barbieri
e29804224a
Fix indentation 2018-07-06 00:33:19 -04:00
Bruno Barbieri
ca09a0be83
Update config.yml 2018-07-06 00:32:12 -04:00
Bruno Barbieri
9ca9e90e4c
Update config.yml 2018-07-06 00:22:40 -04:00
Bruno Barbieri
65a349dd30
Update config.yml 2018-07-06 00:21:04 -04:00
Bruno Barbieri
76912c8a0d
use sudo to install npm 2018-07-06 00:15:29 -04:00
Bruno Barbieri
1387f1c8c2
Another update 2018-07-06 00:14:33 -04:00
Bruno Barbieri
816b3a9d11
use package-lock only for the initial restore 2018-07-05 23:26:12 -04:00
Bruno Barbieri
170d05d2e6
Proper caching of node_modules 2018-07-05 22:11:58 -04:00
Bruno Barbieri
4c86f25f5b npm 6 fresh lock + node 8 (#4675)
* run npm install with npm 6 and node 8
* npm audit fix --force
* bump node version on circleci docker img
* bump lodash
2018-07-02 10:30:56 -07:00
kumavis
1e6ff597e2 ci - breakout firefox helpers into scripts 2018-06-01 12:16:14 -07:00
kumavis
6d4e4b8157 ci - run e2e:beta tests 2018-06-01 12:16:14 -07:00
kumavis
7a65c22a02
Merge branch 'develop' into ci-publish-release 2018-05-21 14:58:37 -07:00
kumavis
77b4a9f82c
CI - remove node security test as blocker for builds 2018-05-21 10:58:58 -07:00
kumavis
59c9852999 ci - add docs publish to job-publish-release 2018-05-18 14:03:02 -07:00
kumavis
cc6265fe0a ci - add prep-docs job 2018-05-18 11:50:46 -07:00
kumavis
8fe19a16c5 ci - add job-publish-release 2018-05-18 11:29:10 -07:00
kumavis
2e2ef97fb5 ci - rename job-publish to job-publish-prerelease 2018-05-18 11:10:42 -07:00
kumavis
a78603c218 ci - clean - whitespace fix 2018-05-18 11:09:07 -07:00
Thomas
f900821a42 Merge branch 'develop' into e2e-tests 2018-05-03 14:10:26 -07:00
Alexander Tseung
65253e114f Adds nsp check to CircleCI tests 2018-05-02 12:01:03 -07:00
Thomas
5ae2b683b2 Ci Firefox 2018-05-02 10:24:50 -07:00
Thomas
9dfe4f410d Firefox 2018-05-01 12:18:22 -07:00
kumavis
4a2db1d9e1 ci - complete all tests before running extras 2018-04-09 13:55:19 -07:00
kumavis
92dd2b3218 ci - job-publish - publish source+sourcemaps to sentry if new release 2018-04-03 12:36:46 -07:00
kumavis
6354f74592 ci - rename job-announce to job-publish 2018-04-03 11:12:39 -07:00
kumavis
0cedffb365 ci - announce - add sourcemaps to artifacts 2018-04-03 11:11:00 -07:00
kumavis
1bedef0820 ci - load npm deps by revision to always get latest for build 2018-04-03 11:08:17 -07:00
kumavis
6d3da95a95 ci - breakout announce job to upload builds and screenshots 2018-03-30 17:59:15 -07:00
kumavis
6d6fc7df1c ci - build:announce - fix script path 2018-03-30 17:27:33 -07:00
kumavis
f13733c790 ci - build:announce - fix shell script path 2018-03-30 16:03:54 -07:00
kumavis
213496f190 ci - build:announce - break out into shell script 2018-03-30 15:53:45 -07:00
kumavis
86c768dfb0 ci - build:announce - rewrite github comment to include walkthrough gif 2018-03-30 15:36:22 -07:00
kumavis
7dde948c45 Merge branch 'master' of github.com:MetaMask/metamask-extension into ci-screens 2018-03-30 13:57:50 -07:00
kumavis
b2f02300a3 ci - run screenshotter 2018-03-30 01:01:16 -07:00
kumavis
b49ad750dd Merge branch 'master' of github.com:MetaMask/metamask-extension into ci-artifacts 2018-03-29 16:54:00 -07:00
kumavis
f6f8cab5dc ci - upload e2e test artifacts 2018-03-29 13:59:39 -07:00
kumavis
93c123c6f5 ci - build:announce - fix links to extension builds 2018-03-29 00:34:01 -07:00
kumavis
001595b2b9 ci - build:announce - fix link 2018-03-29 00:24:50 -07:00
kumavis
ec608cb1b0 ci - build:announce - link all builds 2018-03-29 00:17:14 -07:00
kumavis
93ac72801a ci - artifacts - upload extension builds, dont upload extension source 2018-03-28 23:47:11 -07:00
kumavis
399381f9d2 ci - upload whole dist + fix announce mascara url 2018-03-28 23:26:58 -07:00
kumavis
28306cc453 ci - artifacts - simplify result path 2018-03-28 23:15:00 -07:00
kumavis
d06c6bb4ca ci - announce QA build to GitHub pull request 2018-03-28 17:38:28 -07:00
kumavis
53895f19e0 ci - upload mascara build as artifact 2018-03-28 14:05:54 -07:00
kumavis
16c36cc51b ci - publish dist as artifact 2018-03-28 09:58:07 -07:00
kumavis
fe8472ab22 ci - end by flowing all required tests into a single job 2018-03-27 16:10:27 -07:00
kumavis
3ec3b09c12 ci - end by flowing all required tests into a single job 2018-03-27 16:09:11 -07:00
kumavis
1dea4124f5 ci - end by flowing all required tests into a single job 2018-03-27 14:40:04 -07:00
kumavis
62e1cbd33b ci - run e2e tests after build step 2018-03-27 14:16:58 -07:00
kumavis
e0d98e73e3
Revert "Revert "Ci - introduce a build job"" 2018-03-27 14:08:20 -07:00
kumavis
5a309328f1 ci - run e2e jobs 2018-03-27 13:36:09 -07:00
kumavis
2c3e6552d2 ci - wrap env var in quotes 2018-03-10 11:13:27 -08:00
kumavis
74502296ed ci - split integration tests into parallel firefox and chrome runs 2018-03-10 11:09:45 -08:00
kumavis
efe516857a ci - adjust scss cache key 2018-03-09 15:30:58 -08:00
kumavis
5cbd5cd50a ci - cache firefox against Revision 2018-03-09 15:20:59 -08:00
kumavis
650a88412b ci - cache firefox install under build number 2018-03-09 15:16:34 -08:00
kumavis
a59d9d996c ci - split download and install firefox steps 2018-03-09 15:11:09 -08:00
kumavis
6093d46ba1 ci - install firefox58 and cache 2018-03-09 14:58:02 -08:00
kumavis
702d09b557 ci - prep-deps - install latest firefox 2018-03-09 14:27:27 -08:00
kumavis
9378bc50d2 ci - optimize - dont update npm 2018-03-09 14:01:42 -08:00
kumavis
dab47e5bfa ci - integration tests need to generate scss cache key 2018-03-09 14:00:36 -08:00
kumavis
6c3706f3e8 ci - fix typo 2018-03-09 13:50:57 -08:00
kumavis
3580196650 test - breakout npm script for building for integration tests 2018-03-09 13:48:48 -08:00
kumavis
7ad1421f61 ci - fix config formatting 2018-03-09 13:43:18 -08:00
kumavis
e024b57150 ci - add prep-scss to flow 2018-03-09 13:41:18 -08:00
kumavis
79a0b22ea4 ci - parallize flat + mascara integration tests 2018-03-09 13:37:13 -08:00
kumavis
828ac9a232 ci - breakup npm test into parallel processes 2018-03-09 13:15:36 -08:00
kumavis
69345770fb ci - restore node_modules before test 2018-03-09 13:04:53 -08:00
kumavis
8cf6db16f7 ci - test on all branches 2018-03-09 12:52:29 -08:00
kumavis
4ed6ac92e4 ci - update circle config 2018-03-09 12:47:01 -08:00
kumavis
a13ed5e65a ci - introduce circle ci 2.0 2018-03-09 12:38:28 -08:00