Compare commits

..

No commits in common. '489f83257d084a09e2e9ff933430550b7a9454d6' and 'da7d4a02be73d991d2ce9b6af197d60b67a8b5bd' have entirely different histories.

@ -5,6 +5,7 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"os" "os"
"path"
"path/filepath" "path/filepath"
"strconv" "strconv"
"strings" "strings"
@ -52,7 +53,7 @@ func main() {
owner := ctx.RepositoryOwner owner := ctx.RepositoryOwner
repo := strings.Split(ctx.Repository, "/")[1] repo := strings.Split(ctx.Repository, "/")[1]
rel, err := createOrGetRelease(ctx, c, owner, repo, gitea.CreateReleaseOption{ rel, err := createRelease(ctx, c, owner, repo, gitea.CreateReleaseOption{
TagName: ctx.RefName, TagName: ctx.RefName,
IsDraft: draft, IsDraft: draft,
IsPrerelease: preRelease, IsPrerelease: preRelease,
@ -129,22 +130,13 @@ func getFiles(parentDir, files string) ([]string, error) {
return fileList, nil return fileList, nil
} }
func createOrGetRelease(ctx *gha.GitHubContext, c *gitea.Client, owner, repo string, opts gitea.CreateReleaseOption) (*gitea.Release, error) { func createRelease(ctx *gha.GitHubContext, c *gitea.Client, owner, repo string, opts gitea.CreateReleaseOption) (*gitea.Release, error) {
// Get the release by tag
release, resp, err := c.GetReleaseByTag(owner, repo, opts.TagName)
if err == nil {
return release, nil
}
errMessage := fmt.Errorf("failed to get release for tag: %s with error: %w", opts.TagName, err)
if resp.StatusCode != 404 {
return nil, errMessage
}
fmt.Printf("%s trying to create it\n", errMessage)
// Create the release // Create the release
release, _, err = c.CreateRelease(owner, repo, opts) release, _, err := c.CreateRelease(owner, repo, opts)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to create release: %w and %s", err, errMessage) return nil, fmt.Errorf("failed to create release: %w", err)
} }
return release, nil return release, nil
} }
@ -161,7 +153,7 @@ func uploadFiles(ctx *gha.GitHubContext, c *gitea.Client, owner, repo string, re
} }
for _, attachment := range attachments { for _, attachment := range attachments {
if attachment.Name == filepath.Base(file) { if attachment.Name == path.Base(file) {
if _, err := c.DeleteReleaseAttachment(owner, repo, releaseID, attachment.ID); err != nil { if _, err := c.DeleteReleaseAttachment(owner, repo, releaseID, attachment.ID); err != nil {
f.Close() f.Close()
return fmt.Errorf("failed to delete release attachment %s: %w", file, err) return fmt.Errorf("failed to delete release attachment %s: %w", file, err)
@ -171,7 +163,7 @@ func uploadFiles(ctx *gha.GitHubContext, c *gitea.Client, owner, repo string, re
} }
} }
if _, _, err = c.CreateReleaseAttachment(owner, repo, releaseID, f, filepath.Base(file)); err != nil { if _, _, err = c.CreateReleaseAttachment(owner, repo, releaseID, f, path.Base(file)); err != nil {
f.Close() f.Close()
return fmt.Errorf("failed to upload release attachment %s: %w", file, err) return fmt.Errorf("failed to upload release attachment %s: %w", file, err)
} }

Loading…
Cancel
Save