Skip to content

Commit 7462f72

Browse files
committed
update versions in build action 6
1 parent f5e40f0 commit 7462f72

1 file changed

Lines changed: 35 additions & 18 deletions

File tree

.github/workflows/build-wavpack.yml

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,7 @@ jobs:
1111
fail-fast: false
1212
max-parallel: 4
1313
matrix:
14-
include:
15-
- glibc_version: '2.31'
16-
ubuntu_version: '20.04'
17-
- glibc_version: '2.33'
18-
ubuntu_version: '21.04'
19-
- glibc_version: '2.35'
20-
ubuntu_version: '22.04'
21-
- glibc_version: '2.36'
22-
ubuntu_version: '22.10'
23-
- glibc_version: '2.37'
24-
ubuntu_version: '23.04'
25-
- glibc_version: '2.39'
26-
ubuntu_version: '24.04'
14+
glibc_version: ['2.31', '2.33', '2.35', '2.36', '2.37', '2.39']
2715
wavpack_version: ['5.7.0'] # Stick to stable version for now
2816

2917
env:
@@ -38,12 +26,41 @@ jobs:
3826
- name: Create Dockerfile for glibc build
3927
run: |
4028
cat > Dockerfile.build << 'EOF'
41-
ARG UBUNTU_VERSION
4229
ARG GLIBC_VERSION
43-
FROM ubuntu:${UBUNTU_VERSION} as glibc-builder
30+
FROM ubuntu:22.04 as base
31+
# Install common dependencies for all builds
32+
RUN apt-get update && apt-get install -y \
33+
build-essential \
34+
wget \
35+
bzip2 \
36+
automake \
37+
libtool \
38+
gcc-multilib \
39+
gawk \
40+
bison \
41+
python3 \
42+
gettext \
43+
texinfo \
44+
pkg-config \
45+
file \
46+
patchelf \
47+
&& ln -s /usr/bin/python3 /usr/bin/python \
48+
&& rm -rf /var/lib/apt/lists/*
4449
50+
# Map glibc versions to Ubuntu versions for the system libc
51+
FROM ubuntu:20.04 as glibc-builder-2.31
52+
FROM ubuntu:21.04 as glibc-builder-2.33
53+
FROM ubuntu:22.04 as glibc-builder-2.35
54+
FROM ubuntu:22.10 as glibc-builder-2.36
55+
FROM ubuntu:23.04 as glibc-builder-2.37
56+
FROM ubuntu:24.04 as glibc-builder-2.39
57+
58+
FROM glibc-builder-${GLIBC_VERSION} as builder
59+
COPY --from=base /usr/bin /usr/bin
60+
COPY --from=base /usr/lib /usr/lib
61+
COPY --from=base /usr/include /usr/include
62+
COPY --from=base /lib /lib
4563
ARG GLIBC_VERSION
46-
ARG UBUNTU_VERSION
4764
ENV GLIBC_VERSION=${GLIBC_VERSION}
4865
4966
# Install build dependencies
@@ -79,12 +96,13 @@ jobs:
7996
&& mkdir glibc-build \
8097
&& cd glibc-build \
8198
&& echo "Configuring glibc..." \
82-
&& ../glibc-${GLIBC_VERSION}/configure \
99+
&& CFLAGS="-O2 -U_FORTIFY_SOURCE" ../glibc-${GLIBC_VERSION}/configure \
83100
--prefix=/home/builder/glibc-install \
84101
--disable-werror \
85102
--enable-add-ons \
86103
--with-headers=/usr/include \
87104
--without-selinux \
105+
--disable-stack-protector \
88106
> ../configure.log 2>&1 || (cat ../configure.log && false) \
89107
&& echo "Building glibc..." \
90108
&& make -j$(nproc) > ../make.log 2>&1 || (cat ../make.log && false) \
@@ -153,7 +171,6 @@ jobs:
153171
run: |
154172
docker build \
155173
--build-arg GLIBC_VERSION=${{ matrix.glibc_version }} \
156-
--build-arg UBUNTU_VERSION=${{ matrix.ubuntu_version }} \
157174
--build-arg WAVPACK_VERSION=${{ matrix.wavpack_version }} \
158175
-f Dockerfile.build \
159176
-t wavpack-builder .

0 commit comments

Comments
 (0)