This repository has been archived by the owner on Mar 16, 2024. It is now read-only.
forked from BuoyantIO/emojivoto
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for building and pushing Acornfile from repo's code
- Loading branch information
1 parent
ae5e2e7
commit 76398fc
Showing
21 changed files
with
3,004 additions
and
4,155 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: Acorn | ||
on: | ||
push: | ||
branches: | ||
- main | ||
tags: | ||
- v* | ||
|
||
jobs: | ||
build_push: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out the repo | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Acorn | ||
uses: acorn-io/actions-setup@v2 | ||
|
||
- name: Login Acorn to ghcr.io | ||
uses: acorn-io/actions-login@v1 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build the Acorn image | ||
run: acorn build -t ghcr.io/${{ github.repository }}:${{ github.ref_name }} . | ||
|
||
- name: Push to ghcr.io | ||
run: acorn push ghcr.io/${{ github.repository }}:${{ github.ref_name }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
.idea | ||
**/target | ||
**/bin | ||
**/gen | ||
vendor |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,36 @@ | ||
include ./common.mk | ||
IMAGE_REPO ?= emojivoto | ||
IMAGE_TAG ?= local | ||
|
||
.PHONY: web emoji-svc voting-svc integration-tests push | ||
|
||
all: build integration-tests | ||
|
||
build-base-docker-image: | ||
docker build . -f Dockerfile-base -t "buoyantio/emojivoto-svc-base:$(IMAGE_TAG)" | ||
|
||
web: | ||
$(MAKE) -C emojivoto-web | ||
|
||
compile-web: | ||
$(MAKE) -C emojivoto-web compile | ||
|
||
emoji-svc: | ||
$(MAKE) -C emojivoto-emoji-svc | ||
|
||
voting-svc: | ||
$(MAKE) -C emojivoto-voting-svc | ||
|
||
build: web emoji-svc voting-svc | ||
build: build-base-docker-image web emoji-svc voting-svc | ||
|
||
multi-arch: | ||
$(MAKE) -C emojivoto-web build-multi-arch | ||
$(MAKE) -C emojivoto-emoji-svc build-multi-arch | ||
$(MAKE) -C emojivoto-voting-svc build-multi-arch | ||
%-image: | ||
docker build . -f ./emojivoto-$*/Dockerfile -t $(IMAGE_REPO):emojivoto-$*-$(IMAGE_TAG) | ||
|
||
deploy-to-minikube: | ||
$(MAKE) -C emojivoto-web build-container | ||
$(MAKE) -C emojivoto-emoji-svc build-container | ||
$(MAKE) -C emojivoto-voting-svc build-container | ||
kubectl delete -f emojivoto.yml || echo "ok" | ||
kubectl apply -f emojivoto.yml | ||
build-base: | ||
docker build . -f Dockerfile-base -t "$(IMAGE_REPO):emojivoto-svc-base-$(IMAGE_TAG)" | ||
|
||
deploy-to-docker-compose: | ||
docker-compose stop | ||
docker-compose rm -vf | ||
$(MAKE) -C emojivoto-web build-container | ||
$(MAKE) -C emojivoto-emoji-svc build-container | ||
$(MAKE) -C emojivoto-voting-svc build-container | ||
docker-compose -f ./docker-compose.yml up -d | ||
images: build-base emoji-svc-image voting-svc-image web-image | ||
|
||
push-%: | ||
docker push buoyantio/emojivoto-$*:$(IMAGE_TAG) | ||
docker push $(IMAGE_REPO):emojivoto-$*-$(IMAGE_TAG) | ||
|
||
push: push-svc-base push-emoji-svc push-voting-svc push-web | ||
|
||
local: | ||
acorn run -i |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
FROM golang:1.19 as builder | ||
|
||
WORKDIR /build | ||
|
||
RUN apt update && \ | ||
apt install -y protobuf-compiler && \ | ||
go install google.golang.org/protobuf/cmd/[email protected] && \ | ||
go install google.golang.org/grpc/cmd/[email protected] | ||
|
||
COPY emojivoto-emoji-svc emojivoto-emoji-svc | ||
COPY go.mod . | ||
COPY go.sum . | ||
COPY Makefile . | ||
ADD proto proto | ||
RUN make emoji-svc | ||
|
||
FROM golang:1.19 as runner | ||
|
||
WORKDIR /app | ||
|
||
COPY --from=builder /build/emojivoto-emoji-svc/bin/emojivoto-emoji-svc /usr/local/bin/emojivoto-emoji-svc | ||
|
||
ENTRYPOINT [ "emojivoto-emoji-svc" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,19 @@ | ||
svc_name := emojivoto-emoji-svc | ||
all: clean compile test | ||
|
||
all: clean protoc test package | ||
clean: | ||
rm -rf gen | ||
rm -rf bin | ||
mkdir -p bin | ||
mkdir -p gen | ||
|
||
include ../common.mk | ||
PROTOC ?= protoc | ||
|
||
protoc: | ||
$(PROTOC) -I .. ../proto/*.proto --go_out=paths=source_relative:./gen --go-grpc_out=paths=source_relative:./gen | ||
|
||
compile: protoc | ||
go build -v -o bin/emojivoto-emoji-svc cmd/server.go | ||
|
||
test: | ||
go test ./... | ||
|
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
FROM golang:1.19 as builder | ||
|
||
WORKDIR /build | ||
|
||
RUN apt update && \ | ||
apt install -y protobuf-compiler && \ | ||
go install google.golang.org/protobuf/cmd/[email protected] && \ | ||
go install google.golang.org/grpc/cmd/[email protected] | ||
|
||
COPY emojivoto-voting-svc emojivoto-voting-svc | ||
COPY go.mod . | ||
COPY go.sum . | ||
COPY Makefile . | ||
ADD proto proto | ||
RUN make voting-svc | ||
|
||
FROM golang:1.19 as runner | ||
|
||
WORKDIR /app | ||
|
||
COPY --from=builder /build/emojivoto-voting-svc/bin/emojivoto-voting-svc /usr/local/bin/emojivoto-voting-svc | ||
|
||
ENTRYPOINT [ "emojivoto-voting-svc" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,18 @@ | ||
svc_name := emojivoto-voting-svc | ||
all: clean compile test | ||
|
||
all: clean protoc test package | ||
clean: | ||
rm -rf gen | ||
rm -rf bin | ||
mkdir -p bin | ||
mkdir -p gen | ||
|
||
include ../common.mk | ||
PROTOC ?= protoc | ||
|
||
protoc: | ||
$(PROTOC) -I .. ../proto/*.proto --go_out=paths=source_relative:./gen --go-grpc_out=paths=source_relative:./gen | ||
|
||
compile: protoc | ||
go build -v -o bin/emojivoto-voting-svc cmd/server.go | ||
|
||
test: | ||
go test ./... |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
FROM node:18 as webpack | ||
|
||
WORKDIR /build | ||
|
||
COPY emojivoto-web . | ||
|
||
RUN make package-web | ||
|
||
FROM golang:1.19 as bins | ||
|
||
WORKDIR /build | ||
|
||
RUN apt update && \ | ||
apt install -y protobuf-compiler && \ | ||
go install google.golang.org/protobuf/cmd/[email protected] && \ | ||
go install google.golang.org/grpc/cmd/[email protected] | ||
|
||
COPY emojivoto-web emojivoto-web | ||
COPY go.mod . | ||
COPY go.sum . | ||
COPY Makefile . | ||
ADD proto proto | ||
RUN make compile-web | ||
|
||
FROM golang:1.19 as runner | ||
|
||
WORKDIR /app | ||
|
||
COPY --from=webpack /build/bin/dist ./dist | ||
ENV INDEX_BUNDLE "dist/index_bundle.js" | ||
|
||
COPY --from=bins /build/emojivoto-web/bin/emojivoto-vote-bot /usr/local/bin/emojivoto-vote-bot | ||
COPY --from=bins /build/emojivoto-web/bin/emojivoto-web /usr/local/bin/emojivoto-web |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,27 @@ | ||
svc_name := emojivoto-web | ||
|
||
all: clean protoc webpack package-web test package | ||
|
||
include ../common.mk | ||
all: clean protoc webpack package-web compile test | ||
|
||
webpack: | ||
$(MAKE) -C webapp | ||
|
||
package-web: webpack | ||
mkdir -p $(target_dir)/web | ||
cp web/favicon.ico $(target_dir)/web | ||
cp -a webapp/dist $(target_dir) | ||
mkdir -p bin/web | ||
cp web/favicon.ico bin/web | ||
cp -a webapp/dist bin | ||
|
||
clean: | ||
rm -rf gen | ||
rm -rf bin | ||
mkdir -p bin | ||
mkdir -p gen | ||
|
||
PROTOC ?= protoc | ||
|
||
protoc: | ||
$(PROTOC) -I .. ../proto/*.proto --go_out=paths=source_relative:./gen --go-grpc_out=paths=source_relative:./gen | ||
|
||
compile-vote-bot: | ||
GOOS=linux go build -v -o $(target_dir)/emojivoto-vote-bot cmd/vote-bot/main.go | ||
compile: clean protoc | ||
go build -v -o bin/emojivoto-vote-bot cmd/vote-bot/main.go | ||
go build -v -o bin/emojivoto-web cmd/server.go | ||
|
||
compile: compile-vote-bot | ||
test: | ||
go test ./... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.