Compare commits

..

4 Commits

Author SHA1 Message Date
AI-Manager f1e4b0c2ba Merge pull request 'chore: add go.sum and fix Dockerfile build (#203, #180)' (#209) from chore/add-go-sum-203 into master
Build and Push / test (push) Successful in 1m40s
Build and Push / build (push) Failing after 14s
2026-04-20 17:05:34 +00:00
AI-Manager fa63d56e43 Merge pull request 'fix: add pull_request trigger to CI workflow (#204)' (#207) from fix/ci-pull-request-trigger-204 into master
Build and Push / test (push) Successful in 2m42s
Build and Push / build (push) Failing after 13s
2026-04-20 17:05:20 +00:00
agent-company 674c75f5eb chore: add go.sum to version control and copy in Dockerfile
Add empty go.sum file (no external dependencies yet) and update the
Dockerfile build stage to COPY go.sum alongside go.mod for reproducible
module downloads. This ensures the Docker build does not fail when Go
requires go.sum to be present.

Closes leeworks-agents/gitea-mobile#203
Closes leeworks-agents/gitea-mobile#180

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 15:06:53 +00:00
agent-company 02a108a58e fix: add pull_request trigger to CI workflow so tests gate all PRs
Build and Push / test (pull_request) Successful in 3m33s
Build and Push / build (pull_request) Has been skipped
The CI workflow previously only triggered on push to master, meaning PRs
were not tested before merge. Add pull_request trigger for the test job
while restricting the Docker build+push job to push events only.

Closes leeworks-agents/gitea-mobile#204

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 15:04:58 +00:00
4 changed files with 8 additions and 35 deletions
+4
View File
@@ -4,6 +4,9 @@ on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
@@ -24,6 +27,7 @@ jobs:
build:
runs-on: ubuntu-latest
needs: test
if: gitea.event_name == 'push'
steps:
- uses: actions/checkout@v4
+1 -1
View File
@@ -1,7 +1,7 @@
# Stage 1: Build
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.mod ./
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /gitea-mobile ./cmd/server
+3 -34
View File
@@ -1,14 +1,10 @@
package main
import (
"context"
"log"
"log/slog"
"net/http"
"os"
"os/signal"
"syscall"
"time"
"gitea.leeworks.dev/0xwheatyz/gitea-mobile/internal/config"
giteaclient "gitea.leeworks.dev/0xwheatyz/gitea-mobile/internal/gitea"
@@ -40,35 +36,8 @@ func main() {
handler = middleware.Auth(cfg.SessionSecret, cfg.GiteaToken)(handler)
handler = middleware.Logging()(handler)
srv := &http.Server{
Addr: cfg.ListenAddr,
Handler: handler,
slog.Info("server starting", "addr", cfg.ListenAddr, "gitea_url", cfg.GiteaURL)
if err := http.ListenAndServe(cfg.ListenAddr, handler); err != nil {
log.Fatalf("server error: %v", err)
}
// Channel to receive shutdown signals.
quit := make(chan os.Signal, 1)
signal.Notify(quit, syscall.SIGTERM, syscall.SIGINT)
// Start server in a goroutine.
go func() {
slog.Info("server starting", "addr", cfg.ListenAddr, "gitea_url", cfg.GiteaURL)
if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Fatalf("server error: %v", err)
}
}()
// Block until a shutdown signal is received.
sig := <-quit
slog.Info("shutdown signal received, draining in-flight requests", "signal", sig.String())
// Give in-flight requests up to 15 seconds to complete.
ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second)
defer cancel()
if err := srv.Shutdown(ctx); err != nil {
slog.Error("server forced to shutdown", "error", err)
os.Exit(1)
}
slog.Info("server stopped gracefully")
}
View File