Version bump
This commit is contained in:
parent
b0b5c3bd08
commit
3915f7ce4d
@ -16,6 +16,7 @@ WORKDIR /app
|
||||
|
||||
COPY --from=build /out/archi-folio /usr/local/bin/archi-folio
|
||||
COPY --chown=nonroot:nonroot web ./web
|
||||
COPY --chown=nonroot:nonroot VERSION ./VERSION
|
||||
COPY --chown=nonroot:nonroot data/uploads/.gitkeep ./data/uploads/.gitkeep
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
@ -17,6 +17,10 @@ func main() {
|
||||
if err := loadDotEnv(".env"); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
version, err := readVersion("VERSION")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
cfg := app.Config{
|
||||
Addr: requiredEnv("ADDR"),
|
||||
@ -25,6 +29,7 @@ func main() {
|
||||
AdminUsername: requiredEnv("ADMIN_USERNAME"),
|
||||
AdminPassword: requiredEnv("ADMIN_PASSWORD"),
|
||||
UploadDir: requiredEnv("UPLOAD_DIR"),
|
||||
Version: version,
|
||||
}
|
||||
|
||||
db, err := store.Open(cfg.DatabasePath)
|
||||
@ -94,3 +99,15 @@ func requiredEnv(key string) string {
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
func readVersion(path string) (string, error) {
|
||||
data, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
version := strings.TrimSpace(string(data))
|
||||
if version == "" {
|
||||
return "", fmt.Errorf("%s is empty", path)
|
||||
}
|
||||
return version, nil
|
||||
}
|
||||
|
||||
@ -35,6 +35,7 @@ type Config struct {
|
||||
AdminUsername string
|
||||
AdminPassword string
|
||||
UploadDir string
|
||||
Version string
|
||||
}
|
||||
|
||||
type Server struct {
|
||||
@ -56,6 +57,7 @@ type pageData struct {
|
||||
Error string
|
||||
Success string
|
||||
CurrentPath string
|
||||
Version string
|
||||
}
|
||||
|
||||
func New(cfg Config, st *store.Store) (*Server, error) {
|
||||
@ -493,7 +495,7 @@ func (s *Server) adminData(r *http.Request, tab string) (pageData, error) {
|
||||
if err != nil {
|
||||
return pageData{}, err
|
||||
}
|
||||
data := pageData{Title: "Admin", Admin: true, AdminTab: tab, Content: content, Success: r.URL.Query().Get("ok"), Error: r.URL.Query().Get("err")}
|
||||
data := pageData{Title: "Admin", Admin: true, AdminTab: tab, Content: content, Success: r.URL.Query().Get("ok"), Error: r.URL.Query().Get("err"), Version: s.cfg.Version}
|
||||
if tab == "projects" {
|
||||
projects, err := s.store.Projects(r.Context(), false)
|
||||
if err != nil {
|
||||
|
||||
@ -32,6 +32,7 @@ func newTestServer(t *testing.T) *Server {
|
||||
AdminUsername: "admin",
|
||||
AdminPassword: "changeme",
|
||||
UploadDir: filepath.Join(dir, "uploads"),
|
||||
Version: "test-version",
|
||||
}, st)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@ -119,7 +120,7 @@ func TestAdminTabs(t *testing.T) {
|
||||
t.Fatalf("%s returned %d", test.path, rec.Code)
|
||||
}
|
||||
body, _ := io.ReadAll(rec.Result().Body)
|
||||
if !strings.Contains(string(body), test.want) || !strings.Contains(string(body), "<!doctype html>") {
|
||||
if !strings.Contains(string(body), test.want) || !strings.Contains(string(body), "<!doctype html>") || !strings.Contains(string(body), "Version test-version") {
|
||||
t.Fatalf("%s did not render full tab page: %s", test.path, body)
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,6 +22,9 @@
|
||||
{{define "admin_shell_end"}}
|
||||
</section>
|
||||
</main>
|
||||
<footer class="mx-auto max-w-7xl px-5 pb-8 text-xs text-neutral-500 md:px-8">
|
||||
<p>Version {{.Version}}</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
{{end}}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user