Skip to content

Commit

Permalink
[TESTING] Upgrade CI to Ubuntu20.04 LTS (Focal)
Browse files Browse the repository at this point in the history
On one hand Ubuntu18's free LTS cycle is ended, and on the other hand Ubuntu18 does not support nodejs greater than v18.
1. update the Linux Docker image to buildpack-deps:focal
2. some compatibility changes
3. use the new recommended way to install Docker ([see here](https://docs.docker.com/engine/install/ubuntu/))

See #1173
  • Loading branch information
sbc100 committed May 28, 2024
1 parent ce74ca2 commit 07d7303
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 15 deletions.
40 changes: 26 additions & 14 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ orbs:
win: circleci/windows@5.0

executors:
bionic:
ubuntu:
docker:
- image: buildpack-deps:bionic
- image: buildpack-deps:focal
mac:
environment:
EMSDK_NOTTY: "1"
Expand Down Expand Up @@ -50,22 +50,20 @@ commands:
jobs:
flake8:
executor: bionic
executor: ubuntu
steps:
- checkout
- run:
name: install pip
command: |
apt-get update -q
apt-get install -q -y python-pip python3-pip
- run: python2 -m pip install --upgrade pip
apt-get install -q -y python-pip
- run: python3 -m pip install --upgrade pip
- run: python2 -m pip install flake8==3.9.2
- run: python3 -m pip install flake8==3.9.2
- run: python2 -m flake8 --show-source --statistics --extend-exclude=./scripts
- run: python3 -m flake8 --show-source --statistics
- run: python3 -m flake8 --show-source --statistics --extend-exclude=./scripts

test-linux:
executor: bionic
executor: ubuntu
environment:
EMSDK_NOTTY: "1"
# This is needed because the old gcc-7 that is installed on debian/bionic
Expand Down Expand Up @@ -174,12 +172,19 @@ jobs:
test/test_path_preservation.ps1
build-docker-image-x64:
executor: bionic
executor: ubuntu
steps:
- checkout
- run:
name: install docker
command: apt-get update -q && apt-get install -q -y docker.io
command: |
apt-get update -q
apt-get install -q -y ca-certificates curl gnupg lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update -q
apt-get install -q -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
- setup_remote_docker
# Build the `latest` version of EMSDK as docker image
- run:
Expand All @@ -190,12 +195,19 @@ jobs:
command: make -C ./docker version=latest test

publish-docker-image-x64:
executor: bionic
executor: ubuntu
steps:
- checkout
- run:
name: install docker
command: apt-get update -q && apt-get install -q -y docker.io
command: |
apt-get update -q
apt-get install -q -y ca-certificates curl gnupg lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update -q
apt-get install -q -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
- setup_remote_docker
- run:
name: build
Expand Down Expand Up @@ -226,7 +238,7 @@ jobs:
make -C ./docker version=${CIRCLE_TAG} alias=${CIRCLE_TAG}-arm64 only_alias=true push
test-bazel-linux:
executor: bionic
executor: ubuntu
steps:
- checkout
- run: apt-get install -q -y curl gnupg
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ https://emscripten.org/docs/building_from_source/toolchain_what_is_needed.html.
- `python`: Version 2.7.0 or above.
- `java`: For running closure compiler (optional)

The emsdk pre-compiled binaries are built against Ubuntu/Xenial 16.04 LTS and
The emsdk pre-compiled binaries are built against Ubuntu/Focal 20.04 LTS and
therefore depend on system libraries compatible with versions of `glibc` and
`libstdc++` present in that release. If your linux distribution is very old
you may not be able to use the pre-compiled binaries packages.
Expand Down

0 comments on commit 07d7303

Please sign in to comment.