Tool used to create releases onto Gitea. Can delete tags and releases, create standard releases, continuous releases, and can upload artifacts from your repo.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
grumbulon 43f49476d7
continuous-integration/drone/push Build is passing Details
Variable changes, flag changes, etc etc
2 years ago
docs Added delete tag and full flag for deletes to delete release _and_ tags. Changed tag from flag to arg. Doc updates 2 years ago
.drone.yml Removed release step from drone.yml 2 years ago
.gitignore Variable changes, flag changes, etc etc 2 years ago
gitea.go Variable changes, flag changes, etc etc 2 years ago
go.mod Initial commit 2 years ago
go.sum Initial commit 2 years ago
main.go Variable changes, flag changes, etc etc 2 years ago
readme.md Added delete tag and full flag for deletes to delete release _and_ tags. Changed tag from flag to arg. Doc updates 2 years ago

readme.md

Gitea release tool

This tool is meant to remove the need to log into the Gitea website to create releases, and upload artifacts.

Building the tool

  • Clone the repo

  • Run go build -o upload

  • If you need a statically linked binary, like for example this is being used in some specific docker containers you can compile it this way CGO_ENABLED=0 go build -tags netgo -o upload

To use it just run it as ./upload -h or --help for full output of the commands. More verbose instructions with examples can be found here

Todo

Done

  • Write function to upload code artifacts
  • when running the program and passing all the params body, draft, name, prerelease, and etc it will fail when the boolean values are passed because the current error checking for if the string values are empty is flawed. To workaround this just omit the boolean values when running the program.
  • when running the --help command the error checking logs a failure to stdout because reasons (bad code)
  • Generalize the tool to be used for more than just pushing releases
    • Add cli commands to route requests and make the current commands sub commands, i.e. desire to delete old releases for continuous releases. Sub commands will also make it possible to not force basically all commands to be marked as required
    • Add flag to rm all so tags are deleted along with releases.
  • Refactor code, it all lives in a single file and it's getting pretty uglee.
  • Add continuous release tag
  • Make uploading artifacts understand multiple items (slice of strings vs single string implementation)
  • This one may not necessarily be an issue but, when deleting a release by tag the tag itself is also not deleted. This may be a desirable function, so I may add a force or rm -a (all) flag in the future.

Known issues