Skip to content

Commit

Permalink
Add Chrome 87
Browse files Browse the repository at this point in the history
  • Loading branch information
hipitihop committed Oct 13, 2023
1 parent d0cbc78 commit c2609b1
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 6 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,20 @@ On image startup the exact versions of important software are printed to the
console.

| Name | Version | Description | Origin |
| --------------------------------------------------- | --------------------- | ----------- | ------ |
| --------------------------------------------------- |-----------------------| ----------- | ------ |
| Leiningen | `2.9.x` | Clojure(Script) build tool. Day8's main build tool. | [GitHub Releases Assets](https://github.com/technomancy/leiningen/releases) |
| Clojure | `1.10.x` | 'Official' Clojure CLI tools. | [Clojure Website](https://clojure.org/guides/getting_started) |
| Clojure | `1.11.x` | 'Official' Clojure CLI tools. | [Clojure Website](https://clojure.org/guides/getting_started) |
| OpenJDK | `11.x` (LTS) | Java runtime. Dependency of Leiningen, `clojure` CLI etc. | [Ubuntu Package: `openjdk-11-headless`](https://packages.ubuntu.com/focal-updates/openjdk-11-jdk-headless) |
| Node.js | `16.x` (LTS) | JavaScript runtime. Dependency of `shadow-cljs`. | [NodeSource Package Repository](https://github.com/nodesource/distributions) |
| NPM | `6.x` (LTS) | JavaScript package manager. Dependency of `shadow-cljs`. | Bundled with Node.js |
| Node.js | `18.12.x` (LTS) | JavaScript runtime. Dependency of `shadow-cljs`. | [NodeSource Package Repository](https://github.com/nodesource/distributions) |
| NPM | `9.1.x` (LTS) | JavaScript package manager. Dependency of `shadow-cljs`. | Bundled with Node.js |
| Python 2 | `2.7.x` | Python 2 runtime. | [Ubuntu Package: `python2`](https://packages.ubuntu.com/focal/python2) |
| Python 3 | `3.8.x` | Python 3 runtime. | [Ubuntu Package: `python3`](https://packages.ubuntu.com/focal/python3) |
| `pip` | Latest at build time. | Python package manager. | [Ubuntu Package: `python3-pip`](https://packages.ubuntu.com/focal/python3-pip) |
| `pipenv` | Latest at build time. | Python package manager. | [Python Package: `pipenv`](https://pypi.org/project/pipenv/) |
| `pytest` | Latest at build time. | Python test runner. | [Python Package: `pytest`](https://pypi.org/project/pytest/) |
| Git | Latest at build time. | Dependency of [`actions/checkout`](https://github.com/actions/checkout) and [`day8/lein-git-inject`](https://github.com/day8/lein-git-inject) | ['Git stable releases' Ubuntu PPA](https://launchpad.net/~git-core/+archive/ubuntu/ppa) |
| [`aws`](https://docs.aws.amazon.com/cli/index.html) | Latest at build time. | Interface to Amazon Web Services. Dependency of S3 deployments. | [Official AWS Package: `awscli-exe-linux-x86_64.zip`](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html) |
| [`sam`](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) | | Creates and manages AWS serverless applications. | [Official AWS Package: `aws-sam-cli-linux-x86_64.zip`](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install-linux.html) |
| [`sam`](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) | | Creates and manages AWS serverless applications. | [Official AWS Package: `aws-sam-cli-linux-x86_64.zip`](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install-linux.html) |
| GNU Compiler Collection | `9.3.x` | C (`gcc`) and C++ (`g++`) compiler. Dependency of `npm install...` and therefore `shadow-cljs`. | [Ubuntu Package: `build-essential`](https://packages.ubuntu.com/focal/build-essential) |
| `make` | Latest at build time. | Build automation tool, esp common for older C/C++ projects. Dependency of space-vim. | [Ubuntu Package: `build-essential`](https://packages.ubuntu.com/focal/build-essential) |
| `cmake` | Latest at build time. | Build automation tool, esp common for newer C/C++ projects. | [Ubuntu Package: `cmake`](https://packages.ubuntu.com/focal/cmake) |
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:
#### Problem
The `day8/chrome-56:5.0.0` Docker image is provided as we need to test against a version equivalent to an old Electron version.
The `day8/chrome-87:6.0.0` Docker image is provided as we need to test against a version equivalent to an old Electron version.

When the version of Chromium used needs to be upgraded to match an Electron upgrade.

Expand Down
54 changes: 54 additions & 0 deletions chrome-87/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
FROM ghcr.io/day8/core:latest

# Launcher Electron Chrome version 87.0.4280.141 from Wednesday, January 6, 2021
#

RUN \
export CHROME_VERSION="87.0.4280.141" && \
export CHROME_SHA256SUM="e8c00b766c50b57898c0084f41eac7642b527b591bd079dc8191d04352260b34" && \
export CHROMEDRIVER_VERSION="87.0.4280.88" && \
export CHROMEDRIVER_SHA256SUM="929a3b4246742a842fd49391dddde6e829cb7f2e94aed92091ba88586380dac6" && \
#
cd /tmp && \
#
# Turn on Bash extended glob support so we can use patterns like !("file1"|"file2")
shopt -s extglob && \
#
# Refresh package lists.
apt-get update -qq && \
#
apt-get install -qq -y --no-install-recommends \
# These are dependencies of Chrome and ChromeDriver that are not common between the different
# versions.
fonts-liberation libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libcairo2 libgbm1 libgtk-3-0 \
libpango-1.0-0 libxdamage1 libxkbcommon0 xdg-utils && \
#
rm -rf /var/lib/apt/lists/* && \
#
wget -q "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb" && \
echo "Verifying ChromeDriver package checksum..." && \
sha256sum "google-chrome-stable_${CHROME_VERSION}_amd64.deb" && \
echo "$CHROME_SHA256SUM *google-chrome-stable_${CHROME_VERSION}_amd64.deb" | sha256sum -c - && \
dpkg -i "google-chrome-stable_${CHROME_VERSION}_amd64.deb" && \
rm -f "google-chrome-stable_${CHROME_VERSION}_amd64.deb" && \
#
# Install ChromeDriver
#
# ChromeDriver version MUST be the correct version for the Chrome release it is being used with.
#
# For recent versions of Chrome see https://chromedriver.chromium.org/downloads/version-selection
#
# For older versions of Chrome (e.g. '56.x') look through https://chromedriver.storage.googleapis.com/index.html
# and find the newest release with a 'notes.txt' file that mentions the major version e.g. 'Supports Chrome v56-58'.
echo "Installing ChromeDriver ${CHROMEDRIVER_VERSION}..." && \
wget -q https://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip && \
echo "Verifying ChromeDriver package checksum..." && \
sha256sum chromedriver_linux64.zip && \
echo "$CHROMEDRIVER_SHA256SUM *chromedriver_linux64.zip" | sha256sum -c - && \
unzip -q chromedriver_linux64.zip && \
rm -f chromedriver_linux64.zip && \
mv chromedriver /usr/local/bin/chromedriver && \
chmod +x /usr/local/bin/chromedriver && \
/opt/google/chrome/chrome --version && \
chromedriver --version && \
echo '\n\n'

0 comments on commit c2609b1

Please sign in to comment.