aboutsummaryrefslogtreecommitdiff
path: root/tools/govanity
diff options
context:
space:
mode:
Diffstat (limited to 'tools/govanity')
-rw-r--r--tools/govanity/Makefile7
-rw-r--r--tools/govanity/flake.nix10
-rwxr-xr-xtools/govanity/scripts/deploy.sh14
3 files changed, 25 insertions, 6 deletions
diff --git a/tools/govanity/Makefile b/tools/govanity/Makefile
index 9632386..6392551 100644
--- a/tools/govanity/Makefile
+++ b/tools/govanity/Makefile
@@ -5,7 +5,7 @@ DOCKER_IMAGE_REF := $(shell git rev-parse HEAD)
DOCKERFILE := Dockerfile
PROJECT_DIR := $(realpath $(CURDIR))
-.PHONY: deploy docker-build docker-run worktree-clean server
+.PHONY: docker-build docker-run worktree-clean server
server:
@echo "Running server ..."
@@ -15,11 +15,6 @@ worktree-clean:
git diff --exit-code
git diff --staged --exit-code
-deploy: worktree-clean docker-build
- @echo "Deploying to fly ..."
- flyctl deploy
- git tag -a --message $$(flyctl info -j |jq -r '.App | "\(.Name)/v\(.Version)"') $$(flyctl info -j |jq -r '.App | "\(.Name)/v\(.Version)"')
-
docker-build:
@echo "Building Docker image ..."
$(DOCKER) build $(DOCKER_BUILD_ARGS) \
diff --git a/tools/govanity/flake.nix b/tools/govanity/flake.nix
index 15b13d0..d2c2254 100644
--- a/tools/govanity/flake.nix
+++ b/tools/govanity/flake.nix
@@ -21,6 +21,16 @@
nativeBuildInputs = with pkgs; [ go ];
};
+ apps = {
+ deploy = pkgs.pkgs.writeShellScriptBin "run-deploy" ''
+ set -euxo pipefail
+ export PATH=${
+ pkgs.lib.makeBinPath [ pkgs.go pkgs.git pkgs.jq pkgs.flyctl ]
+ }:$PATH
+ bash ./scripts/deploy.sh
+ '';
+ };
+
devShell = with pkgs;
mkShell { nativeBuildInputs = [ git go gopls golangci-lint bash ]; };
});
diff --git a/tools/govanity/scripts/deploy.sh b/tools/govanity/scripts/deploy.sh
new file mode 100755
index 0000000..4f46b68
--- /dev/null
+++ b/tools/govanity/scripts/deploy.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+git diff --exit-code
+git diff --staged --exit-code
+
+flyctl deploy
+
+VERSION=$(flyctl info -j |jq -r '.App | "\(.Name)/v\(.Version)"')
+
+git tag -a --message ${VERSION} ${VERSION}
+git push origin --all
+git push origin --tags
+
+flyctl agent stop