# Builds a release container build-container-release: podman build -t ttime-server -f container/Containerfile . # Builds a release container and runs it start-release: build-container-release remove-podman-containers podman run -d -e DATABASE_URL=sqlite:release.db -p 8080:8080 --name ttime ttime-server @echo "Started production ttime-server on http://localhost:8080" # Removes and stops any containers related to the project remove-podman-containers: podman container rm -fi ttime # Tests every part of the project testall: cd frontend && npm install cd frontend && npm test cd frontend && npm run lint cd frontend && npm run build cd backend && make test cd backend && make lint cd backend && make itest # Cleans up everything related to the project clean: remove-podman-containers podman image rm -fi ttime-server rm -rf frontend/dist rm -rf frontend/node_modules rm -f ttime-server.tar.gz cd backend && make clean @echo "Cleaned up!" .PHONY: itest itest: python testing.py # Cleans up everything related to podman, not just the project. Make sure you understand what this means. podman-clean: podman system reset --force # Installs the linter, which is not included in the ubuntu repo install-linter: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.56.2 # This installs just, a make alternative, which is slightly more ergonomic to use install-just: @echo "Installing just" @curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin