Skip to content

Commit 347dd2b

Browse files
committed
Use a local docker image
1 parent e4f7329 commit 347dd2b

File tree

2 files changed

+101
-3
lines changed

2 files changed

+101
-3
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,19 @@ jobs:
3535
include:
3636
# x64 glibc
3737
- os: ubuntu-22.04
38-
container: telosalliance/ubuntu-20.04:latest
38+
container: ubuntu-local:latest
3939
node: 18
4040
binary: linux-x64-glibc-108
4141
- os: ubuntu-22.04
42-
container: telosalliance/ubuntu-20.04:latest
42+
container: ubuntu-local:latest
4343
node: 20
4444
binary: linux-x64-glibc-115
4545
- os: ubuntu-22.04
46-
container: telosalliance/ubuntu-20.04:latest
46+
container: ubuntu-local:latest
4747
node: 22
4848
binary: linux-x64-glibc-127
4949
- os: ubuntu-22.04
50+
container: ubuntu-local:latest
5051
node: 24
5152
binary: linux-x64-glibc-137
5253

@@ -173,6 +174,14 @@ jobs:
173174
apk add --no-cache build-base git g++ make curl python3
174175
ln -sf python3 /usr/bin/python
175176
177+
- name: Setup (Docker)
178+
if: contains(matrix.container, 'ubuntu-local')
179+
uses: docker/build-push-action@v5
180+
with:
181+
context: .
182+
push: false # Don't push to a registry, just build locally
183+
tags: ubuntu-local:latest
184+
176185
- name: Check out current commit
177186
uses: actions/checkout@v4
178187

Dockerfile

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# syntax=docker/dockerfile:1.3-labs
2+
# Originally from before modifications:
3+
# https://github.com/TelosAlliance/ubuntu-20.04/blob/d6d9ff28533fe0210f92510b7ee7b822a510cf56/Dockerfile
4+
FROM ubuntu:focal-20240530
5+
6+
# Set this before `apt-get` so that it can be done non-interactively
7+
ENV DEBIAN_FRONTEND noninteractive
8+
ENV TZ America/New_York
9+
ENV LC_ALL C.UTF-8
10+
ENV LANG C.UTF-8
11+
12+
# KEEP PACKAGES SORTED ALPHABETICALY
13+
# Do everything in one RUN command
14+
RUN /bin/bash <<EOF
15+
set -euxo pipefail
16+
apt-get update
17+
# Install packages needed to set up third-party repositories
18+
apt-get install -y --no-install-recommends \
19+
apt-transport-https \
20+
build-essential \
21+
ca-certificates \
22+
curl \
23+
gnupg \
24+
python3 \
25+
python3-pip \
26+
software-properties-common \
27+
wget
28+
# Install AWS cli
29+
pip3 install awscli
30+
# Use kitware's CMake repository for up-to-date version
31+
curl -sSf https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
32+
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
33+
apt-get update
34+
# Install everything else
35+
apt-get install -y --no-install-recommends \
36+
autoconf \
37+
automake \
38+
bc \
39+
cmake \
40+
cpio \
41+
cppcheck \
42+
device-tree-compiler \
43+
elfutils \
44+
file \
45+
gawk \
46+
gcovr \
47+
gdb \
48+
gettext \
49+
git \
50+
git-lfs \
51+
gosu \
52+
jq \
53+
gcc-10 \
54+
g++-10 \
55+
kmod \
56+
libasound2-dev \
57+
libavahi-compat-libdnssd-dev \
58+
libbison-dev \
59+
libboost-all-dev \
60+
libclang-dev \
61+
libcurl4-openssl-dev \
62+
libncurses5-dev \
63+
libpcap-dev \
64+
libsndfile1-dev \
65+
libssl-dev \
66+
libtool \
67+
libwebsocketpp-dev \
68+
libwebsockets-dev \
69+
locales-all \
70+
lzop \
71+
ncurses-dev \
72+
openssh-client \
73+
pandoc \
74+
openssh-client \
75+
opus-tools \
76+
rsync \
77+
shellcheck \
78+
swig \
79+
time \
80+
unzip \
81+
uuid-dev \
82+
vim \
83+
zip \
84+
zlib1g-dev
85+
apt-get clean
86+
rm -rf /var/lib/apt/lists/*
87+
EOF
88+
89+
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)