From f1ff8fb8069d5a55dd280791b747e0622b07cf41 Mon Sep 17 00:00:00 2001 From: Anton Bracke Date: Sat, 1 Jan 2022 14:05:23 +0100 Subject: [PATCH 1/8] show yml config of build in UI --- server/api/build.go | 24 +++ server/router/api.go | 1 + web/src/components/repo/build/BuildProcs.vue | 2 +- web/src/lib/api/index.ts | 19 +- web/src/lib/api/types/buildConfig.ts | 6 + web/src/lib/api/types/index.ts | 1 + web/src/router.ts | 19 +- web/src/views/repo/build/Build.vue | 113 +++++++++++ web/src/views/repo/build/BuildConfig.vue | 59 ++++++ .../{RepoBuild.vue => build/BuildWrapper.vue} | 175 ++++++++---------- 10 files changed, 315 insertions(+), 104 deletions(-) create mode 100644 web/src/lib/api/types/buildConfig.ts create mode 100644 web/src/views/repo/build/Build.vue create mode 100644 web/src/views/repo/build/BuildConfig.vue rename web/src/views/repo/{RepoBuild.vue => build/BuildWrapper.vue} (58%) diff --git a/server/api/build.go b/server/api/build.go index 082005a782..ed6a744e88 100644 --- a/server/api/build.go +++ b/server/api/build.go @@ -180,6 +180,30 @@ func GetProcLogs(c *gin.Context) { } } +func GetBuildConfig(c *gin.Context) { + _store := store.FromContext(c) + repo := session.Repo(c) + num, err := strconv.ParseInt(c.Param("number"), 10, 64) + if err != nil { + _ = c.AbortWithError(http.StatusBadRequest, err) + return + } + + build, err := _store.GetBuildNumber(repo, num) + if err != nil { + _ = c.AbortWithError(http.StatusInternalServerError, err) + return + } + + configs, err := server.Config.Storage.Config.ConfigsForBuild(build.ID) + if err != nil { + c.String(http.StatusInternalServerError, err.Error()) + return + } + + c.JSON(http.StatusOK, configs) +} + // DeleteBuild cancels a build func DeleteBuild(c *gin.Context) { _store := store.FromContext(c) diff --git a/server/router/api.go b/server/router/api.go index e88c0a551d..a41500cfed 100644 --- a/server/router/api.go +++ b/server/router/api.go @@ -61,6 +61,7 @@ func apiRoutes(e *gin.Engine) { repo.GET("/builds", api.GetBuilds) repo.GET("/builds/:number", api.GetBuild) + repo.GET("/builds/:number/config", api.GetBuildConfig) // requires push permissions repo.POST("/builds/:number", session.MustPush, api.PostBuild) diff --git a/web/src/components/repo/build/BuildProcs.vue b/web/src/components/repo/build/BuildProcs.vue index cd1fb22daa..8d3e54806f 100644 --- a/web/src/components/repo/build/BuildProcs.vue +++ b/web/src/components/repo/build/BuildProcs.vue @@ -1,5 +1,5 @@