diff options
author | 赵智超 <1012112796@qq.com> | 2020-07-30 03:20:54 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-29 15:20:54 -0400 |
commit | 1f12dc8e8862da8546fd9d984abdc7f69dd95f11 (patch) | |
tree | c90da9326eb89dc57cf7e9625fe34542a88b41b4 /services | |
parent | 2fd78c151e0e49db113078095f1d9e8c7478e828 (diff) | |
download | gitea-1f12dc8e8862da8546fd9d984abdc7f69dd95f11.tar.gz gitea-1f12dc8e8862da8546fd9d984abdc7f69dd95f11.zip |
Add action feed for new release (#12324)
* Add action feed for new release
Signed-off-by: a1012112796 <1012112796@qq.com>
* fix lint
* Apply suggestions from code review
* Add ReleaseID to the action table
* Remove error message
* Fold the attachments download list
* remove attchment download list
* simplify code
* fix create release from existing tag
* simplify ui
* translation change
* fix test
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'services')
-rw-r--r-- | services/release/release.go | 13 | ||||
-rw-r--r-- | services/release/release_test.go | 6 |
2 files changed, 13 insertions, 6 deletions
diff --git a/services/release/release.go b/services/release/release.go index 64d132cd73..2fc3cb199b 100644 --- a/services/release/release.go +++ b/services/release/release.go @@ -95,8 +95,8 @@ func CreateRelease(gitRepo *git.Repository, rel *models.Release, attachmentUUIDs return nil } -// UpdateRelease updates information of a release. -func UpdateRelease(doer *models.User, gitRepo *git.Repository, rel *models.Release, attachmentUUIDs []string) (err error) { +// UpdateReleaseOrCreatReleaseFromTag updates information of a release or create release from tag. +func UpdateReleaseOrCreatReleaseFromTag(doer *models.User, gitRepo *git.Repository, rel *models.Release, attachmentUUIDs []string, isCreate bool) (err error) { if err = createTag(gitRepo, rel); err != nil { return err } @@ -110,7 +110,14 @@ func UpdateRelease(doer *models.User, gitRepo *git.Repository, rel *models.Relea log.Error("AddReleaseAttachments: %v", err) } - notification.NotifyUpdateRelease(doer, rel) + if !isCreate { + notification.NotifyUpdateRelease(doer, rel) + return + } + + if !rel.IsDraft { + notification.NotifyNewRelease(rel) + } return err } diff --git a/services/release/release_test.go b/services/release/release_test.go index d5673b73b8..f50fca71ec 100644 --- a/services/release/release_test.go +++ b/services/release/release_test.go @@ -131,7 +131,7 @@ func TestRelease_Update(t *testing.T) { releaseCreatedUnix := release.CreatedUnix time.Sleep(2 * time.Second) // sleep 2 seconds to ensure a different timestamp release.Note = "Changed note" - assert.NoError(t, UpdateRelease(user, gitRepo, release, nil)) + assert.NoError(t, UpdateReleaseOrCreatReleaseFromTag(user, gitRepo, release, nil, false)) release, err = models.GetReleaseByID(release.ID) assert.NoError(t, err) assert.Equal(t, int64(releaseCreatedUnix), int64(release.CreatedUnix)) @@ -153,7 +153,7 @@ func TestRelease_Update(t *testing.T) { releaseCreatedUnix = release.CreatedUnix time.Sleep(2 * time.Second) // sleep 2 seconds to ensure a different timestamp release.Title = "Changed title" - assert.NoError(t, UpdateRelease(user, gitRepo, release, nil)) + assert.NoError(t, UpdateReleaseOrCreatReleaseFromTag(user, gitRepo, release, nil, false)) release, err = models.GetReleaseByID(release.ID) assert.NoError(t, err) assert.Less(t, int64(releaseCreatedUnix), int64(release.CreatedUnix)) @@ -176,7 +176,7 @@ func TestRelease_Update(t *testing.T) { time.Sleep(2 * time.Second) // sleep 2 seconds to ensure a different timestamp release.Title = "Changed title" release.Note = "Changed note" - assert.NoError(t, UpdateRelease(user, gitRepo, release, nil)) + assert.NoError(t, UpdateReleaseOrCreatReleaseFromTag(user, gitRepo, release, nil, false)) release, err = models.GetReleaseByID(release.ID) assert.NoError(t, err) assert.Equal(t, int64(releaseCreatedUnix), int64(release.CreatedUnix)) |