diff --git a/.circleci/config.yml b/.circleci/config.yml index 0ad5cdf53..7063f3113 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -101,29 +101,31 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + keys: + - dependency-cache-{{ checksum "package-lock.json" }} + # fallback to using the latest cache if no exact match is found + - dependency-cache- - run: - name: Install deps via npm - command: npm install + name: Install npm 6 + deps via npm + command: | + sudo npm install -g npm@6.1.0 && npm install - save_cache: key: dependency-cache-{{ checksum "package-lock.json" }} paths: - node_modules - - save_cache: - key: dependency-cache-{{ .Revision }} - paths: - - node_modules prep-deps-firefox: docker: - image: circleci/node:8.11.3-browsers steps: - checkout + - restore_cache: + key: dependency-cache-firefox- - run: - name: Download Firefox + name: Download Firefox If needed command: ./.circleci/scripts/firefox-download.sh - save_cache: - key: dependency-cache-firefox-{{ .Revision }} + key: dependency-cache-firefox- paths: - firefox @@ -133,7 +135,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: build:dist command: npm run dist @@ -152,7 +154,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: build:dist command: npm run doc @@ -167,7 +169,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Get Scss Cache key # this allows us to checksum against a whole directory @@ -186,7 +188,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Test command: npm run lint @@ -197,7 +199,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Test command: npx nsp check @@ -208,7 +210,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - restore_cache: key: build-cache-{{ .Revision }} - run: @@ -224,12 +226,12 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-firefox-{{ .Revision }} + key: dependency-cache-firefox- - run: name: Install firefox command: ./.circleci/scripts/firefox-install.sh - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - restore_cache: key: build-cache-{{ .Revision }} - run: @@ -245,7 +247,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - restore_cache: key: build-cache-{{ .Revision }} - run: @@ -261,12 +263,12 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-firefox-{{ .Revision }} + key: dependency-cache-firefox- - run: name: Install firefox command: ./.circleci/scripts/firefox-install.sh - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - restore_cache: key: build-cache-{{ .Revision }} - run: @@ -282,7 +284,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - restore_cache: key: build-cache-{{ .Revision }} - run: @@ -299,7 +301,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - restore_cache: key: build-cache-{{ .Revision }} - restore_cache: @@ -326,7 +328,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - restore_cache: key: build-cache-{{ .Revision }} - restore_cache: @@ -349,7 +351,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: test:coverage command: npm run test:coverage @@ -362,12 +364,12 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-firefox-{{ .Revision }} + key: dependency-cache-firefox- - run: name: Install firefox command: ./.circleci/scripts/firefox-install.sh - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Get Scss Cache key # this allows us to checksum against a whole directory @@ -386,7 +388,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Get Scss Cache key # this allows us to checksum against a whole directory @@ -405,12 +407,12 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-firefox-{{ .Revision }} + key: dependency-cache-firefox- - run: name: Install firefox command: ./.circleci/scripts/firefox-install.sh - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Get Scss Cache key # this allows us to checksum against a whole directory @@ -429,7 +431,7 @@ jobs: steps: - checkout - restore_cache: - key: dependency-cache-{{ .Revision }} + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Get Scss Cache key # this allows us to checksum against a whole directory diff --git a/.circleci/scripts/firefox-download.sh b/.circleci/scripts/firefox-download.sh index c63e8c3df..64f0c74e3 100755 --- a/.circleci/scripts/firefox-download.sh +++ b/.circleci/scripts/firefox-download.sh @@ -1,6 +1,13 @@ #!/usr/bin/env bash - -echo "Downloading firefox..." -wget https://ftp.mozilla.org/pub/firefox/releases/58.0/linux-x86_64/en-US/firefox-58.0.tar.bz2 \ -&& tar xjf firefox-58.0.tar.bz2 -echo "firefox download complete" +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.sh b/.circleci/scripts/firefox-install.sh index 589bcbbb5..1c60f4de9 100755 --- a/.circleci/scripts/firefox-install.sh +++ b/.circleci/scripts/firefox-install.sh @@ -2,7 +2,7 @@ echo "Installing firefox..." sudo rm -r /opt/firefox -sudo mv firefox /opt/firefox58 +sudo mv firefox /opt/firefox61 sudo mv /usr/bin/firefox /usr/bin/firefox-old -sudo ln -s /opt/firefox58/firefox /usr/bin/firefox +sudo ln -s /opt/firefox61/firefox /usr/bin/firefox echo "Firefox installed."