Compare commits
6 commits
89ba0415f7
...
b484346031
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b484346031 | ||
![]() |
ed88220a47 | ||
![]() |
d4547e997c | ||
![]() |
a6d7ee2de6 | ||
![]() |
1974607fc7 | ||
![]() |
63fd2e9b6f |
5 changed files with 23 additions and 11 deletions
3
Justfile
3
Justfile
|
@ -23,10 +23,13 @@ load-release file:
|
|||
|
||||
# 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
|
||||
|
|
3
Makefile
3
Makefile
|
@ -13,10 +13,13 @@ remove-podman-containers:
|
|||
|
||||
# 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
|
||||
|
|
|
@ -8,17 +8,19 @@ GOGET = $(GOCMD) get
|
|||
# SQLite database filename
|
||||
DB_FILE = db.sqlite3
|
||||
|
||||
PROC_NAME = ttime_server
|
||||
|
||||
# Directory containing migration SQL scripts
|
||||
MIGRATIONS_DIR = internal/database/migrations
|
||||
SAMPLE_DATA_DIR = internal/database/sample_data
|
||||
|
||||
# Build target
|
||||
build:
|
||||
$(GOBUILD) -o bin/server main.go
|
||||
$(GOBUILD) -o bin/$(PROC_NAME) main.go
|
||||
|
||||
# Run target
|
||||
run: build
|
||||
./bin/server
|
||||
./bin/$(PROC_NAME)
|
||||
|
||||
watch: build
|
||||
watchexec -c -w . -r make run
|
||||
|
@ -37,6 +39,16 @@ clean:
|
|||
test: db.sqlite3
|
||||
$(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
|
||||
deps:
|
||||
$(GOGET) -v ./...
|
||||
|
|
|
@ -13,7 +13,6 @@ FROM docker.io/golang:alpine as go
|
|||
RUN apk add gcompat
|
||||
RUN apk add gcc
|
||||
RUN apk add musl-dev
|
||||
RUN apk add make
|
||||
RUN apk add sqlite
|
||||
WORKDIR /build
|
||||
ADD backend/go.mod backend/go.sum ./
|
||||
|
@ -24,9 +23,7 @@ RUN go mod download
|
|||
# Add the source code
|
||||
ADD backend .
|
||||
|
||||
RUN make migrate
|
||||
|
||||
# RUN go build -o server
|
||||
RUN go build -o server
|
||||
RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -o ./server ./main.go
|
||||
|
||||
# Strip the binary for a smaller image
|
||||
|
@ -37,6 +34,7 @@ FROM docker.io/alpine:latest as runner
|
|||
RUN adduser -D nonroot
|
||||
RUN addgroup nonroot nonroot
|
||||
WORKDIR /app
|
||||
RUN chown nonroot:nonroot /app
|
||||
|
||||
# Copy the frontend SPA build into public
|
||||
COPY --from=client /build/dist static
|
||||
|
@ -44,9 +42,6 @@ COPY --from=client /build/dist static
|
|||
# Copy the server binary
|
||||
COPY --from=go /build/server server
|
||||
|
||||
# Copy the database
|
||||
COPY --from=go /build/db.sqlite3 db.sqlite3
|
||||
|
||||
# Expose port 8080
|
||||
EXPOSE 8080
|
||||
|
||||
|
|
|
@ -60,8 +60,7 @@ export default function NewWeeklyReport(): JSX.Element {
|
|||
type="week"
|
||||
placeholder="Week"
|
||||
onChange={(e) => {
|
||||
const weekNumber = parseInt(e.target.value.split("-W")[1]);
|
||||
setWeek(weekNumber);
|
||||
setWeek(parseInt(e.target.value));
|
||||
}}
|
||||
onKeyDown={(event) => {
|
||||
const keyValue = event.key;
|
||||
|
|
Loading…
Reference in a new issue