Skip to content

Commit fef5e22

Browse files
committed
another attempt
1 parent 78f04cd commit fef5e22

File tree

2 files changed

+68
-58
lines changed

2 files changed

+68
-58
lines changed

.github/workflows/ci.yml

Lines changed: 66 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ jobs:
4747

4848
job_compile:
4949
name: Compile Binary (v${{ matrix.node }}) ${{ matrix.target_platform || matrix.os }}, ${{ matrix.arch || matrix.container }}, ${{ contains(matrix.container, 'alpine') && 'musl' || 'glibc' }}
50-
needs: [job_docker]
5150
runs-on: ${{ matrix.os }}
5251
container:
5352
image: ${{ matrix.container }}
@@ -56,24 +55,6 @@ jobs:
5655
fail-fast: false
5756
matrix:
5857
include:
59-
# x64 glibc
60-
- os: ubuntu-22.04
61-
container: ubuntu-local:latest
62-
node: 18
63-
binary: linux-x64-glibc-108
64-
- os: ubuntu-22.04
65-
container: ubuntu-local:latest
66-
node: 20
67-
binary: linux-x64-glibc-115
68-
- os: ubuntu-22.04
69-
container: ubuntu-local:latest
70-
node: 22
71-
binary: linux-x64-glibc-127
72-
- os: ubuntu-22.04
73-
container: ubuntu-local:latest
74-
node: 24
75-
binary: linux-x64-glibc-137
76-
7758
# x64 musl
7859
- os: ubuntu-22.04
7960
container: node:18-alpine3.17
@@ -197,18 +178,6 @@ jobs:
197178
apk add --no-cache build-base git g++ make curl python3
198179
ln -sf python3 /usr/bin/python
199180
200-
- name: Download Docker Image Artifact
201-
if: matrix.container == 'ubuntu-local:latest'
202-
uses: actions/download-artifact@v4
203-
with:
204-
name: ubuntu-local-docker-image
205-
path: /tmp/
206-
207-
- name: Load Docker Image
208-
if: matrix.container == 'ubuntu-local:latest'
209-
run: |
210-
docker load < /tmp/ubuntu-local-image.tar.gz
211-
212181
- name: Check out current commit
213182
uses: actions/checkout@v4
214183

@@ -305,9 +274,74 @@ jobs:
305274
path: ${{ github.workspace }}/lib/stack-trace-${{matrix.binary}}.node
306275
if-no-files-found: error
307276

277+
job_compile_ubuntu_local:
278+
name: Compile Binary (v${{ matrix.node }}) ubuntu-local, x64, glibc
279+
needs: [job_docker]
280+
runs-on: ubuntu-22.04
281+
timeout-minutes: 30
282+
strategy:
283+
fail-fast: false
284+
matrix:
285+
include:
286+
# x64 glibc using ubuntu-local
287+
- node: 18
288+
binary: linux-x64-glibc-108
289+
- node: 20
290+
binary: linux-x64-glibc-115
291+
- node: 22
292+
binary: linux-x64-glibc-127
293+
- node: 24
294+
binary: linux-x64-glibc-137
295+
296+
steps:
297+
- name: Download Docker Image Artifact
298+
uses: actions/download-artifact@v4
299+
with:
300+
name: ubuntu-local-docker-image
301+
path: /tmp/
302+
303+
- name: Load Docker Image
304+
run: |
305+
docker load < /tmp/ubuntu-local-image.tar.gz
306+
307+
- name: Check out current commit
308+
uses: actions/checkout@v4
309+
310+
- name: Install dependencies
311+
run: |
312+
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace ubuntu-local:latest \
313+
yarn install --ignore-engines --ignore-scripts --frozen-lockfile
314+
315+
- name: Configure safe directory
316+
run: |
317+
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace ubuntu-local:latest \
318+
git config --global --add safe.directory "*"
319+
320+
- name: Configure node-gyp
321+
run: |
322+
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace ubuntu-local:latest \
323+
yarn build:bindings:configure
324+
325+
- name: Build Bindings
326+
run: |
327+
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace ubuntu-local:latest \
328+
yarn build:bindings
329+
330+
- name: Build
331+
run: |
332+
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace ubuntu-local:latest \
333+
yarn build:lib
334+
335+
- name: Archive Binary
336+
uses: actions/upload-artifact@v4
337+
with:
338+
name: stack-trace-${{ matrix.binary }}
339+
path: ${{ github.workspace }}/lib/stack-trace-${{matrix.binary}}.node
340+
if-no-files-found: error
341+
308342
job_build:
309343
name: Build Package
310-
needs: [job_compile]
344+
needs: [job_compile, job_compile_ubuntu_local]
311345
runs-on: ubuntu-latest
312346
steps:
313347
- name: Check out current commit

Dockerfile

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,8 @@ apt-get install -y --no-install-recommends \
2121
ca-certificates \
2222
curl \
2323
gnupg \
24-
python3 \
25-
python3-pip \
2624
software-properties-common \
2725
wget
28-
# Install AWS cli
29-
pip3 install awscli
3026
# Use kitware's CMake repository for up-to-date version
3127
curl -sSf https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
3228
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
@@ -43,43 +39,23 @@ apt-get install -y --no-install-recommends \
4339
elfutils \
4440
file \
4541
gawk \
46-
gcovr \
42+
gcc-10 \
43+
g++-10 \
4744
gdb \
4845
gettext \
4946
git \
5047
git-lfs \
51-
gosu \
5248
jq \
53-
gcc-10 \
54-
g++-10 \
55-
kmod \
56-
libasound2-dev \
57-
libavahi-compat-libdnssd-dev \
58-
libbison-dev \
59-
libboost-all-dev \
6049
libclang-dev \
6150
libcurl4-openssl-dev \
62-
libncurses5-dev \
63-
libpcap-dev \
64-
libsndfile1-dev \
6551
libssl-dev \
6652
libtool \
67-
libwebsocketpp-dev \
68-
libwebsockets-dev \
6953
locales-all \
70-
lzop \
7154
ncurses-dev \
7255
openssh-client \
73-
pandoc \
74-
openssh-client \
75-
opus-tools \
76-
rsync \
77-
shellcheck \
78-
swig \
7956
time \
8057
unzip \
8158
uuid-dev \
82-
vim \
8359
zip \
8460
zlib1g-dev
8561
apt-get clean

0 commit comments

Comments
 (0)