Skip to content

Commit e70af5c

Browse files
authored
Changes for compatibility with nginx:1.25.4-alpine (#63)
* Changes for compatibility with nginx:1.25.4-alpine - Symlink /usr/bin/make as /usr/bin/gmake if necessary. - Upgrade to a revision of dd-trace-cpp that does not depend on zlib. - This also pulled in other recent changes to dd-trace-cpp. - Increase verbosity of cmake's output. - This was for debugging, but I'm leaving it in. * add NGINX 1.25.4 to CircleCI * support NGINX 1.25.3, too
1 parent 6b36bb9 commit e70af5c

File tree

5 files changed

+101
-16
lines changed

5 files changed

+101
-16
lines changed

.circleci/config.yml

Lines changed: 87 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -177,49 +177,50 @@ workflows:
177177
matrix:
178178
parameters:
179179
arch: ["amd64", "arm64"]
180-
name: "build on nginx:1.25.2-alpine-<< matrix.arch >>"
181-
base-image: "nginx:1.25.2-alpine"
182-
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.2-alpine"
183-
nginx-version: "1.25.2"
180+
name: "build on nginx:1.25.4-alpine-<< matrix.arch >>"
181+
base-image: "nginx:1.25.4-alpine"
182+
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.4-alpine"
183+
nginx-version: "1.25.4"
184184
filters:
185185
tags:
186186
ignore: /^v[0-9]+\.[0-9]+\.[0-9]+/
187187
- test:
188188
matrix:
189189
parameters:
190190
arch: ["amd64", "arm64"]
191-
name: "test on nginx:1.25.2-alpine-<< matrix.arch >>"
192-
base-image: "nginx:1.25.2-alpine"
191+
name: "test on nginx:1.25.4-alpine-<< matrix.arch >>"
192+
base-image: "nginx:1.25.4-alpine"
193193
requires:
194-
- "build on nginx:1.25.2-alpine-<< matrix.arch >>"
194+
- "build on nginx:1.25.4-alpine-<< matrix.arch >>"
195195
filters:
196196
tags:
197197
ignore: /^v[0-9]+\.[0-9]+\.[0-9]+/
198198
- build:
199199
matrix:
200200
parameters:
201201
arch: ["amd64", "arm64"]
202-
name: "build on nginx:1.25.2-<< matrix.arch >>"
203-
base-image: "nginx:1.25.2"
204-
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.2"
205-
nginx-version: "1.25.2"
202+
name: "build on nginx:1.25.4-<< matrix.arch >>"
203+
base-image: "nginx:1.25.4"
204+
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.4"
205+
nginx-version: "1.25.4"
206206
filters:
207207
tags:
208208
ignore: /^v[0-9]+\.[0-9]+\.[0-9]+/
209209
- test:
210210
matrix:
211211
parameters:
212212
arch: ["amd64", "arm64"]
213-
name: "test on nginx:1.25.2-<< matrix.arch >>"
214-
base-image: "nginx:1.25.2"
213+
name: "test on nginx:1.25.4-<< matrix.arch >>"
214+
base-image: "nginx:1.25.4"
215215
requires:
216-
- "build on nginx:1.25.2-<< matrix.arch >>"
216+
- "build on nginx:1.25.4-<< matrix.arch >>"
217217
filters:
218218
tags:
219219
ignore: /^v[0-9]+\.[0-9]+\.[0-9]+/
220220

221221
build-and-test-all:
222222
jobs:
223+
# Output of `bin/generate_jobs_yaml.sh` begins on the following line.
223224
- build:
224225
<<: *release_tag_only
225226
matrix:
@@ -562,6 +563,78 @@ workflows:
562563
- "build on amazonlinux:2.0.20220121.0-<< matrix.arch >>"
563564
name: "test on amazonlinux:2.0.20220121.0-<< matrix.arch >>"
564565
base-image: "amazonlinux:2.0.20220121.0"
566+
- build:
567+
<<: *release_tag_only
568+
matrix:
569+
parameters:
570+
arch: [amd64,arm64]
571+
name: "build on nginx:1.25.4-alpine-<< matrix.arch >>"
572+
base-image: "nginx:1.25.4-alpine"
573+
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.4-alpine"
574+
nginx-version: "1.25.4"
575+
- test:
576+
<<: *release_tag_only
577+
matrix:
578+
parameters:
579+
arch: [amd64,arm64]
580+
requires:
581+
- "build on nginx:1.25.4-alpine-<< matrix.arch >>"
582+
name: "test on nginx:1.25.4-alpine-<< matrix.arch >>"
583+
base-image: "nginx:1.25.4-alpine"
584+
- build:
585+
<<: *release_tag_only
586+
matrix:
587+
parameters:
588+
arch: [amd64,arm64]
589+
name: "build on nginx:1.25.4-<< matrix.arch >>"
590+
base-image: "nginx:1.25.4"
591+
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.4"
592+
nginx-version: "1.25.4"
593+
- test:
594+
<<: *release_tag_only
595+
matrix:
596+
parameters:
597+
arch: [amd64,arm64]
598+
requires:
599+
- "build on nginx:1.25.4-<< matrix.arch >>"
600+
name: "test on nginx:1.25.4-<< matrix.arch >>"
601+
base-image: "nginx:1.25.4"
602+
- build:
603+
<<: *release_tag_only
604+
matrix:
605+
parameters:
606+
arch: [amd64,arm64]
607+
name: "build on nginx:1.25.3-alpine-<< matrix.arch >>"
608+
base-image: "nginx:1.25.3-alpine"
609+
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.3-alpine"
610+
nginx-version: "1.25.3"
611+
- test:
612+
<<: *release_tag_only
613+
matrix:
614+
parameters:
615+
arch: [amd64,arm64]
616+
requires:
617+
- "build on nginx:1.25.3-alpine-<< matrix.arch >>"
618+
name: "test on nginx:1.25.3-alpine-<< matrix.arch >>"
619+
base-image: "nginx:1.25.3-alpine"
620+
- build:
621+
<<: *release_tag_only
622+
matrix:
623+
parameters:
624+
arch: [amd64,arm64]
625+
name: "build on nginx:1.25.3-<< matrix.arch >>"
626+
base-image: "nginx:1.25.3"
627+
build-image: "datadog/docker-library:nginx-datadog-build-nginx_1.25.3"
628+
nginx-version: "1.25.3"
629+
- test:
630+
<<: *release_tag_only
631+
matrix:
632+
parameters:
633+
arch: [amd64,arm64]
634+
requires:
635+
- "build on nginx:1.25.3-<< matrix.arch >>"
636+
name: "test on nginx:1.25.3-<< matrix.arch >>"
637+
base-image: "nginx:1.25.3"
565638
- build:
566639
<<: *release_tag_only
567640
matrix:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ MAKE_JOB_COUNT ?= $(shell nproc)
88

99
.PHONY: build
1010
build: build-deps nginx/objs/Makefile sources
11-
mkdir -p $(BUILD_DIR) && cd $(BUILD_DIR) && cmake -DBUILD_TESTING=OFF .. && make -j $(MAKE_JOB_COUNT) VERBOSE=1
11+
mkdir -p $(BUILD_DIR) && cd $(BUILD_DIR) && cmake -DBUILD_TESTING=OFF --trace-expand .. && make -j $(MAKE_JOB_COUNT) VERBOSE=1
1212
chmod 755 $(BUILD_DIR)/libngx_http_datadog_module.so
1313
@echo 'build successful 👍'
1414

bin/generate_jobs_yaml.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ amazonlinux:2.0.20220406.1 1.22.1 amd64,arm64
3434
amazonlinux:2.0.20220316.0 1.22.1 amd64,arm64
3535
amazonlinux:2.0.20220218.1 1.22.1 amd64,arm64
3636
amazonlinux:2.0.20220121.0 1.22.1 amd64,arm64
37+
nginx:1.25.4-alpine 1.25.4 amd64,arm64
38+
nginx:1.25.4 1.25.4 amd64,arm64
39+
nginx:1.25.3-alpine 1.25.3 amd64,arm64
40+
nginx:1.25.3 1.25.3 amd64,arm64
3741
nginx:1.25.2-alpine 1.25.2 amd64,arm64
3842
nginx:1.25.2 1.25.2 amd64,arm64
3943
nginx:1.25.1-alpine 1.25.1 amd64,arm64

bin/install_build_tooling_apk.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ apk add coreutils
1414
# nginx uses perl-compatible regular expressions (PCRE) and zlib (for gzip).
1515
apk add pcre-dev zlib-dev
1616

17+
# At some point, Alpine stopped having `/usr/bin/gmake` and instead has
18+
# `/usr/bin/make`. CMake assumes that the make driver is `/usr/bin/gmake`,
19+
# though. So, symlink if the latter is missing.
20+
if ! [ -e /usr/bin/gmake ]; then
21+
ln -s /usr/bin/make /usr/bin/gmake
22+
chmod a+x /usr/bin/gmake
23+
fi
24+
1725
# Build a recent cmake from source. dd-trace-cpp requires a version more recent than
1826
# what is commonly packaged.
1927
# We have to build it from source, because Kitware doesn't produce binary

0 commit comments

Comments
 (0)