From c146109b5986f262faf1d8015673d453ac06fe13 Mon Sep 17 00:00:00 2001 From: ducoterra Date: Tue, 2 Nov 2021 15:50:05 -0400 Subject: [PATCH] Squashed '.gitlab/' content from commit cf41f2e git-subtree-dir: .gitlab git-subtree-split: cf41f2e7768da3a340b86debcddc949b588448c7 --- Makefile | 18 ++++++++++++++++++ README.md | 9 +++++++++ make/docker.makefile | 29 +++++++++++++++++++++++++++++ make/git.makefile | 5 +++++ make/helm.makefile | 4 ++++ make/kaniko.makefile | 0 make/truenas.makefile | 5 +++++ 7 files changed, 70 insertions(+) create mode 100644 Makefile create mode 100644 README.md create mode 100644 make/docker.makefile create mode 100644 make/git.makefile create mode 100644 make/helm.makefile create mode 100644 make/kaniko.makefile create mode 100644 make/truenas.makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c71a072 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +SHELL := /bin/bash + +PROJECT_NAME ?= $(shell git config --local remote.origin.url | sed -n 's\#.*/\([^.]*\)\.git\#\1\#p') +VERSION ?= $(shell cat VERSION) +IMAGE ?= $(shell cat IMAGE):$(VERSION) +IMAGE_LATEST ?= $(shell cat IMAGE):latest +PWD ?= $(shell pwd) +STASH ?= "common-update-stash" + +include .gitlab/make/docker.makefile +include .gitlab/make/helm.makefile +include .gitlab/make/kaniko.makefile +include .gitlab/make/truenas.makefile +include .gitlab/make/git.makefile + +.PHONY: make-update +make-update: + @git subtree pull --prefix .gitlab --squash --message "Merge update from Common" -q git@gitlab.ducoterra.net:services/common.git main diff --git a/README.md b/README.md new file mode 100644 index 0000000..5680c6b --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Adding the "common" subtree as your .gitlab folder + +```bash +# Add the subtree as a remote +git subtree add --prefix .gitlab git@gitlab.ducoterra.net:services/common.git main --squash --message "Add Common .gitlab Subtree" + +# Now you can run the following to update +make make-update +``` diff --git a/make/docker.makefile b/make/docker.makefile new file mode 100644 index 0000000..23e4a52 --- /dev/null +++ b/make/docker.makefile @@ -0,0 +1,29 @@ +.PHONY: docker-init +docker-init: + @touch VERSION + @touch IMAGE + +.PHONY: buildx-context +buildx-context: + docker buildx create --name container-builder --use --platform linux/amd64,linux/arm64 + +.PHONY: buildx-clear +buildx-clear: + docker buildx rm container-builder + +.PHONY: build +build: + docker buildx build --load . -t $(IMAGE) + @docker buildx build --load . -t $(IMAGE_LATEST) + +.PHONY: push +push: + -make buildx-clear + @make buildx-context + docker buildx build --platform linux/amd64,linux/arm64 --push . -t $(IMAGE) + @docker buildx build --platform linux/amd64,linux/arm64 --push . -t $(IMAGE_LATEST) + +.PHONY: docker-release +docker-release: + @yq e ".services.minecraft.image = \"$(IMAGE)\"" -i docker-compose.yaml + @make push diff --git a/make/git.makefile b/make/git.makefile new file mode 100644 index 0000000..f80a243 --- /dev/null +++ b/make/git.makefile @@ -0,0 +1,5 @@ +.PHONY: git-release +git-release: + @git add . + @git commit -m "Automated release for version $(VERSION)" + @git tag $(VERSION) diff --git a/make/helm.makefile b/make/helm.makefile new file mode 100644 index 0000000..f603af4 --- /dev/null +++ b/make/helm.makefile @@ -0,0 +1,4 @@ +.PHONY: helm-release +helm-release: + @yq e ".version = \"$(shell cat VERSION)\"" -i helm/Chart.yaml + @yq e ".appVersion = \"$(shell cat VERSION)\"" -i helm/Chart.yaml diff --git a/make/kaniko.makefile b/make/kaniko.makefile new file mode 100644 index 0000000..e69de29 diff --git a/make/truenas.makefile b/make/truenas.makefile new file mode 100644 index 0000000..52feb62 --- /dev/null +++ b/make/truenas.makefile @@ -0,0 +1,5 @@ +.PHONY: chart-release +chart-release: + @rsync -av $(CHART)/helm/ charts/$(CHART)/$(shell cat $(CHART)/VERSION)/ + @git add charts/$(CHART) + @git commit -m "Automated release for chart $(CHART) version $(shell cat $(CHART)/VERSION)" -e