From 17efb34c6a9e00fb7cef600c7778482c012efb57 Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Tue, 19 May 2020 09:21:03 -0400 Subject: [PATCH] Retry chromium download in zuul --- Makefile | 13 ++++++++----- awx/ui/build/zuul_download_chromium.sh | 14 ++++++++++++++ awx/ui/test/spec/karma.spec.js | 2 +- awx/ui/test/unit/karma.unit.js | 2 +- .../roles/image_build/templates/Dockerfile.j2 | 4 +++- 5 files changed, 27 insertions(+), 8 deletions(-) create mode 100755 awx/ui/build/zuul_download_chromium.sh diff --git a/Makefile b/Makefile index 2d9371762d..49fe731b8b 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,7 @@ PACKER ?= packer PACKER_BUILD_OPTS ?= -var 'official=$(OFFICIAL)' -var 'aw_repo_url=$(AW_REPO_URL)' NODE ?= node NPM_BIN ?= npm +CHROMIUM_BIN=/tmp/chrome-linux/chrome DEPS_SCRIPT ?= packaging/bundle/deps.py GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD) MANAGEMENT_COMMAND ?= awx-manage @@ -547,11 +548,13 @@ jshint: $(UI_DEPS_FLAG_FILE) $(NPM_BIN) run --prefix awx/ui jshint $(NPM_BIN) run --prefix awx/ui lint -ui-zuul-lint-and-test: $(UI_DEPS_FLAG_FILE) - $(NPM_BIN) run --prefix awx/ui jshint - $(NPM_BIN) run --prefix awx/ui lint - $(NPM_BIN) --prefix awx/ui run test:ci - $(NPM_BIN) --prefix awx/ui run unit +ui-zuul-lint-and-test: + CHROMIUM_BIN=$(CHROMIUM_BIN) ./awx/ui/build/zuul_download_chromium.sh + CHROMIUM_BIN=$(CHROMIUM_BIN) PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 $(NPM_BIN) --unsafe-perm --prefix awx/ui ci --no-save awx/ui + CHROMIUM_BIN=$(CHROMIUM_BIN) $(NPM_BIN) run --prefix awx/ui jshint + CHROMIUM_BIN=$(CHROMIUM_BIN) $(NPM_BIN) run --prefix awx/ui lint + CHROME_BIN=$(CHROMIUM_BIN) $(NPM_BIN) --prefix awx/ui run test:ci + CHROME_BIN=$(CHROMIUM_BIN) $(NPM_BIN) --prefix awx/ui run unit # END UI TASKS # -------------------------------------- diff --git a/awx/ui/build/zuul_download_chromium.sh b/awx/ui/build/zuul_download_chromium.sh new file mode 100755 index 0000000000..9620732b9e --- /dev/null +++ b/awx/ui/build/zuul_download_chromium.sh @@ -0,0 +1,14 @@ +REVISION=588429 +CHROMIUM_URL="https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/${REVISION}/chrome-linux.zip" + +interval=30 +retries=6 +status=1 +until [ $retries -eq 0 ] || [ $status -eq 0 ]; do + wget ${CHROMIUM_URL} -O /tmp/chrome-linux.zip + status=$? + sleep $interval + ((retries--)) +done + +unzip -o -d /tmp /tmp/chrome-linux.zip diff --git a/awx/ui/test/spec/karma.spec.js b/awx/ui/test/spec/karma.spec.js index 5a4cc572fd..0606b5998f 100644 --- a/awx/ui/test/spec/karma.spec.js +++ b/awx/ui/test/spec/karma.spec.js @@ -1,7 +1,7 @@ const path = require('path'); const webpackConfig = require('./webpack.spec'); -process.env.CHROME_BIN = require('puppeteer').executablePath(); +process.env.CHROME_BIN = process.env.CHROME_BIN || require('puppeteer').executablePath(); const SRC_PATH = path.resolve(__dirname, '../../client/src'); const NODE_MODULES = path.resolve(__dirname, '../../node_modules'); diff --git a/awx/ui/test/unit/karma.unit.js b/awx/ui/test/unit/karma.unit.js index 57779c0359..b3d6088ed8 100644 --- a/awx/ui/test/unit/karma.unit.js +++ b/awx/ui/test/unit/karma.unit.js @@ -1,7 +1,7 @@ const path = require('path'); const webpackConfig = require('../../build/webpack.test.js'); -process.env.CHROME_BIN = require('puppeteer').executablePath(); +process.env.CHROME_BIN = process.env.CHROME_BIN || require('puppeteer').executablePath(); const SRC_PATH = path.resolve(__dirname, '../../client/src'); diff --git a/installer/roles/image_build/templates/Dockerfile.j2 b/installer/roles/image_build/templates/Dockerfile.j2 index d0cf7665f0..7e8ffe0e05 100644 --- a/installer/roles/image_build/templates/Dockerfile.j2 +++ b/installer/roles/image_build/templates/Dockerfile.j2 @@ -105,7 +105,9 @@ RUN dnf -y install \ nodejs \ nss \ make \ - patch && \ + patch \ + wget \ + unzip && \ npm install -g n && n 10.15.0 && dnf remove -y nodejs {% endif %}