Skip to content
This repository was archived by the owner on Jun 30, 2021. It is now read-only.

Commit 11a2279

Browse files
committed
Upgrade Chrome patch & Chromedriver 2.22
1 parent 588742f commit 11a2279

File tree

5 files changed

+58
-27
lines changed

5 files changed

+58
-27
lines changed

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,29 @@ Note image ids also change after scm-source.json has being updated which trigger
77
###### To get container versions
88
docker exec grid versions
99

10+
## TBD_DOCKER_TAG
11+
+ Date: TBD_DATE
12+
+ Upgrade Chromedriver from 2.21 to 2.22
13+
+ Upgrade Chrome stable patch 51.0.2704.84
14+
+ Image tag details:
15+
+ Selenium: vTBD_SELENIUM_VERSION (TBD_SELENIUM_REVISION)
16+
+ Chrome stable: TBD_CHROME_STABLE
17+
+ Firefox stable: TBD_FIREFOX_STABLE
18+
+ Chromedriver: TBD_CHROME_DRIVER (TBD_CHROMEDRIVER_COMMIT)
19+
+ Java: TBD_JAVA_VENDOR Java TBD_JAVA_BUILD
20+
+ Timezone: TBD_TIME_ZONE
21+
+ FROM ubuntu:UBUNTU_FLAVOR-UBUNTU_DATE
22+
+ Python: TBD_PYTHON_VERSION
23+
+ Sauce Connect TBD_SAUCE_CONNECT_VERS, build TBD_SAUCE_CONNECT_BUILD TBD_SAUCE_CONNECT_REVISION
24+
+ BrowserStack Local version TBD_BROWSER_STACK_VERSION
25+
+ Tested on kernel dev host: 4.4.0-23-generic x86_64
26+
+ Tested on kernel CI host: TBD_HOST_UNAME
27+
+ Built at dev host with: Docker version 1.11.2, build b9f10c9
28+
+ Built at CI host with: Docker version TBD_DOCKER_VERS, build TBD_DOCKER_BUILD
29+
+ Image size: TBD_IMAGE_SIZE
30+
+ Digest: TBD_DIGEST
31+
+ Image ID: TBD_IMAGE_ID
32+
1033
## 2.53.0q
1134
+ Date: 2016-06-02
1235
+ Upgrade Chrome stable patch 51.0.2704.79

CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ For pull requests or local commits:
99
open ./images/grid_console.png #to verify the versions are correct
1010
git checkout ./images/grid_console.png && open ./videos/chrome/test.mkv
1111
travis lint #if you changed .travis.yml
12-
git checkout -b tmp-2.53.0q #name your branch according to your changes
12+
git checkout -b tmp-2.53.0r #name your branch according to your changes
1313
#git add ... git commit ... git push ... open pull request
1414

1515
For repository owners only:
1616

17-
git commit -m "Upgrade Chrome patch & Ubuntu & SC 4.3.16"
17+
git commit -m "Upgrade Chrome patch & Chromedriver 2.22"
1818
git tag -d latest #tag latest will be updated from TravisCI
19-
git tag 2.53.0q && git push origin tmp-2.53.0q && git push --tags
19+
git tag 2.53.0r && git push origin tmp-2.53.0r && git push --tags
2020

2121
-- Wait for Travis to pass OK
2222
-- Make sure changes got merged into master by elgalubot
2323

24-
git checkout master && git pull && git branch -d tmp-2.53.0q && git push origin --delete tmp-2.53.0q
24+
git checkout master && git pull && git branch -d tmp-2.53.0r && git push origin --delete tmp-2.53.0r
2525

2626
-- Re-add TBD_* section in CHANGELOG.md starting with TBD_DOCKER_TAG
2727
-- Upgrade release tag in github.com with latest CHANGELOG.md
@@ -32,15 +32,15 @@ For repository owners only:
3232
### Chrome artifact
3333
Keep certain bins if chrome version changed for example:
3434

35-
VER="51.0.2704.79"
35+
VER="51.0.2704.84"
3636
wget -nv --show-progress -O binaries/google-chrome-stable_${VER}_amd64.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
3737

3838
## Retry
3939
Failed in Travis? retry
4040

41-
git tag -d 2.53.0q && git push origin :2.53.0q
41+
git tag -d 2.53.0r && git push origin :2.53.0r
4242
#git add ...
43-
git commit --amend && git tag 2.53.0q && git push --force origin tmp-2.53.0q && git push --tags
43+
git commit --amend && git tag 2.53.0r && git push --force origin tmp-2.53.0r && git push --tags
4444

4545
## Docker push from Travis CI
4646
Travis [steps](https://docs.travis-ci.com/user/docker/#Pushing-a-Docker-Image-to-a-Registry) involve `docker login` and docker credentials encryptions.

Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ ENV CHROME_DRIVER_BASE "chromedriver.storage.googleapis.com"
741741
# Gets latest chrome driver version. Or you can hard-code it, e.g. 2.15
742742
RUN mkdir -p ${NORMAL_USER_HOME}/tmp && cd ${NORMAL_USER_HOME}/tmp \
743743
# 1st dup line CHROME_DRIVER_VERSION is just to invalidate docker cache
744-
&& CHROME_DRIVER_VERSION="2.21" \
744+
&& CHROME_DRIVER_VERSION="2.22" \
745745
# && CHROME_DRIVER_VERSION=$(curl 'https://chromedriver.storage.googleapis.com/LATEST_RELEASE' 2> /dev/null) \
746746
&& CHROME_DRIVER_URL="https://${CHROME_DRIVER_BASE}/${CHROME_DRIVER_VERSION}/${CHROME_DRIVER_FILE}" \
747747
&& wget -nv -O chromedriver_linux${CPU_ARCH}.zip ${CHROME_DRIVER_URL} \
@@ -766,7 +766,7 @@ RUN mkdir -p ${NORMAL_USER_HOME}/tmp && cd ${NORMAL_USER_HOME}/tmp \
766766
# TODO: Use Google fingerprint to verify downloads
767767
# https://www.google.de/linuxrepositories/
768768
# Also fix .deb file names with correct version
769-
RUN latest_chrome_version_trigger="51.0.2704.79" \
769+
RUN latest_chrome_version_trigger="51.0.2704.84" \
770770
&& mkdir -p ${NORMAL_USER_HOME}/chrome-deb \
771771
&& export CHROME_URL="https://dl.google.com/linux/direct" \
772772
&& wget -nv -O \
@@ -944,6 +944,7 @@ ENV FIREFOX_VERSION="${FF_VER}" \
944944
SELENIUM_NODE_PARAMS="" \
945945
# To taggle issue #58 see https://goo.gl/fz6RTu
946946
CHROME_ARGS="--no-sandbox" \
947+
# e.g. CHROME_ARGS="--no-sandbox --ignore-certificate-errors" \
947948
# SELENIUM_NODE_CHROME_PARAMS='-Dselenium.chrome.args="--no-sandbox"' \
948949
# WEBDRIVER_NODE_CHROME_PARAMS='-Dwebdriver.chrome.args="--no-sandbox"' \
949950
# Selenium capabilities descriptive (to avoid opera/ie warnings)
@@ -954,6 +955,8 @@ ENV FIREFOX_VERSION="${FF_VER}" \
954955
SEL_BROWSER_TIMEOUT_SECS=16000 \
955956
SEL_CLEANUPCYCLE_MS=90000 \
956957
SEL_NODEPOLLING_MS=80000 \
958+
# Docker for Mac beta - containers do not start #227
959+
no_proxy=localhost \
957960
# Vnc
958961
VNC_PORT=25900 \
959962
NOVNC_PORT=26080 \

README.md

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ A [new chromium headless project](https://github.com/electron/electron/issues/22
4545

4646
1. Pull the image and run the container
4747

48-
docker pull elgalu/selenium:2.53.0q
48+
docker pull elgalu/selenium:2.53.0r
4949

5050
docker run -d --name=grid -p 4444:24444 -p 5900:25900 \
5151
-e TZ="US/Pacific" -e VNC_PASSWORD=hola \
52-
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0q
52+
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0r
5353

5454
2. Wait until the grid starts properly before starting the tests _(Optional but recommended)_
5555

@@ -75,7 +75,7 @@ This image is designed to run one test on each docker container but if you still
7575
docker run --rm -ti --name=grid -p 4444:24444 -p 5900:25900 \
7676
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola \
7777
-e MAX_INSTANCES=20 -e MAX_SESSIONS=20 \
78-
elgalu/selenium:2.53.0q
78+
elgalu/selenium:2.53.0r
7979

8080
The drawback is that all tests will run on the same desktop meaning the video recording will only capture the browser in the foreground but it's in the roadmap to make all this transparent, see issues [#78](https://github.com/elgalu/docker-selenium/issues/78) and [#77](https://github.com/elgalu/docker-selenium/issues/77).
8181

@@ -97,7 +97,7 @@ You can also ssh into the machine as long as `SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa
9797
docker run --rm -ti --name=grid -p=4444:24444 -p=5900:25900 -p=22222:22222 \
9898
-e SSHD=true \
9999
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" \
100-
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0q
100+
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0r
101101

102102
Then
103103

@@ -108,7 +108,7 @@ Include `-X` in ssh command if you want to redirect the started GUI programs to
108108
docker run --rm -ti --name=grid -p=4444:24444 -p=5900:25900 -p=22222:22222 \
109109
-e SSHD=true -e SSHD_X11FORWARDING=yes \
110110
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" \
111-
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0q
111+
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0r
112112

113113
Then
114114

@@ -126,12 +126,12 @@ Supervisor exposes an http server but is not enough to bind the ports via `docke
126126
### Screen size
127127
You can set a custom screen size at docker run time by providing `SCREEN_WIDTH` and `SCREEN_HEIGHT` environment variables:
128128

129-
docker pull elgalu/selenium:2.53.0q
129+
docker pull elgalu/selenium:2.53.0r
130130

131131
docker run -d --name=grid -p 4444:24444 -p 5900:25900 \
132132
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola \
133133
-e SCREEN_WIDTH=1920 -e SCREEN_HEIGHT=1480 \
134-
elgalu/selenium:2.53.0q
134+
elgalu/selenium:2.53.0r
135135

136136
docker exec grid wait_all_done 10s
137137

@@ -142,7 +142,7 @@ You can control and modify the timezone on a container by using the [TZ](https:/
142142

143143
docker run --rm -ti --name=grid -p 4444:24444 -p 5900:25900 \
144144
-e TZ="US/Pacific" -e VNC_PASSWORD=hola \
145-
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0q
145+
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0r
146146

147147
Examples:
148148

@@ -210,7 +210,7 @@ You need to pass the environment variable `-e NOVNC=true` in order to start the
210210

211211
docker run --rm -ti --name=grid -p 4444:24444 -p 5900:25900 \
212212
-v /dev/shm:/dev/shm -p 6080:26080 -e NOVNC=true \
213-
elgalu/selenium:2.53.0q
213+
elgalu/selenium:2.53.0r
214214

215215
If the VNC password was randomly generated find out with
216216

@@ -283,9 +283,9 @@ There are also additional steps you can take to ensure you're using the correct
283283

284284
You can simply verify that image id is indeed the correct one.
285285

286-
# e.g. full image id for tag 2.53.0q
286+
# e.g. full image id for tag 2.53.0r
287287
export IMGID="<<Please see CHANGELOG.md>>"
288-
if docker inspect -f='{{.Id}}' elgalu/selenium:2.53.0q |grep ${IMGID} &> /dev/null; then
288+
if docker inspect -f='{{.Id}}' elgalu/selenium:2.53.0r |grep ${IMGID} &> /dev/null; then
289289
echo "Image ID tested ok"
290290
else
291291
echo "Image ID doesn't match"
@@ -295,7 +295,7 @@ You can simply verify that image id is indeed the correct one.
295295

296296
Given docker.io currently allows to push the same tag image twice this represent a security concern but since docker >= 1.6.2 is possible to fetch the digest sha256 instead of the tag so you can be sure you're using the exact same docker image every time:
297297

298-
# e.g. sha256 for tag 2.53.0q
298+
# e.g. sha256 for tag 2.53.0r
299299
export SHA=<<Please see CHANGELOG.md>>
300300
docker pull elgalu/selenium@sha256:${SHA}
301301

@@ -327,7 +327,7 @@ Host machine, terminal 2:
327327
-v /dev/shm:/dev/shm \
328328
-e SCREEN_WIDTH -e SCREEN_HEIGHT -e XE_DISP_NUM \
329329
-v /tmp/.X11-unix/X${XE_DISP_NUM}:/tmp/.X11-unix/X${XE_DISP_NUM} \
330-
elgalu/selenium:2.53.0q
330+
elgalu/selenium:2.53.0r
331331

332332
Now when you run your tests instead of connecting. If docker run fails try `xhost +`
333333

@@ -349,7 +349,7 @@ ANYPORT=0
349349
REMOTE_DOCKER_SRV=localhost
350350
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -p=0.0.0.0:${ANYPORT}:24444 \
351351
-p=0.0.0.0:${ANYPORT}:25900 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola \
352-
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.53.0q
352+
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.53.0r
353353
354354
# -- Option 2.docker run- Running docker on remote docker server like in the cloud
355355
# Useful if the docker server is running in the cloud. Establish free local ports
@@ -359,7 +359,7 @@ ssh ${REMOTE_DOCKER_SRV} #get into the remote docker provider somehow
359359
# it acts as a jump host so my public key is already on that server
360360
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -e SCREEN_HEIGHT=1110 \
361361
-e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" \
362-
elgalu/selenium:2.53.0q
362+
elgalu/selenium:2.53.0r
363363
364364
# -- Common: Wait for the container to start
365365
./host-scripts/wait-docker-selenium.sh grid 7s
@@ -430,7 +430,7 @@ If you git clone this repo locally, i.e. cd into where the Dockerfile is, you ca
430430
431431
If you prefer to download the final built image from docker you can pull it, personally I always prefer to build them manually except for the base images like Ubuntu 14.04.2:
432432
433-
docker pull elgalu/selenium:2.53.0q
433+
docker pull elgalu/selenium:2.53.0r
434434
435435
### 2. Use this image
436436
@@ -496,6 +496,11 @@ However this may not work for you and simply want to share the same DNS name res
496496
497497
So `--pid=host` is included to avoid https://github.com/docker/docker/issues/5899 `sudo: unable to send audit message: Operation not permitted`
498498
499+
#### DNS example
500+
501+
docker run -d --net=host --pid=host --name=grid -v /dev/shm:/dev/shm elgalu/selenium:2.53.0r
502+
docker exec grid wait_all_done 30s
503+
499504
## Who is using docker-selenium?
500505
501506
* [Zalando](https://tech.zalando.com/blog/)

docs/videos.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
### Pull
66
Pull image
77

8-
docker pull elgalu/selenium:2.53.0q
8+
docker pull elgalu/selenium:2.53.0r
99

1010
### Run
1111
Run a new grid
1212

1313
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 \
1414
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola \
15-
-e VIDEO=true elgalu/selenium:2.53.0q
15+
-e VIDEO=true elgalu/selenium:2.53.0r
1616

1717
### Wait
1818
Wait for the grid to start

0 commit comments

Comments
 (0)