TTime/Justfile

47 lines
1.6 KiB
Makefile
Raw Normal View History

2024-02-12 13:12:06 +01:00
# Builds a release container
[private]
build-container-release:
2024-02-12 16:38:58 +01:00
podman build -t ttime-server -f container/Containerfile .
2024-02-12 13:12:06 +01:00
# Builds a release container and runs it
start-release: build-container-release remove-podman-containers
2024-02-12 16:38:58 +01:00
podman run -d -e DATABASE_URL=sqlite:release.db -p 8080:8080 --name ttime ttime-server
2024-02-12 18:56:49 +01:00
@echo "Started production ttime-server on http://localhost:8080"
2024-02-12 13:12:06 +01:00
# Removes and stops any containers related to the project
[private]
remove-podman-containers:
podman container rm -fi ttime
2024-02-12 13:12:06 +01:00
# Saves the release container to a tarball, pigz is just gzip but multithreaded
save-release: build-container-release
podman save --format=oci-archive ttime-server | pigz -9 > ttime-server_`date -I`_`git rev-parse --short HEAD`.tar.gz
# Loads the release container from a tarball
load-release file:
podman load --input {{file}}
# Tests every part of the project
testall:
cd frontend && npm test
cd frontend && npm run lint
2024-03-06 15:44:18 +01:00
cd backend && make test
cd backend && make lint
2024-02-12 13:12:06 +01:00
# Cleans up everything related to the project
clean: remove-podman-containers
podman image rm -fi ttime-server
2024-02-12 13:12:06 +01:00
rm -rf frontend/dist
rm -rf frontend/node_modules
2024-02-12 19:09:21 +01:00
rm -f ttime-server.tar.gz
2024-02-12 13:12:06 +01:00
cd backend && make clean
@echo "Cleaned up!"
# Cleans up everything related to podman, not just the project. Make sure you understand what this means.
[confirm]
podman-clean:
podman system reset --force
2024-03-06 15:40:24 +01:00
install-linter:
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.56.2