Add building in fcking docker environment
This commit is contained in:
parent
131f6eba38
commit
a5f6c60035
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -3,3 +3,4 @@ telegabber
|
|||
sessions/
|
||||
session.dat
|
||||
session.dat.new
|
||||
release/
|
||||
|
|
36
Dockerfile
Normal file
36
Dockerfile
Normal file
|
@ -0,0 +1,36 @@
|
|||
FROM golang:1.19-bookworm AS base
|
||||
|
||||
RUN apt-get update
|
||||
run apt-get install -y libssl-dev cmake build-essential gperf libz-dev make git
|
||||
|
||||
FROM base AS tdlib
|
||||
|
||||
ARG TD_COMMIT
|
||||
ARG MAKEOPTS
|
||||
RUN git clone https://github.com/tdlib/td /src/
|
||||
RUN git -C /src/ checkout "${TD_COMMIT}"
|
||||
RUN mkdir build
|
||||
WORKDIR /build/
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/compiled/ /src/
|
||||
RUN cmake --build . ${MAKEOPTS}
|
||||
RUN make install
|
||||
|
||||
FROM base AS cache
|
||||
ARG VERSION
|
||||
COPY --from=tdlib /compiled/ /usr/local/
|
||||
COPY ./ /src
|
||||
RUN git -C /src checkout "${VERSION}"
|
||||
WORKDIR /src
|
||||
RUN go get
|
||||
|
||||
FROM cache AS build
|
||||
ARG MAKEOPTS
|
||||
WORKDIR /src
|
||||
RUN make ${MAKEOPTS}
|
||||
|
||||
FROM scratch AS telegabber
|
||||
COPY --from=build /src/telegabber /usr/local/bin/
|
||||
ENTRYPOINT ["/usr/local/bin/telegabber"]
|
||||
|
||||
FROM scratch AS binaries
|
||||
COPY --from=telegabber /usr/local/bin/telegabber /
|
6
Makefile
6
Makefile
|
@ -1,6 +1,9 @@
|
|||
.PHONY: all test
|
||||
|
||||
COMMIT := $(shell git rev-parse --short HEAD)
|
||||
TD_COMMIT := "8517026415e75a8eec567774072cbbbbb52376c1"
|
||||
VERSION := "v1.7.1"
|
||||
MAKEOPTS := "-j4"
|
||||
|
||||
all:
|
||||
go build -ldflags "-X main.commit=${COMMIT}" -o telegabber
|
||||
|
@ -10,3 +13,6 @@ test:
|
|||
|
||||
lint:
|
||||
$(GOPATH)/bin/golint ./...
|
||||
|
||||
build_indocker:
|
||||
docker build --build-arg "TD_COMMIT=${TD_COMMIT}" --build-arg "VERSION=${VERSION}" --build-arg "MAKEOPTS=${MAKEOPTS}" --output=release --target binaries .
|
||||
|
|
Loading…
Reference in a new issue