mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-07-04 04:56:02 +00:00
Merge pull request #1889 from mjwwit/master
Remove /refs/tags or /refs/heads from Gogs remote File() when using build.Ref
This commit is contained in:
commit
43fbbe4fab
|
@ -30,12 +30,13 @@ func getRepo(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getRepoFile(c *gin.Context) {
|
func getRepoFile(c *gin.Context) {
|
||||||
switch c.Param("file") {
|
if c.Param("file") == "file_not_found" {
|
||||||
case "file_not_found":
|
|
||||||
c.String(404, "")
|
c.String(404, "")
|
||||||
default:
|
}
|
||||||
|
if c.Param("commit") == "v1.0.0" || c.Param("commit") == "9ecad50" {
|
||||||
c.String(200, repoFilePayload)
|
c.String(200, repoFilePayload)
|
||||||
}
|
}
|
||||||
|
c.String(404, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
func createRepoHook(c *gin.Context) {
|
func createRepoHook(c *gin.Context) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/drone/drone/model"
|
"github.com/drone/drone/model"
|
||||||
"github.com/drone/drone/remote"
|
"github.com/drone/drone/remote"
|
||||||
|
@ -176,7 +177,14 @@ func (c *client) File(u *model.User, r *model.Repo, b *model.Build, f string) ([
|
||||||
client := c.newClientToken(u.Token)
|
client := c.newClientToken(u.Token)
|
||||||
buildRef := b.Commit
|
buildRef := b.Commit
|
||||||
if buildRef == "" {
|
if buildRef == "" {
|
||||||
buildRef = b.Ref
|
// Remove refs/tags or refs/heads, Gogs needs a short ref
|
||||||
|
buildRef = strings.TrimPrefix(
|
||||||
|
strings.TrimPrefix(
|
||||||
|
b.Ref,
|
||||||
|
"refs/heads/",
|
||||||
|
),
|
||||||
|
"refs/tags/",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
cfg, err := client.GetFile(r.Owner, r.Name, buildRef, f)
|
cfg, err := client.GetFile(r.Owner, r.Name, buildRef, f)
|
||||||
return cfg, err
|
return cfg, err
|
||||||
|
|
|
@ -128,6 +128,12 @@ func Test_gogs(t *testing.T) {
|
||||||
g.Assert(string(raw)).Equal("{ platform: linux/amd64 }")
|
g.Assert(string(raw)).Equal("{ platform: linux/amd64 }")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
g.It("Should return a repository file from a ref", func() {
|
||||||
|
raw, err := c.File(fakeUser, fakeRepo, fakeBuildWithRef, ".drone.yml")
|
||||||
|
g.Assert(err == nil).IsTrue()
|
||||||
|
g.Assert(string(raw)).Equal("{ platform: linux/amd64 }")
|
||||||
|
})
|
||||||
|
|
||||||
g.Describe("Given an authentication request", func() {
|
g.Describe("Given an authentication request", func() {
|
||||||
g.It("Should redirect to login form")
|
g.It("Should redirect to login form")
|
||||||
g.It("Should create an access token")
|
g.It("Should create an access token")
|
||||||
|
@ -178,4 +184,8 @@ var (
|
||||||
fakeBuild = &model.Build{
|
fakeBuild = &model.Build{
|
||||||
Commit: "9ecad50",
|
Commit: "9ecad50",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fakeBuildWithRef = &model.Build{
|
||||||
|
Ref: "refs/tags/v1.0.0",
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue