build: Build infrastructure images
This commit is contained in:
parent
229b6a292c
commit
5a1f996e56
|
@ -0,0 +1,54 @@
|
||||||
|
name: Build Infrastructure Images
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- infrastructure
|
||||||
|
|
||||||
|
env:
|
||||||
|
GO_VERSION: "^1.20.5"
|
||||||
|
CGO_ENABLED: "0"
|
||||||
|
BUILD_USER: docker
|
||||||
|
BUILD_HOST: github.syncthing.net
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
docker-syncthing:
|
||||||
|
name: Build and push Docker images
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: docker
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
pkg:
|
||||||
|
- stcrashreceiver
|
||||||
|
- strelaypoolsrv
|
||||||
|
- stupgrades
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build binaries
|
||||||
|
run: |
|
||||||
|
for arch in arm64 amd64; do
|
||||||
|
go run build.go -goos linux -goarch "$arch" build ${{ matrix.pkg }}
|
||||||
|
mv ${{ matrix.pkg }} ${{ matrix.pkg }}-linux-"$arch"
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v2
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v4
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile.${{ matrix.pkg }}
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
push: true
|
||||||
|
tags: syncthing/${{ matrix.pkg }}:latest,syncthing/${{ matrix.pkg }}:${{ github.sha }}
|
|
@ -1,18 +1,8 @@
|
||||||
ARG GOVERSION=latest
|
|
||||||
FROM golang:$GOVERSION AS builder
|
|
||||||
|
|
||||||
WORKDIR /src
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
ENV CGO_ENABLED=0
|
|
||||||
ENV BUILD_HOST=syncthing.net
|
|
||||||
ENV BUILD_USER=docker
|
|
||||||
RUN rm -f stcrashreceiver && go run build.go build stcrashreceiver
|
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
ARG TARGETARCH
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
COPY --from=builder /src/stcrashreceiver /bin/stcrashreceiver
|
COPY stcrashreceiver-linux-${TARGETARCH} /bin/stcrashreceiver
|
||||||
|
|
||||||
ENTRYPOINT [ "/bin/stcrashreceiver" ]
|
ENTRYPOINT [ "/bin/stcrashreceiver" ]
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
ARG GOVERSION=latest
|
|
||||||
FROM golang:$GOVERSION AS builder
|
|
||||||
|
|
||||||
WORKDIR /src
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
ENV CGO_ENABLED=0
|
|
||||||
ENV BUILD_HOST=syncthing.net
|
|
||||||
ENV BUILD_USER=docker
|
|
||||||
RUN rm -f strelaysrv && go run build.go -no-upgrade build strelaypoolsrv
|
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
ARG TARGETARCH
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
|
@ -19,8 +9,8 @@ ENV PUID=1000 PGID=1000 MAXMIND_KEY=
|
||||||
RUN mkdir /var/strelaypoolsrv && chown 1000 /var/strelaypoolsrv
|
RUN mkdir /var/strelaypoolsrv && chown 1000 /var/strelaypoolsrv
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
COPY --from=builder /src/strelaypoolsrv /bin/strelaypoolsrv
|
COPY strelaypoolsrv-linux-${TARGETARCH} /bin/strelaypoolsrv
|
||||||
COPY --from=builder /src/script/strelaypoolsrv-entrypoint.sh /bin/entrypoint.sh
|
COPY script/strelaypoolsrv-entrypoint.sh /bin/entrypoint.sh
|
||||||
|
|
||||||
WORKDIR /var/strelaypoolsrv
|
WORKDIR /var/strelaypoolsrv
|
||||||
ENTRYPOINT ["/bin/entrypoint.sh", "/bin/strelaypoolsrv", "-listen", ":8080"]
|
ENTRYPOINT ["/bin/entrypoint.sh", "/bin/strelaypoolsrv", "-listen", ":8080"]
|
||||||
|
|
|
@ -1,18 +1,8 @@
|
||||||
ARG GOVERSION=latest
|
|
||||||
FROM golang:$GOVERSION AS builder
|
|
||||||
|
|
||||||
WORKDIR /src
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
ENV CGO_ENABLED=0
|
|
||||||
ENV BUILD_HOST=syncthing.net
|
|
||||||
ENV BUILD_USER=docker
|
|
||||||
RUN rm -f stupgrades && go run build.go build stupgrades
|
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
ARG TARGETARCH
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
COPY --from=builder /src/stupgrades /bin/stupgrades
|
COPY stupgrades-linux-${TARGETARCH} /bin/stupgrades
|
||||||
|
|
||||||
ENTRYPOINT [ "/bin/stupgrades" ]
|
ENTRYPOINT [ "/bin/stupgrades" ]
|
||||||
|
|
Loading…
Reference in New Issue