Refactor Github action build workflow to build for both arm64/amd64 (#781)
authorAlan Guo Xiang Tan <gxtan1990@gmail.com>
Tue, 19 Mar 2024 22:26:36 +0000 (06:26 +0800)
committerGitHub <noreply@github.com>
Tue, 19 Mar 2024 22:26:36 +0000 (06:26 +0800)
commit4bece5f47ef5c5ba3a3bdf4c7cb9232b3f20ce37
tree96482cb08cacab29b6694a4369ff1e2bd7afd4df
parentbbefa1e5f387bcad0fac79fea00b39f15f6dee4e
Refactor Github action build workflow to build for both arm64/amd64 (#781)

Why this change?

Now that we can efficiently build Docker images targeted at `linux/arm64`,
we will start to release images for `linux/arm64` in the same way we do
for `linux/amd64` images.

Images released for `linux/amd64` are tagged as follows:

1. discourse/base:2.0.\<datetime\>-slim
2. discourse/base:slim
3. discourse/base:2.0.\<datetime\>
4. discourse/base:release

For `linux/arm64`, the images are tagged as follows:

1. discourse/base:2.0.\<datetime\>-slim-arm64
2. discourse/base:slim-arm64
3. discourse/base:2.0.\<datetime\>-arm64
4. discourse/base:release-arm64
5. discourse/base:aarch64 (For backwards compatibility)

For `linux/arm64`, we unfortunately cannot install chrome because chrome
does not currently release binaries for the arch. Therefore, we install
chromium which chrome is based off and also install the chromedriver
binary for `linux/arm64` released by the electron project.
.github/workflows/build.yml
image/auto_build.rb
image/discourse_test/Dockerfile
image/discourse_test/install-chrome [new file with mode: 0755]