aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml187
-rwxr-xr-x.circleci/scripts/firefox-download.sh13
-rwxr-xr-x.circleci/scripts/firefox-install29
-rwxr-xr-x.circleci/scripts/firefox-install.sh8
-rw-r--r--.circleci/scripts/firefox.cfg13
5 files changed, 99 insertions, 151 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 6d4bf270c..c9d8cdf6a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -5,7 +5,6 @@ workflows:
full_test:
jobs:
- prep-deps-npm
- - prep-deps-firefox
- prep-build:
requires:
- prep-deps-npm
@@ -28,7 +27,6 @@ workflows:
- test-e2e-firefox:
requires:
- prep-deps-npm
- - prep-deps-firefox
- prep-build
- test-e2e-beta-chrome:
requires:
@@ -37,7 +35,6 @@ workflows:
- test-e2e-beta-firefox:
requires:
- prep-deps-npm
- - prep-deps-firefox
- prep-build
- test-unit:
requires:
@@ -49,7 +46,6 @@ workflows:
- test-integration-mascara-firefox:
requires:
- prep-deps-npm
- - prep-deps-firefox
- prep-scss
- test-integration-flat-chrome:
requires:
@@ -58,7 +54,6 @@ workflows:
- test-integration-flat-firefox:
requires:
- prep-deps-npm
- - prep-deps-firefox
- prep-scss
- all-tests-pass:
requires:
@@ -103,46 +98,34 @@ jobs:
- restore_cache:
keys:
- v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- # fallback to using the latest cache if no exact match is found
- - v1.0-dependency-cache-
- run:
name: Install npm 6 + deps via npm
command: |
- sudo npm install -g npm@6.1.0 && npm install --no-save
+ sudo npm install -g npm@6 && npm install --no-save
+ - persist_to_workspace:
+ root: .
+ paths:
+ - node_modules
- save_cache:
key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
paths:
- node_modules
- prep-deps-firefox:
- docker:
- - image: circleci/node:8.11.3-browsers
- steps:
- - checkout
- - restore_cache:
- key: v1.0-dependency-cache-firefox-
- - run:
- name: Download Firefox If needed
- command: ./.circleci/scripts/firefox-download.sh
- - save_cache:
- key: v1.0-dependency-cache-firefox-
- paths:
- - firefox
prep-build:
docker:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
+ - attach_workspace:
+ at: .
- run:
name: build:dist
command: npm run dist
- run:
name: build:debug
command: find dist/ -type f -exec md5sum {} \; | sort -k 2
- - save_cache:
- key: build-cache-{{ .Revision }}
+ - persist_to_workspace:
+ root: .
paths:
- dist
- builds
@@ -152,23 +135,23 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
+ - attach_workspace:
+ at: .
- run:
name: build:dist
command: npm run doc
- - save_cache:
- key: docs-cache-{{ .Revision }}
+ - persist_to_workspace:
+ root: .
paths:
- - docs/jsdoc
+ - docs/jsdocs
prep-scss:
docker:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
+ - attach_workspace:
+ at: .
- run:
name: Get Scss Cache key
# this allows us to checksum against a whole directory
@@ -176,8 +159,8 @@ jobs:
- run:
name: Build for integration tests
command: npm run test:integration:build
- - save_cache:
- key: scss-cache-{{ checksum "scss_checksum" }}
+ - persist_to_workspace:
+ root: .
paths:
- ui/app/css/output
@@ -186,8 +169,8 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
+ - attach_workspace:
+ at: .
- run:
name: Test
command: npm run lint
@@ -197,8 +180,8 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
+ - attach_workspace:
+ at: .
- run:
name: Test
command: npx nsp check
@@ -208,10 +191,8 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - restore_cache:
- key: build-cache-{{ .Revision }}
+ - attach_workspace:
+ at: .
- run:
name: test:e2e:chrome
command: npm run test:e2e:chrome
@@ -224,15 +205,11 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-firefox-
- run:
- name: Install firefox
- command: ./.circleci/scripts/firefox-install.sh
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - restore_cache:
- key: build-cache-{{ .Revision }}
+ name: Install Firefox
+ command: ./.circleci/scripts/firefox-install
+ - attach_workspace:
+ at: .
- run:
name: test:e2e:firefox
command: npm run test:e2e:firefox
@@ -245,10 +222,8 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - restore_cache:
- key: build-cache-{{ .Revision }}
+ - attach_workspace:
+ at: .
- run:
name: test:e2e:chrome:beta
command: npm run test:e2e:chrome:beta
@@ -261,15 +236,11 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-firefox-
- run:
- name: Install firefox
- command: ./.circleci/scripts/firefox-install.sh
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - restore_cache:
- key: build-cache-{{ .Revision }}
+ name: Install Firefox
+ command: ./.circleci/scripts/firefox-install
+ - attach_workspace:
+ at: .
- run:
name: test:e2e:firefox:beta
command: npm run test:e2e:firefox:beta
@@ -282,15 +253,13 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - restore_cache:
- key: build-cache-{{ .Revision }}
+ - attach_workspace:
+ at: .
- run:
name: Test
command: npm run test:screens
- - save_cache:
- key: job-screens-{{ .Revision }}
+ - persist_to_workspace:
+ root: .
paths:
- test-artifacts
@@ -299,12 +268,8 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - restore_cache:
- key: build-cache-{{ .Revision }}
- - restore_cache:
- key: job-screens-{{ .Revision }}
+ - attach_workspace:
+ at: .
- store_artifacts:
path: dist/mascara
destination: builds/mascara
@@ -326,14 +291,8 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - restore_cache:
- key: build-cache-{{ .Revision }}
- - restore_cache:
- key: docs-cache-{{ .Revision }}
- - restore_cache:
- key: job-screens-{{ .Revision }}
+ - attach_workspace:
+ at: .
- run:
name: sentry sourcemaps upload
command: npm run sentry:publish
@@ -349,32 +308,22 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
+ - attach_workspace:
+ at: .
- run:
name: test:coverage
command: npm run test:coverage
test-integration-flat-firefox:
- environment:
- browsers: '["Firefox"]'
docker:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-firefox-
+ - attach_workspace:
+ at: .
- run:
- name: Install firefox
- command: ./.circleci/scripts/firefox-install.sh
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - run:
- name: Get Scss Cache key
- # this allows us to checksum against a whole directory
- command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
- - restore_cache:
- key: scss-cache-{{ checksum "scss_checksum" }}
+ name: Install Firefox
+ command: ./.circleci/scripts/firefox-install
- run:
name: test:integration:flat
command: npm run test:flat
@@ -386,38 +335,22 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - run:
- name: Get Scss Cache key
- # this allows us to checksum against a whole directory
- command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
- - restore_cache:
- key: scss-cache-{{ checksum "scss_checksum" }}
+ - attach_workspace:
+ at: .
- run:
name: test:integration:flat
command: npm run test:flat
test-integration-mascara-firefox:
- environment:
- browsers: '["Firefox"]'
docker:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-firefox-
+ - attach_workspace:
+ at: .
- run:
- name: Install firefox
- command: ./.circleci/scripts/firefox-install.sh
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - run:
- name: Get Scss Cache key
- # this allows us to checksum against a whole directory
- command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
- - restore_cache:
- key: scss-cache-{{ checksum "scss_checksum" }}
+ name: Install Firefox
+ command: ./.circleci/scripts/firefox-install
- run:
name: test:integration:mascara
command: npm run test:mascara
@@ -429,14 +362,8 @@ jobs:
- image: circleci/node:8.11.3-browsers
steps:
- checkout
- - restore_cache:
- key: v1.0-dependency-cache-{{ checksum "package-lock.json" }}
- - run:
- name: Get Scss Cache key
- # this allows us to checksum against a whole directory
- command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
- - restore_cache:
- key: scss-cache-{{ checksum "scss_checksum" }}
+ - attach_workspace:
+ at: .
- run:
name: test:integration:mascara
command: npm run test:mascara
@@ -447,4 +374,4 @@ jobs:
steps:
- run:
name: All Tests Passed
- command: echo 'weew - everything passed!' \ No newline at end of file
+ command: echo 'weew - everything passed!'
diff --git a/.circleci/scripts/firefox-download.sh b/.circleci/scripts/firefox-download.sh
deleted file mode 100755
index 64f0c74e3..000000000
--- a/.circleci/scripts/firefox-download.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-echo "Checking if firefox was already downloaded"
-if [ -d "firefox" ]
-then
- echo "Firefox found. No need to download"
-else
- FIREFOX_VERSION="61.0.1"
- FIREFOX_BINARY="firefox-$FIREFOX_VERSION.tar.bz2"
- echo "Downloading firefox..."
- wget "https://ftp.mozilla.org/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/$FIREFOX_BINARY" \
- && tar xjf "$FIREFOX_BINARY"
- echo "firefox download complete"
-fi
diff --git a/.circleci/scripts/firefox-install b/.circleci/scripts/firefox-install
new file mode 100755
index 000000000..1d8e62d76
--- /dev/null
+++ b/.circleci/scripts/firefox-install
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+set -e
+set -u
+set -o pipefail
+
+FIREFOX_VERSION='61.0.2'
+FIREFOX_BINARY="firefox-${FIREFOX_VERSION}.tar.bz2"
+FIREFOX_BINARY_URL="https://ftp.mozilla.org/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/${FIREFOX_BINARY}"
+FIREFOX_PATH='/opt/firefox'
+
+printf '%s\n' "Removing old Firefox installation"
+
+sudo rm -r "${FIREFOX_PATH}"
+
+printf '%s\n' "Downloading & installing Firefox ${FIREFOX_VERSION}"
+
+wget --quiet --show-progress -O- "${FIREFOX_BINARY_URL}" | sudo tar xj -C /opt
+
+printf '%s\n' "Firefox ${FIREFOX_VERSION} installed"
+
+{
+ printf '%s\n' 'pref("general.config.filename", "firefox.cfg");'
+ printf '%s\n' 'pref("general.config.obscure_value", 0);'
+} | sudo tee "${FIREFOX_PATH}/defaults/pref/autoconfig.js"
+
+sudo cp .circleci/scripts/firefox.cfg "${FIREFOX_PATH}"
+
+printf '%s\n' "Firefox ${FIREFOX_VERSION} configured"
diff --git a/.circleci/scripts/firefox-install.sh b/.circleci/scripts/firefox-install.sh
deleted file mode 100755
index 1c60f4de9..000000000
--- a/.circleci/scripts/firefox-install.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-echo "Installing firefox..."
-sudo rm -r /opt/firefox
-sudo mv firefox /opt/firefox61
-sudo mv /usr/bin/firefox /usr/bin/firefox-old
-sudo ln -s /opt/firefox61/firefox /usr/bin/firefox
-echo "Firefox installed."
diff --git a/.circleci/scripts/firefox.cfg b/.circleci/scripts/firefox.cfg
new file mode 100644
index 000000000..68dd285f2
--- /dev/null
+++ b/.circleci/scripts/firefox.cfg
@@ -0,0 +1,13 @@
+// IMPORTANT: Start your code on the 2nd line
+
+lockPref("app.update.enabled", false);
+lockPref("app.update.auto", false);
+lockPref("app.update.mode", 0);
+lockPref("app.update.service.enabled", false);
+
+pref("browser.rights.3.shown", true);
+
+pref("browser.startup.homepage_override.mstone","ignore");
+
+lockPref("plugins.hide_infobar_for_outdated_plugin", true);
+clearPref("plugins.update.url");