WIP forge-agnostic software release tracker https://earl.run/willow
Go to file
Amolith 887d89eacc
reuse compliance
2023-09-24 16:57:56 -04:00
.reuse initial sourcehut commit 2023-09-21 14:03:21 -04:00
LICENSES initial sourcehut commit 2023-09-21 14:03:21 -04:00
screenshots reuse compliance 2023-09-24 16:57:56 -04:00
static reuse compliance 2023-09-24 16:57:56 -04:00
.gitignore reuse compliance 2023-09-24 16:57:56 -04:00
README.md add screenshot and update readme 2023-09-24 16:54:29 -04:00
git.go reuse compliance 2023-09-24 16:57:56 -04:00
go.mod reuse compliance 2023-09-24 16:57:56 -04:00
go.sum initial sourcehut commit 2023-09-21 14:03:21 -04:00
go.sum.license reuse compliance 2023-09-24 16:57:56 -04:00
main.go reuse compliance 2023-09-24 16:57:56 -04:00
releases.go reuse compliance 2023-09-24 16:57:56 -04:00
rss.go reuse compliance 2023-09-24 16:57:56 -04:00
ws.go reuse compliance 2023-09-24 16:57:56 -04:00

README.md

Willow

Go report card status REUSE status Donate with fosspay

Software release tracker supporting arbitrary forges

screenshot of willow's current web UI

This UI is a minimal proof-of-concept, it's going to change drastically in the near future

What is it?

Willow tracks software releases across arbitrary forge platforms by trying to support one of the very few things they all have in common: the VCS. At the moment, git is the only supported VCS, but I would be interested in adding Pijul, Fossil, Mercurial, etc. You can also track releases using RSS feeds.

Willow exists because decentralisation can be annoying. One piece of software can be found on GitHub, another piece on GitLab, one on Bitbucket, a fourth on SourceHut, and a fifth on the developer's self-hosted Forgejo instance. Forgejo and GitHub have RSS feeds that only notify you of releases. GitLab doesn't support RSS feeds for anything, just an API you can poke. Some software updates might be on the developers' personal blog. Sometimes there are CVEs for specific software and they get published somewhere completely different before they're fixed in a release.

I want to bring all that scattered information under one roof so a developer or sysadmin can pop open willow's web UI and immediately see what needs updating where. I've recorded some of my other ideas and plans in my wiki.

Installation and use

  • Clone the repo
  • Build the binary with CGO_ENABLED=0 go build .
  • Upload it to a remote server
  • Execute the binary
  • Reverse proxy localhost:1337
  • Open the web UI
  • Click Track new project
  • Fill out the form
  • Indicate which version you're currently on
  • That's it!

Note that there's currently no authentication, so consider putting your instance behind HTTP Basic Auth, keeping it private, or helping me implement authentication.

Questions & Contributions

Questions, comments, and patches can always be sent to my public inbox, but I'm also in my IRC channel/XMPP room pretty much 24/7. However, I might not see messages right away because I'm working on something else (or sleeping) so please stick around!

If you're wanting to introduce a new feature and I don't feel like it fits with this project's goal, I encourage you to fork the repo and make whatever changes you like!

If you haven't used mailing lists before, please take a look at SourceHut's documentation, especially the etiquette section.