From f1fa264043b8f50b6a3fffe6fda4f6df39f2e401 Mon Sep 17 00:00:00 2001 From: Annika Hannig Date: Wed, 27 Jul 2022 18:54:55 +0200 Subject: [PATCH] started with makefile update --- Dockerfile | 19 +++----- Makefile | 110 ++++++------------------------------------ Makefile.docker | 8 +-- VERSION | 2 +- cmd/alice-lg/Makefile | 17 +++---- 5 files changed, 37 insertions(+), 119 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3fd6764..0f5e8cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,26 +4,23 @@ # # Build frontend first -FROM node:11 AS frontend +FROM node:latest AS ui # Install dependencies -WORKDIR /src/alice-lg/client -ADD client/package.json . -ADD client/yarn.lock . +WORKDIR /src/alice-lg/ui +ADD ui/package.json . +ADD ui/yarn.lock . -RUN npm install -g gulp@4.0.0 -RUN npm install -g gulp-cli RUN yarn install # Add frontend -WORKDIR /src/alice-lg/client -ADD client . +ADD ui/ . # Build frontend -RUN DISABLE_LOGGING=1 NODE_ENV=production /usr/local/bin/gulp +RUN yarn build # Build the backend -FROM golang:1.17 AS backend +FROM golang:1.18 AS backend # Install dependencies WORKDIR /src/alice-lg @@ -34,7 +31,7 @@ RUN go mod download ADD . . # Add client -COPY --from=frontend /src/alice-lg/client/build client/build +COPY --from=ui /src/alice-lg/ui/build ui/build WORKDIR /src/alice-lg/cmd/alice-lg RUN make alpine diff --git a/Makefile b/Makefile index 8c42c09..0f61130 100644 --- a/Makefile +++ b/Makefile @@ -1,119 +1,39 @@ # -# Build the Alice Looking Glass -# ----------------------------- -# +# Build the Alice Looking Glass locally # PROG=alice-lg ARCH=amd64 -SYSTEM_INIT=systemd - -# == END BUILD CONFIGURATION == - VERSION=$(shell cat ./VERSION) -# Specify build server for remotely building the RPM -# you can do this when you invoke the makefile -# using: -# make remote_rpm BUILD_SERVER=build-rpm.example.com -BUILD_SERVER='' - -DIST=DIST/ -REMOTE_DIST=$(PROG)-$(DIST) - -RPM=$(PROG)-$(VERSION)-1.x86_64.rpm - -LOCAL_RPMS=RPMS all: alice -client_dev: - $(MAKE) -C client/ +test: ui_test backend_test -client_prod: - $(MAKE) -C client/ client_prod - -backend_prod: client_prod - $(MAKE) -C cmd/alice-lg/ linux - -backend: - $(MAKE) -C cmd/alice-lg/ linux - -backend_tests: - go test ./pkg/... - -test: backend_tests - - -alice: backend_tests backend_prod +alice: ui backend cp cmd/alice-lg/alice-lg-* bin/ +ui: + $(MAKE) -C ui/ -dist: clean alice +ui_test: + $(MAKE) -C ui/ test - mkdir -p $(DIST)opt/alice-lg/alice-lg/bin - mkdir -p $(DIST)etc/alice-lg +backend: + $(MAKE) -C cmd/alice-lg/ static - # Adding post install script - cp install/scripts/after_install $(DIST)/. - -ifeq ($(SYSTEM_INIT), systemd) - # Installing systemd services - mkdir -p $(DIST)usr/lib/systemd/system/ - cp install/systemd/* $(DIST)usr/lib/systemd/system/. -else - # Installing upstart configuration - mkdir -p $(DIST)/etc/init/ - cp install/upstart/* $(DIST)etc/init/. -endif - - # Copy example configuration - cp etc/alice-lg/alice.example.conf $(DIST)/etc/alice-lg/alice.example.conf - - # Copy application - cp bin/$(PROG)-linux-$(ARCH) DIST/opt/alice-lg/alice-lg/bin/. - - -rpm: dist - - # Clear tmp failed build (if any) - mkdir -p $(LOCAL_RPMS) - - # Create RPM from dist - fpm -s dir -t rpm -n $(PROG) -v $(VERSION) -C $(DIST) \ - --architecture $(ARCH) \ - --config-files /etc/alice-lg/alice.example.conf \ - --after-install $(DIST)/after_install \ - opt/ etc/ - - mv $(RPM) $(LOCAL_RPMS) - - -build_server: -ifeq ($(BUILD_SERVER), '') - $(error BUILD_SERVER not configured) -endif - -remote_rpm: build_server dist - - mkdir -p $(LOCAL_RPMS) - - # Copy distribution to build server - ssh $(BUILD_SERVER) -- rm -rf $(REMOTE_DIST) - scp -r $(DIST) $(BUILD_SERVER):$(REMOTE_DIST) - ssh $(BUILD_SERVER) -- fpm -s dir -t rpm -n $(PROG) -v $(VERSION) -C $(REMOTE_DIST) \ - --architecture $(ARCH) \ - --config-files /etc/alice-lg/alice.example.conf \ - --after-install $(REMOTE_DIST)/after_install \ - opt/ etc/ - - # Get rpm from server - scp $(BUILD_SERVER):$(RPM) $(LOCAL_RPMS)/. +backend_test: + go test ./pkg/... clean: rm -f bin/alice-lg-linux-amd64 rm -f bin/alice-lg-osx-amd64 rm -rf $(DIST) + + +.PHONY: backend ui clean + diff --git a/Makefile.docker b/Makefile.docker index 0c64d01..3a5bd18 100644 --- a/Makefile.docker +++ b/Makefile.docker @@ -3,14 +3,16 @@ DOCKER := docker +DOCKER_CONTAINER := alice-lg-build +DOCKER_IMAGE := golang:1.18 + all: alice cp cmd/alice-lg/alice-lg-* bin/ -client: - $(MAKE) -C client/ -f Makefile.docker client_prod +ui: + $(MAKE) -C ui/ -f Makefile.docker client_prod alice: client $(MAKE) -C cmd/alice-lg -f Makefile.docker .PHONY: client alice - diff --git a/VERSION b/VERSION index ac14c3d..09b254e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.1.1 +6.0.0 diff --git a/cmd/alice-lg/Makefile b/cmd/alice-lg/Makefile index b6f7cdc..bef6d70 100644 --- a/cmd/alice-lg/Makefile +++ b/cmd/alice-lg/Makefile @@ -1,6 +1,5 @@ # -# Alice LG Backend -# ---------------- +# Alice LG Backend Makefile # PROG=alice-lg @@ -28,31 +27,31 @@ all: deps $(TARGET) @echo "Built $(VERSION) @ $(TARGET)" deps: - GO111MODULE=on go get -v . + go get -v . osx-dev: - GO111MODULE=on go run $(FILES) + go run $(FILES) osx: - GO111MODULE=on GOARCH=$(ARCH) GOOS=darwin go build $(LDFLAGS) -o $(PROG)-osx-$(ARCH) + GOARCH=$(ARCH) GOOS=darwin go build $(LDFLAGS) -o $(PROG)-osx-$(ARCH) linux: - GO111MODULE=on GOARCH=$(ARCH) GOOS=linux go build $(LDFLAGS) -o $(PROG)-linux-$(ARCH) + GOARCH=$(ARCH) GOOS=linux go build $(LDFLAGS) -o $(PROG)-linux-$(ARCH) alpine: - GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build \ + CGO_ENABLED=0 GOOS=linux go build \ -a -installsuffix cgo \ $(LDFLAGS) -o $(PROG)-linux-$(ARCH) static: - GO111MODULE=on CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) \ + CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) \ go build $(CFLAGS) \ -a $(LDFLAGS_STATIC) \ -o $(PROG)-linux-$(ARCH) test: - GO111MODULE=on go test -v + go test -v cd ../../pkg/api/ && GO111MODULE=on go test -v cd ../../pkg/caches/ && GO111MODULE=on go test -v cd ../../pkg/sources/birdwatcher && GO111MODULE=on go test -v