mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-02 14:03:06 +00:00
Add containers build based on static binaries
This commit is contained in:
parent
25e993b5bb
commit
2bbad24bfb
103
Makefile
103
Makefile
@ -324,48 +324,93 @@ ifneq ($(JOBS), )
|
||||
endif
|
||||
|
||||
ARCH :=amd64
|
||||
NWAKU_BASE_TAG := latest_
|
||||
#FIXME!
|
||||
NWAKU_BUILDER_IMAGE := quay.io/vpavlin0/nwaku-builder
|
||||
NWAKU_BASE_TAG := 20230512110759
|
||||
NWAKU_DIST_TAG := $(GIT_VERSION)_
|
||||
#nwaku-base-20230502082624_arm64
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
static-arm64: ARCH :=arm64
|
||||
static-arm64:
|
||||
set -x &&\
|
||||
mkdir -p $${PWD}/vendor-$(ARCH) $${PWD}/build/$(ARCH) &&\
|
||||
docker run -it --rm\
|
||||
-v $${PWD}:/home/user/nwaku:z\
|
||||
-v $${PWD}/vendor-arm64:/home/user/nwaku/vendor:z\
|
||||
-v $${PWD}/build/arm64:/home/user/nwaku/build:z\
|
||||
--workdir /home/user/nwaku\
|
||||
--user $$(id -u):$$(id -g)\
|
||||
nwaku:$(NWAKU_BASE_TAG)$(ARCH)\
|
||||
$(JOBS)\
|
||||
V=1\
|
||||
LOG_LEVEL="TRACE"\
|
||||
QUICK_AND_DIRTY_COMPILER=1\
|
||||
NIMFLAGS="--cpu:arm64 --os:linux --gcc.exe:aarch64-alpine-linux-musl-gcc --gcc.linkerexe:aarch64-alpine-linux-musl-gcc --passL:-static"\
|
||||
wakunode2
|
||||
BINARIES := wakunode2 wakunode1 chat2
|
||||
|
||||
static-amd64: ARCH :=amd64
|
||||
static-amd64:
|
||||
static-base:
|
||||
set -x &&\
|
||||
mkdir -p $${PWD}/vendor-$(ARCH) $${PWD}/build/$(ARCH) &&\
|
||||
mkdir -p $${PWD}/vendor-$(ARCH) $${PWD}/build/$(ARCH) $${PWD}/nimcache-$(ARCH) &&\
|
||||
docker run -it --rm\
|
||||
-v $${PWD}:/home/user/nwaku:z\
|
||||
-v $${PWD}/vendor-amd64:/home/user/nwaku/vendor:z\
|
||||
-v $${PWD}/build/amd64:/home/user/nwaku/build:z\
|
||||
-v $${PWD}/vendor-$(ARCH):/home/user/nwaku/vendor:z\
|
||||
-v $${PWD}/nimcache-$(ARCH):/home/user/nwaku/nimcache:z\
|
||||
-v $${PWD}/build/$(ARCH):/home/user/nwaku/build:z\
|
||||
--workdir /home/user/nwaku\
|
||||
--user $$(id -u):$$(id -g)\
|
||||
nwaku:$(NWAKU_BASE_TAG)$(ARCH)\
|
||||
$(JOBS)\
|
||||
$(NWAKU_BUILDER_IMAGE):$(NWAKU_BASE_TAG)_$(ARCH)\
|
||||
$(JOBS)\
|
||||
V=1\
|
||||
LOG_LEVEL="TRACE"\
|
||||
QUICK_AND_DIRTY_COMPILER=1\
|
||||
NIMFLAGS="--cpu:amd64 --os:linux --gcc.exe:x86_64-alpine-linux-musl-gcc --gcc.linkerexe:x86_64-alpine-linux-musl-gcc --passL:-static"\
|
||||
wakunode2
|
||||
NIMFLAGS="$(NIMFLAGS)"\
|
||||
$(BINARIES)
|
||||
|
||||
static-all: static-arm64 static-amd64
|
||||
static-arm64: ARCH :=arm64
|
||||
static-arm64: NIMFLAGS := $(NIMFLAGS) --cpu:arm64 --os:linux --gcc.exe:aarch64-alpine-linux-musl-gcc --gcc.linkerexe:aarch64-alpine-linux-musl-gcc --passL:-static
|
||||
static-arm64:
|
||||
$(MAKE) $(JOBS) static-base NIMFLAGS="$(NIMFLAGS)" ARCH=$(ARCH)
|
||||
|
||||
|
||||
|
||||
static-amd64: ARCH :=amd64
|
||||
static-amd64: NIMFLAGS := $(NIMFLAGS) --cpu:amd64 --os:linux --gcc.exe:x86_64-alpine-linux-musl-gcc --gcc.linkerexe:x86_64-alpine-linux-musl-gcc --passL:-static
|
||||
static-amd64:
|
||||
$(MAKE) $(JOBS) static-base NIMFLAGS="$(NIMFLAGS)" ARCH=$(ARCH)
|
||||
|
||||
static-clean:
|
||||
rm -rf build/arm64 build/amd64 vendor-arm64 vendor-amd64
|
||||
rm -rf build/arm64 build/amd64 vendor-arm64 vendor-amd64
|
||||
|
||||
|
||||
################################################
|
||||
# Distributable Artifacts (tars and containers) #
|
||||
################################################
|
||||
|
||||
dist-base:
|
||||
mkdir -p dist &&\
|
||||
pushd build/$(ARCH) &&\
|
||||
tar czf ../../dist/wakunode-$(GIT_VERSION)-$(ARCH).tgz $(BINARIES)
|
||||
|
||||
dist-amd64: static-amd64
|
||||
$(MAKE) $(JOBS) dist-base ARCH=amd64
|
||||
|
||||
dist-arm64: static-arm64
|
||||
$(MAKE) $(JOBS) dist-base ARCH=arm64
|
||||
|
||||
dist-container-base:
|
||||
echo $(ARCH) &&\
|
||||
ls &&\
|
||||
cd build/$(ARCH) &&\
|
||||
docker build -t nwaku:$(NWAKU_DIST_TAG)$(ARCH) -f ../../docker/dist/Dockerfile.$(ARCH) .
|
||||
|
||||
dist-container-amd64: | dist-amd64
|
||||
$(MAKE) $(JOBS) dist-container-base ARCH=amd64
|
||||
|
||||
dist-container-arm64: | dist-arm64
|
||||
$(MAKE) $(JOBS) dist-container-base ARCH=arm64
|
||||
|
||||
dist-container:
|
||||
$(MAKE) $(JOBS) dist-container-amd64
|
||||
$(MAKE) $(JOBS) dist-container-arm64
|
||||
docker manifest create quay.io/vpavlin0/nwaku:multiarch \
|
||||
--amend nwaku:$(NWAKU_DIST_TAG)amd64 \
|
||||
--amend nwaku:$(NWAKU_DIST_TAG)arm64
|
||||
|
||||
###################
|
||||
# Release Targets #
|
||||
###################
|
||||
|
||||
release-notes:
|
||||
docker run \
|
||||
-it \
|
||||
--rm \
|
||||
-v $${PWD}:/opt/sv4git/repo:z \
|
||||
-u $(shell id -u) \
|
||||
quay.io/vpavlin0/sv4git:latest \
|
||||
release-notes
|
||||
|
||||
@ -8,4 +8,4 @@ die() {
|
||||
|
||||
trap 'die' SIGINT
|
||||
|
||||
make "$@"
|
||||
make "$@"
|
||||
|
||||
5
docker/dist/Dockerfile.amd64
vendored
Normal file
5
docker/dist/Dockerfile.amd64
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
FROM --platform=amd64 alpine:edge
|
||||
|
||||
ADD . /usr/local/bin
|
||||
|
||||
ENTRYPOINT [ "wakunode2" ]
|
||||
5
docker/dist/Dockerfile.arm64
vendored
Normal file
5
docker/dist/Dockerfile.arm64
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
FROM --platform=arm64 alpine:edge
|
||||
|
||||
ADD . /usr/local/bin
|
||||
|
||||
ENTRYPOINT [ "wakunode2" ]
|
||||
Loading…
x
Reference in New Issue
Block a user