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/
|
sessions/
|
||||||
session.dat
|
session.dat
|
||||||
session.dat.new
|
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
|
.PHONY: all test
|
||||||
|
|
||||||
COMMIT := $(shell git rev-parse --short HEAD)
|
COMMIT := $(shell git rev-parse --short HEAD)
|
||||||
|
TD_COMMIT := "8517026415e75a8eec567774072cbbbbb52376c1"
|
||||||
|
VERSION := "v1.7.1"
|
||||||
|
MAKEOPTS := "-j4"
|
||||||
|
|
||||||
all:
|
all:
|
||||||
go build -ldflags "-X main.commit=${COMMIT}" -o telegabber
|
go build -ldflags "-X main.commit=${COMMIT}" -o telegabber
|
||||||
|
@ -10,3 +13,6 @@ test:
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
$(GOPATH)/bin/golint ./...
|
$(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