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

Commit af1e415

Browse files
committed
Upgrade Chrome patch to 50.0.2661.94
1 parent da496f4 commit af1e415

File tree

7 files changed

+73
-26
lines changed

7 files changed

+73
-26
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,28 @@ 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 Chrome patch to 50.0.2661.94
13+
+ Image tag details:
14+
+ Selenium: vTBD_SELENIUM_VERSION (TBD_SELENIUM_REVISION)
15+
+ Chrome stable: TBD_CHROME_STABLE
16+
+ Firefox stable: TBD_FIREFOX_STABLE
17+
+ Chromedriver: TBD_CHROME_DRIVER (TBD_CHROMEDRIVER_COMMIT)
18+
+ Java: TBD_JAVA_VENDOR Java TBD_JAVA_BUILD
19+
+ Timezone: TBD_TIME_ZONE
20+
+ FROM ubuntu:UBUNTU_FLAVOR-UBUNTU_DATE
21+
+ Python: TBD_PYTHON_VERSION
22+
+ Sauce Connect TBD_SAUCE_CONNECT_VERS, build TBD_SAUCE_CONNECT_BUILD TBD_SAUCE_CONNECT_REVISION
23+
+ BrowserStack Local version TBD_BROWSER_STACK_VERSION
24+
+ Tested on kernel dev host: 4.4.0-22-generic x86_64
25+
+ Tested on kernel CI host: TBD_HOST_UNAME
26+
+ Built at dev host with: Docker version 1.11.0, build 4dc5990
27+
+ Built at CI host with: Docker version TBD_DOCKER_VERS, build TBD_DOCKER_BUILD
28+
+ Image size: TBD_IMAGE_SIZE
29+
+ Digest: TBD_DIGEST
30+
+ Image ID: TBD_IMAGE_ID
31+
1032
## 2.53.0j
1133
+ Date: 2016-04-27
1234
+ Upgrade Firefox major to 46.0

CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ For pull requests:
1111
open ./images/grid_console.png #to verify the versions are correct
1212
git checkout ./images/grid_console.png && open ./videos/chrome/test.mkv
1313
travis lint #if you changed .travis.yml
14-
git checkout -b tmp-2.53.0j #name your branch according to your changes
14+
git checkout -b tmp-2.53.0k #name your branch according to your changes
1515
#git add ... git commit ... git push ... open pull request
1616

1717
For repository owners only:
1818

19-
git commit -m "Upgrade Firefox 46 & Ubuntu 20160422. Fixes #83"
19+
git commit -m "Upgrade Chrome patch to 50.0.2661.94"
2020
git tag -d latest #tag latest will be updated from TravisCI
21-
git tag 2.53.0j && git push origin tmp-2.53.0j && git push --tags
21+
git tag 2.53.0k && git push origin tmp-2.53.0k && git push --tags
2222

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

26-
git checkout master && git pull && git branch -d tmp-2.53.0j && git push origin --delete tmp-2.53.0j
26+
git checkout master && git pull && git branch -d tmp-2.53.0k && git push origin --delete tmp-2.53.0k
2727

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

37-
VER="50.0.2661.86"
37+
VER="50.0.2661.94"
3838
wget -nv --show-progress -O binaries/google-chrome-stable_${VER}_amd64.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
3939

4040
## Retry
4141
Failed in Travis? retry
4242

43-
git tag -d 2.53.0j && git push origin :2.53.0j
43+
git tag -d 2.53.0k && git push origin :2.53.0k
4444
#git add ...
45-
git commit --amend && git tag 2.53.0j && git push --force origin tmp-2.53.0j && git push --tags
45+
git commit --amend && git tag 2.53.0k && git push --force origin tmp-2.53.0k && git push --tags
4646

4747
## Docker push from Travis CI
4848
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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ RUN mkdir -p ${NORMAL_USER_HOME}/tmp && cd ${NORMAL_USER_HOME}/tmp \
764764
# TODO: Use Google fingerprint to verify downloads
765765
# https://www.google.de/linuxrepositories/
766766
# Also fix .deb file names with correct version
767-
RUN latest_chrome_version_trigger="50.0.2661.86" \
767+
RUN latest_chrome_version_trigger="50.0.2661.94" \
768768
&& mkdir -p ${NORMAL_USER_HOME}/chrome-deb \
769769
&& export CHROME_URL="https://dl.google.com/linux/direct" \
770770
&& wget -nv -O \

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ The purpose of this project is to have [Selenium][] running as simple and as fas
2727

2828
1. Pull the image and run the container
2929

30-
docker pull elgalu/selenium:2.53.0j
30+
docker pull elgalu/selenium:2.53.0k
3131

3232
docker run --rm -ti --name=grid -p 4444:24444 -p 5900:25900 \
33-
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium:2.53.0j
33+
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium:2.53.0k
3434

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

@@ -65,7 +65,7 @@ You can also ssh into the machine as long as `SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa
6565
docker run --rm -ti --name=grid -p=4444:24444 -p=5900:25900 -p=22222:22222 \
6666
-e SSHD=true \
6767
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" \
68-
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0j
68+
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0k
6969

7070
Then
7171

@@ -76,7 +76,7 @@ Include `-X` in ssh command if you want to redirect the started GUI programs to
7676
docker run --rm -ti --name=grid -p=4444:24444 -p=5900:25900 -p=22222:22222 \
7777
-e SSHD=true -e SSHD_X11FORWARDING=yes \
7878
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" \
79-
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0j
79+
-v /dev/shm:/dev/shm elgalu/selenium:2.53.0k
8080

8181
Then
8282

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

97-
docker pull elgalu/selenium:2.53.0j
97+
docker pull elgalu/selenium:2.53.0k
9898

9999
docker run -d --name=grid -p 4444:24444 -p 5900:25900 \
100100
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola \
101101
-e SCREEN_WIDTH=1920 -e SCREEN_HEIGHT=1480 \
102-
elgalu/selenium:2.53.0j
102+
elgalu/selenium:2.53.0k
103103

104104
docker exec grid wait_all_done 10s
105105

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

158158
docker run --rm -ti --name=grid -p 4444:24444 -p 5900:25900 \
159159
-v /dev/shm:/dev/shm -p 6080:26080 -e NOVNC=true \
160-
elgalu/selenium:2.53.0j
160+
elgalu/selenium:2.53.0k
161161

162162
If the VNC password was randomly generated find out with
163163

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

231231
You can simply verify that image id is indeed the correct one.
232232

233-
# e.g. full image id for tag 2.53.0j
233+
# e.g. full image id for tag 2.53.0k
234234
export IMGID="<<Please see CHANGELOG.md>>"
235-
if docker inspect -f='{{.Id}}' elgalu/selenium:2.53.0j |grep ${IMGID} &> /dev/null; then
235+
if docker inspect -f='{{.Id}}' elgalu/selenium:2.53.0k |grep ${IMGID} &> /dev/null; then
236236
echo "Image ID tested ok"
237237
else
238238
echo "Image ID doesn't match"
@@ -242,7 +242,7 @@ You can simply verify that image id is indeed the correct one.
242242

243243
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:
244244

245-
# e.g. sha256 for tag 2.53.0j
245+
# e.g. sha256 for tag 2.53.0k
246246
export SHA=<<Please see CHANGELOG.md>>
247247
docker pull elgalu/selenium@sha256:${SHA}
248248

@@ -274,7 +274,7 @@ Host machine, terminal 2:
274274
-v /dev/shm:/dev/shm \
275275
-e SCREEN_WIDTH -e SCREEN_HEIGHT -e XE_DISP_NUM \
276276
-v /tmp/.X11-unix/X${XE_DISP_NUM}:/tmp/.X11-unix/X${XE_DISP_NUM} \
277-
elgalu/selenium:2.53.0j
277+
elgalu/selenium:2.53.0k
278278

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

@@ -296,7 +296,7 @@ ANYPORT=0
296296
REMOTE_DOCKER_SRV=localhost
297297
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -p=0.0.0.0:${ANYPORT}:24444 \
298298
-p=0.0.0.0:${ANYPORT}:25900 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola \
299-
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.53.0j
299+
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.53.0k
300300
301301
# -- Option 2.docker run- Running docker on remote docker server like in the cloud
302302
# Useful if the docker server is running in the cloud. Establish free local ports
@@ -306,7 +306,7 @@ ssh ${REMOTE_DOCKER_SRV} #get into the remote docker provider somehow
306306
# it acts as a jump host so my public key is already on that server
307307
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -e SCREEN_HEIGHT=1110 \
308308
-e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" \
309-
elgalu/selenium:2.53.0j
309+
elgalu/selenium:2.53.0k
310310
311311
# -- Common: Wait for the container to start
312312
./host-scripts/wait-docker-selenium.sh grid 7s
@@ -377,7 +377,7 @@ If you git clone this repo locally, i.e. cd into where the Dockerfile is, you ca
377377
378378
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:
379379
380-
docker pull elgalu/selenium:2.53.0j
380+
docker pull elgalu/selenium:2.53.0k
381381
382382
### 2. Use this image
383383

TBD_DOCKER_TAG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## TBD_DOCKER_TAG
2+
+ Date: TBD_DATE
3+
+ TBD_COMMIT_MSG
4+
+ Image tag details:
5+
+ Selenium: vTBD_SELENIUM_VERSION (TBD_SELENIUM_REVISION)
6+
+ Chrome stable: TBD_CHROME_STABLE
7+
+ Firefox stable: TBD_FIREFOX_STABLE
8+
+ Chromedriver: TBD_CHROME_DRIVER (TBD_CHROMEDRIVER_COMMIT)
9+
+ Java: TBD_JAVA_VENDOR Java TBD_JAVA_BUILD
10+
+ Timezone: TBD_TIME_ZONE
11+
+ FROM ubuntu:UBUNTU_FLAVOR-UBUNTU_DATE
12+
+ Python: TBD_PYTHON_VERSION
13+
+ Sauce Connect TBD_SAUCE_CONNECT_VERS, build TBD_SAUCE_CONNECT_BUILD TBD_SAUCE_CONNECT_REVISION
14+
+ BrowserStack Local version TBD_BROWSER_STACK_VERSION
15+
+ Tested on kernel dev host: 4.4.0-22-generic x86_64
16+
+ Tested on kernel CI host: TBD_HOST_UNAME
17+
+ Built at dev host with: Docker version 1.11.0, build 4dc5990
18+
+ Built at CI host with: Docker version TBD_DOCKER_VERS, build TBD_DOCKER_BUILD
19+
+ Image size: TBD_IMAGE_SIZE
20+
+ Digest: TBD_DIGEST
21+
+ Image ID: TBD_IMAGE_ID

docs/interview.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ The project aims to provide [Selenium][] inside a [docker][] container.
1111
The project started while I was in charge of building and maintaining the test automation suite of an [AngularJS][] project at [AppNexus][]. I was also doing DevOps tasks related to the test infrastructure.
1212

1313
The objective was to run the tests headless, different solutions existed for that and there is [PhantomJS][] for example but we needed real browsers like Chrome or Firefox to run our tests on, one reason was to get better test confidence and the other was that [Protractor][] doesn't [play nice][prot-browser-support] with [PhantomJS][].
14+
Recently [Wallaby.js][] announced they will support [Electron][] as an alternative to [PhantomJS][] because it allows to use the latest Chromium/V8 which might be equivalent to running in Chrome however I haven't looked into that yet.
1415

1516
With [Selenium][], you can always run your tests locally but as soon as your tests runs the browser popping up in your main display can be annoying, you could configure your windows manager to move it automatically to another workspace for example and similar solutions exists but why going into all those troubles if you can just `docker run selenium`.
1617

@@ -20,7 +21,7 @@ So back in 2014 the first thing I did was googling "selenium in docker", looked
2021

2122
<h4 id="LONG">How long has it been around?</h4>
2223

23-
It started mid 2014 so almost 2 years, it wasn't maintained consistently all these time but yes lately thanks to my role here at [Zalando][] and the fact that some teams here are using it.
24+
It started mid 2014 so almost 2 years, it [wasn't maintained consistently][gource] all these time but yes lately thanks to my role here at [Zalando][] and the fact that some teams here are using it.
2425

2526
<h4 id="TESTED">How is it tested? How is being built/deployed?</h4>
2627

@@ -69,7 +70,7 @@ Good extensive documentation helps gain users for sure but should always include
6970
##### Getting users
7071

7172
A couple of users wrote me they preferred my project because it was well maintained, up to date and issues were addressed quickly (no more than 3 days).
72-
I can understand that in a huge widely used project like [AngularJS][] you get to see hundreds of [open issues without comments][angular-issues] nor assignee nor labels or 36 issues unattended like I see today [in docker][docker-issues] but some projects that have that huge amount of incoming opened issues and yet you still see them not even labeled, like the author not caring at all, ever.
73+
I can understand that in a huge widely used project like [AngularJS][] you get to see hundreds of [open issues without comments][angular-issues] nor assignee nor labels or 36 issues unattended like I see today [in docker][docker-issues] but some projects that have that huge amount of incoming opened issues and yet you still see them not even labeled, like the author not caring enough.
7374

7475
##### Working with contributors
7576

@@ -134,3 +135,6 @@ Right now people tend to build long running selenium grids by using the [stock][
134135
[CI]: https://en.wikipedia.org/wiki/Continuous_integration
135136
[stock-208]: https://github.com/SeleniumHQ/docker-selenium/issues/208
136137
[tests]: https://github.com/elgalu/docker-selenium/tree/master/test
138+
[Wallaby.js]: https://wallabyjs.com
139+
[Electron]: https://wallabyjs.com/docs/integration/electron.html
140+
[gource]: ./gource.md

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.0j
8+
docker pull elgalu/selenium:2.53.0k
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.0j
15+
-e VIDEO=true elgalu/selenium:2.53.0k
1616

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

0 commit comments

Comments
 (0)