Source code for the Codeberg e.V. registration web service.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.4 KiB

.PHONY: all clean realclean deployment deploy-reg-server locales check
BUILDDIR := /tmp/build
GOPATH := ${BUILDDIR}/reg-server
PATH := ${GOROOT}/bin:${GOPATH}/bin:${PATH}
GOTAR = go1.18.$(shell uname | tr [:upper:] [:lower:])-amd64.tar.gz
TARGETS = ${GOPATH}/bin/reg-server
all : ${TARGETS}
find locales -name "*.po" -execdir msgfmt "{}" ";"
${GOPATH}/bin/reg-server : main.go ${GOROOT}/bin/go locales
go build -o $@ $<
${GOROOT}/bin/go :
mkdir -p ${GOROOT}/Downloads
wget -c --no-verbose --directory-prefix=${GOROOT}/Downloads${GOTAR}
tar xfz ${GOROOT}/Downloads/${GOTAR} -C ${BUILDDIR}
deployment : deploy-reg-server
deploy-reg-server : ${GOPATH}/bin/reg-server
-ssh root@${HOSTNAME_FQDN} systemctl stop reg-server
rsync -av -e ssh --chown=root:root $< root@${HOSTNAME_FQDN}:/usr/local/bin/
rsync -av -e ssh --chown=root:root locales templates root@${HOSTNAME_FQDN}:/etc/reg-server/
ssh root@${HOSTNAME_FQDN} systemctl daemon-reload
ssh root@${HOSTNAME_FQDN} systemctl enable reg-server
ssh root@${HOSTNAME_FQDN} systemctl start reg-server
ssh root@${HOSTNAME_FQDN} systemctl status reg-server
clean :
@rm -f ${TARGETS}
realclean :
@chmod -R u+w ${GOPATH}
@rm -rf ${GOPATH}
@find locales -name "*.mo" -exec rm "{}" ";"
check : ${GOROOT}/bin/go
go test -v
lint :
go install
gofumpt -extra -w .