#!/usr/bin/env nix
#!nix develop ``.#ci`` --command just --justfile
docker_registry := "registry.fly.io/alanpearce-eu"
docker-tag := env_var_or_default("DOCKER_TAG", `date -u +%Y%m%d%H%M%S` + "-" + `git rev-parse --short HEAD`)
listen_address := env_var_or_default("SERVER_LISTEN_ADDRESS", "::1")
port := env_var_or_default("SERVER_PORT", "8080")
website_repo := env_var_or_default("SOURCE", "../website")
default:
@just --list --justfile {{ justfile() }} --unsorted
clean:
rm -fr public
check-licenses:
go-licenses check ./...
check-links: (build "--compress=false")
hyperlink public --sources {{ website_repo }}
update-all:
nix flake update
go get -u all
build *BUILD_FLAGS:
templ generate
SOURCE={{ website_repo }} go run ./cmd/build {{ BUILD_FLAGS }}
dev:
systemfd -s http::{{ listen_address }}:{{ port }} -- modd
build-nix-package:
nix build .#build
ci: check-links build-nix-package
cd *DEPLOY_FLAGS: && (deploy DEPLOY_FLAGS)
fly auth docker
deploy *DEPLOY_FLAGS:
templ generate
fly deploy --image $(KO_DOCKER_REPO={{ docker_registry }} ko build --platform linux/amd64 --sbom none --bare --tags {{ docker-tag }} .) {{ DEPLOY_FLAGS }}
justfile (view raw)