Skip to content

Commit 7bdaf16

Browse files
committed
feat(build): Add a developer target to test build dist without automake
1 parent f3c3b28 commit 7bdaf16

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

Makefile.am

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,11 @@ selfcheck: | $(bin_PROGRAMS) $(_BUILT_SUBDIRS)
204204
.PHONY: docs
205205
docs: $(_MANUAL) lua-api-docs
206206

207+
.PHONY: fake-manual
208+
fake-manual:
209+
touch $(FIGURES)
210+
touch $(MANUAL)
211+
207212
.PHONY: lua-api-docs
208213
lua-api-docs: lua-api-docs/index.html
209214

@@ -287,7 +292,7 @@ patterndeps = $(_FORCED) $(_TEST_DEPS) $(_DOCS_DEPS) | $(bin_PROGRAMS) $(DEPDIRS
287292
force: ;
288293

289294
PHONY_DEVELOPER_TARGETS = busted compare coverage \
290-
docker-dep-check docker-ghcr-to-hub gource.webm lint luacheck luarocks-lint \
295+
docker-dep-check docker-ghcr-to-hub docker-test-dist gource.webm lint luacheck luarocks-lint \
291296
prerelease regression_previews regressions release release-preview stylua tagrelease \
292297
test update_expecteds update_libtexpdf
293298
.PHONY: $(PHONY_DEVELOPER_TARGETS)
@@ -430,6 +435,11 @@ docker-ghcr-to-hub:
430435
$(DOCKER) tag $(GHCR_REGISTRY)/$(GHCR_REPO):$(DOCKER_TAG) $(DOCKER_REGISTRY)/$(DOCKER_REPO):$(DOCKER_TAG)
431436
$(docker_push)
432437

438+
docker-test-dist: export DOCKERFILE = tests/Dockerfile-dist
439+
docker-test-dist: export DOCKER_TAG = dist-test
440+
docker-test-dist:
441+
./hooks/build $(VERSION)
442+
433443
gource.webm:
434444
$(MKDIR_P) /tmp/gravatars
435445
magick documentation/sile-logo.pdf[0] -density 300 -colorspace RGB -negate -resize 50% /tmp/sile-logo.jpg

hooks/build

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
set -e
33

44
: "${ARCHTAG:=}"
5+
: "${DOCKERFILE:=Dockerfile}"
56

67
REVISION=$(git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g')
78

@@ -19,4 +20,5 @@ docker build \
1920
--build-arg RUNTIME_DEPS="$RUNTIME_DEPS" \
2021
--build-arg BUILD_DEPS="$BUILD_DEPS" \
2122
--tag $DOCKER_REPO:$DOCKER_TAG \
23+
--file ${DOCKERFILE} \
2224
./

tests/Dockerfile-dist

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#syntax=docker/dockerfile:1.2
2+
3+
ARG ARCHTAG
4+
5+
FROM docker.io/library/archlinux:base-devel$ARCHTAG
6+
7+
ARG RUNTIME_DEPS
8+
ARG BUILD_DEPS
9+
10+
# Freshen all base system packages
11+
RUN pacman-key --init
12+
RUN pacman --needed --noconfirm -Syq archlinux-keyring
13+
RUN pacman --needed --noconfirm -Suq
14+
15+
# Install build and run-time dependecies
16+
RUN pacman --needed --noconfirm -Sq $RUNTIME_DEPS $BUILD_DEPS
17+
18+
# Remove autotools, building the source distributions should not require them
19+
RUN pacman --noconfirm -Rn autoconf automake libtool base-devel
20+
21+
# Set at build time, forces Docker’s layer caching to reset at this point
22+
ARG VERSION
23+
24+
COPY ./sile-$VERSION /src
25+
WORKDIR /src
26+
27+
RUN ./configure --with-system-lua-sources --without-manual
28+
RUN make
29+
RUN make install
30+
31+
# We can't properly test path handling from inside the source directory!
32+
WORKDIR /tmp
33+
34+
RUN sile --version | grep $VERSION

0 commit comments

Comments
 (0)