Compare commits
No commits in common. "b48434603125167faba7915c32ceae374dba512b" and "89ba0415f7f89803f54b5fb6c6f5bcbd99bd61da" have entirely different histories.
b484346031
...
89ba0415f7
5 changed files with 11 additions and 23 deletions
3
Justfile
3
Justfile
|
@ -23,13 +23,10 @@ load-release file:
|
||||||
|
|
||||||
# Tests every part of the project
|
# Tests every part of the project
|
||||||
testall:
|
testall:
|
||||||
cd frontend && npm install
|
|
||||||
cd frontend && npm test
|
cd frontend && npm test
|
||||||
cd frontend && npm run lint
|
cd frontend && npm run lint
|
||||||
cd frontend && npm run build
|
|
||||||
cd backend && make test
|
cd backend && make test
|
||||||
cd backend && make lint
|
cd backend && make lint
|
||||||
cd backend && make itest
|
|
||||||
|
|
||||||
# Cleans up everything related to the project
|
# Cleans up everything related to the project
|
||||||
clean: remove-podman-containers
|
clean: remove-podman-containers
|
||||||
|
|
3
Makefile
3
Makefile
|
@ -13,13 +13,10 @@ remove-podman-containers:
|
||||||
|
|
||||||
# Tests every part of the project
|
# Tests every part of the project
|
||||||
testall:
|
testall:
|
||||||
cd frontend && npm install
|
|
||||||
cd frontend && npm test
|
cd frontend && npm test
|
||||||
cd frontend && npm run lint
|
cd frontend && npm run lint
|
||||||
cd frontend && npm run build
|
|
||||||
cd backend && make test
|
cd backend && make test
|
||||||
cd backend && make lint
|
cd backend && make lint
|
||||||
cd backend && make itest
|
|
||||||
|
|
||||||
# Cleans up everything related to the project
|
# Cleans up everything related to the project
|
||||||
clean: remove-podman-containers
|
clean: remove-podman-containers
|
||||||
|
|
|
@ -8,19 +8,17 @@ GOGET = $(GOCMD) get
|
||||||
# SQLite database filename
|
# SQLite database filename
|
||||||
DB_FILE = db.sqlite3
|
DB_FILE = db.sqlite3
|
||||||
|
|
||||||
PROC_NAME = ttime_server
|
|
||||||
|
|
||||||
# Directory containing migration SQL scripts
|
# Directory containing migration SQL scripts
|
||||||
MIGRATIONS_DIR = internal/database/migrations
|
MIGRATIONS_DIR = internal/database/migrations
|
||||||
SAMPLE_DATA_DIR = internal/database/sample_data
|
SAMPLE_DATA_DIR = internal/database/sample_data
|
||||||
|
|
||||||
# Build target
|
# Build target
|
||||||
build:
|
build:
|
||||||
$(GOBUILD) -o bin/$(PROC_NAME) main.go
|
$(GOBUILD) -o bin/server main.go
|
||||||
|
|
||||||
# Run target
|
# Run target
|
||||||
run: build
|
run: build
|
||||||
./bin/$(PROC_NAME)
|
./bin/server
|
||||||
|
|
||||||
watch: build
|
watch: build
|
||||||
watchexec -c -w . -r make run
|
watchexec -c -w . -r make run
|
||||||
|
@ -39,16 +37,6 @@ clean:
|
||||||
test: db.sqlite3
|
test: db.sqlite3
|
||||||
$(GOTEST) ./... -count=1
|
$(GOTEST) ./... -count=1
|
||||||
|
|
||||||
# Integration test target
|
|
||||||
.PHONY: itest
|
|
||||||
itest:
|
|
||||||
pgrep $(PROC_NAME) && echo "Server already running" && exit 1 || true
|
|
||||||
make build
|
|
||||||
./bin/$(PROC_NAME) >/dev/null 2>&1 &
|
|
||||||
sleep 1 # Adjust if needed
|
|
||||||
python ../testing.py
|
|
||||||
pkill $(PROC_NAME)
|
|
||||||
|
|
||||||
# Get dependencies target
|
# Get dependencies target
|
||||||
deps:
|
deps:
|
||||||
$(GOGET) -v ./...
|
$(GOGET) -v ./...
|
||||||
|
|
|
@ -13,6 +13,7 @@ FROM docker.io/golang:alpine as go
|
||||||
RUN apk add gcompat
|
RUN apk add gcompat
|
||||||
RUN apk add gcc
|
RUN apk add gcc
|
||||||
RUN apk add musl-dev
|
RUN apk add musl-dev
|
||||||
|
RUN apk add make
|
||||||
RUN apk add sqlite
|
RUN apk add sqlite
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
ADD backend/go.mod backend/go.sum ./
|
ADD backend/go.mod backend/go.sum ./
|
||||||
|
@ -23,7 +24,9 @@ RUN go mod download
|
||||||
# Add the source code
|
# Add the source code
|
||||||
ADD backend .
|
ADD backend .
|
||||||
|
|
||||||
RUN go build -o server
|
RUN make migrate
|
||||||
|
|
||||||
|
# RUN go build -o server
|
||||||
RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -o ./server ./main.go
|
RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -o ./server ./main.go
|
||||||
|
|
||||||
# Strip the binary for a smaller image
|
# Strip the binary for a smaller image
|
||||||
|
@ -34,7 +37,6 @@ FROM docker.io/alpine:latest as runner
|
||||||
RUN adduser -D nonroot
|
RUN adduser -D nonroot
|
||||||
RUN addgroup nonroot nonroot
|
RUN addgroup nonroot nonroot
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN chown nonroot:nonroot /app
|
|
||||||
|
|
||||||
# Copy the frontend SPA build into public
|
# Copy the frontend SPA build into public
|
||||||
COPY --from=client /build/dist static
|
COPY --from=client /build/dist static
|
||||||
|
@ -42,6 +44,9 @@ COPY --from=client /build/dist static
|
||||||
# Copy the server binary
|
# Copy the server binary
|
||||||
COPY --from=go /build/server server
|
COPY --from=go /build/server server
|
||||||
|
|
||||||
|
# Copy the database
|
||||||
|
COPY --from=go /build/db.sqlite3 db.sqlite3
|
||||||
|
|
||||||
# Expose port 8080
|
# Expose port 8080
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,8 @@ export default function NewWeeklyReport(): JSX.Element {
|
||||||
type="week"
|
type="week"
|
||||||
placeholder="Week"
|
placeholder="Week"
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
setWeek(parseInt(e.target.value));
|
const weekNumber = parseInt(e.target.value.split("-W")[1]);
|
||||||
|
setWeek(weekNumber);
|
||||||
}}
|
}}
|
||||||
onKeyDown={(event) => {
|
onKeyDown={(event) => {
|
||||||
const keyValue = event.key;
|
const keyValue = event.key;
|
||||||
|
|
Loading…
Reference in a new issue