Skip to content

Commit

Permalink
Try gotip
Browse files Browse the repository at this point in the history
  • Loading branch information
dunglas committed Jul 25, 2024
1 parent 799a9d5 commit dca15d0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 23 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ jobs:
run: |
docker run --platform=${{ matrix.platform }} --rm \
"$(jq -r '."builder-${{ matrix.variant }}"."containerimage.config.digest"' <<< "${METADATA}")" \
sh -c 'go test ${{ matrix.race }} -v ./... && cd caddy && go test ${{ matrix.race }} -v ./...'
sh -c 'gotip test ${{ matrix.race }} -v ./... && cd caddy && gotip test ${{ matrix.race }} -v ./...'
env:
METADATA: ${{ steps.build.outputs.metadata }}
# Adapted from https://docs.docker.com/build/ci/github-actions/multi-platform/
Expand Down
10 changes: 7 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -65,17 +65,21 @@ RUN apt-get update && \
libssl-dev \
libxml2-dev \
zlib1g-dev \
# Needed by gotip
git \
&& \
apt-get clean

RUN GOBIN=/usr/local/go/bin go install golang.org/dl/gotip@latest && gotip download

WORKDIR /go/src/app

COPY --link go.mod go.sum ./
RUN go mod graph | awk '{if ($1 !~ "@") print $2}' | xargs go get
RUN gotip mod graph | awk '{if ($1 !~ "@") print $2}' | xargs gotip get

WORKDIR /go/src/app/caddy
COPY --link caddy/go.mod caddy/go.sum ./
RUN go mod graph | awk '{if ($1 !~ "@") print $2}' | xargs go get
RUN gotip mod graph | awk '{if ($1 !~ "@") print $2}' | xargs gotip get

WORKDIR /go/src/app
COPY --link *.* ./
Expand All @@ -88,7 +92,7 @@ COPY --link testdata testdata
ENV CGO_LDFLAGS="-lssl -lcrypto -lreadline -largon2 -lcurl -lonig -lz $PHP_LDFLAGS" CGO_CFLAGS="-DFRANKENPHP_VERSION=$FRANKENPHP_VERSION $PHP_CFLAGS" CGO_CPPFLAGS=$PHP_CPPFLAGS

WORKDIR /go/src/app/caddy/frankenphp
RUN GOBIN=/usr/local/bin go install -ldflags "-w -s -X 'github.com/caddyserver/caddy/v2.CustomVersion=FrankenPHP $FRANKENPHP_VERSION PHP $PHP_VERSION Caddy'" && \
RUN GOBIN=/usr/local/bin gotip install -ldflags "-w -s -X 'github.com/caddyserver/caddy/v2.CustomVersion=FrankenPHP $FRANKENPHP_VERSION PHP $PHP_VERSION Caddy'" && \
setcap cap_net_bind_service=+ep /usr/local/bin/frankenphp && \
cp Caddyfile /etc/caddy/Caddyfile && \
frankenphp version
Expand Down
25 changes: 6 additions & 19 deletions alpine.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -67,33 +67,20 @@ RUN apk add --no-cache --virtual .build-deps \
readline-dev \
sqlite-dev \
upx \
# Needed for the custom Go build
# Needed by gotip
git \
bash

# FIXME: temporary workaround for https://github.com/golang/go/issues/68285
WORKDIR /
RUN git clone https://go.googlesource.com/go goroot
WORKDIR /goroot
# Revert https://github.com/golang/go/commit/3560cf0afb3c29300a6c88ccd98256949ca7a6f6 to prevent the crash with musl
RUN git config --global user.email "build@example.com" && \
git config --global user.name "Build" && \
git checkout "$(go env GOVERSION)" && \
git revert 3560cf0afb3c29300a6c88ccd98256949ca7a6f6
WORKDIR /goroot/src
ENV GOHOSTARCH="$TARGETARCH"
RUN ./make.bash
ENV PATH="/goroot/bin:$PATH"
RUN go version


RUN GOBIN=/usr/local/go/bin go install golang.org/dl/gotip@latest && gotip download

WORKDIR /go/src/app

COPY --link go.mod go.sum ./
RUN go mod graph | awk '{if ($1 !~ "@") print $2}' | xargs go get
RUN gotip mod graph | awk '{if ($1 !~ "@") print $2}' | xargs gotip get

WORKDIR /go/src/app/caddy
COPY caddy/go.mod caddy/go.sum ./
RUN go mod graph | awk '{if ($1 !~ "@") print $2}' | xargs go get
RUN gotip mod graph | awk '{if ($1 !~ "@") print $2}' | xargs gotip get

WORKDIR /go/src/app
COPY --link *.* ./
Expand Down

0 comments on commit dca15d0

Please sign in to comment.