1
0
Fork
You've already forked willow
0
forked from Amolith/willow
WIP Forge-agnostic software release tracker
  • Go 82.1%
  • CSS 14.7%
  • Just 1.9%
  • Shell 1.3%
2024年11月14日 08:17:26 -07:00
.files add missing screenshots 2024年02月29日 15:52:49 -05:00
cmd Embed version info, display in CLI and web 2024年08月03日 16:30:11 -07:00
db Correct typo 2024年10月07日 11:45:12 -06:00
git Ignore non-error, remove redundant upsertReleases call 2024年10月01日 16:45:34 -06:00
LICENSES remove unused license 2023年12月31日 12:17:32 -05:00
project Ignore non-error, remove redundant upsertReleases call 2024年10月01日 16:45:34 -06:00
rss finish implementing authentication 2023年10月25日 20:16:36 -04:00
users finish implementing authentication 2023年10月25日 20:16:36 -04:00
ws Fix spacing in dashboard 2024年11月14日 08:17:26 -07:00
.air.toml Remove extra space 2024年10月01日 13:48:30 +01:00
.editorconfig Add prettier recipe and missing license info 2024年11月13日 19:01:05 -07:00
.gitignore Add prettier, format HTML/CSS 2024年11月13日 17:20:46 -07:00
.golangci.toml Upgrade Go version, deps to match 2024年06月22日 17:53:42 -04:00
.mailmap Add licence annotation to .mailmap 2024年03月26日 15:01:07 -04:00
.prettierignore Add prettier recipe and missing license info 2024年11月13日 19:01:05 -07:00
.prettierrc Add prettier, format HTML/CSS 2024年11月13日 17:20:46 -07:00
.prettierrc.license Add prettier recipe and missing license info 2024年11月13日 19:01:05 -07:00
build-all.sh Ignore non-error, remove redundant upsertReleases call 2024年10月01日 16:45:34 -06:00
CONTRIBUTING.md Add license header to CONTRIBUTING.md 2024年10月07日 11:39:05 -06:00
go.mod Upgrade Go version, deps to match 2024年06月22日 17:53:42 -04:00
go.sum Upgrade Go version, deps to match 2024年06月22日 17:53:42 -04:00
go.sum.license reuse compliance 2023年09月24日 16:57:56 -04:00
justfile Add prettier recipe and missing license info 2024年11月13日 19:01:05 -07:00
package-lock.json Add prettier, format HTML/CSS 2024年11月13日 17:20:46 -07:00
package-lock.json.license Add prettier recipe and missing license info 2024年11月13日 19:01:05 -07:00
package.json Add prettier, format HTML/CSS 2024年11月13日 17:20:46 -07:00
package.json.license Add prettier recipe and missing license info 2024年11月13日 19:01:05 -07:00
README.md Move badge links to README 2024年10月04日 12:56:54 -06:00
REUSE.toml Add copyright info to REUSE.toml 2024年07月08日 18:08:28 -04:00

Willow

Go report card status REUSE status Donate with fosspay

Forge-agnostic software release tracker

screenshot of willow's current web UI

This UI is Amolith's attempt at a balance between simple, pleasant, and functional. Amolith is not a UX professional and would very much welcome input from someone more knowledgeable!

What is it?

If you'd rather watch a short video, Amolith gave a 5-minute lightning talk on Willow at the 2023 Ubuntu Summit.

Willow helps developers, sysadmins, and homelabbers keep up with software releases across arbitrary forge platforms, including full-featured forges like GitHub, GitLab, or Forgejo as well as more minimal options like cgit or stagit.

It exists because decentralisation, as wonderful as it is, does have some pain points. One piece of software is on GitHub, another piece is on GitLab, one on Bitbucket, a fourth on SourceHut, a fifth on the developer's self-hosted Forgejo instance.

The capabilities of each platform can also differ, further complicating the space. For example, Forgejo and GitHub have APIs and RSS release feeds, SourceHut has an API and RSS feeds that notify you of all activity in the repo, GitLab only has an API, and there's no standard for discovering the capabilities of arbitrary git frontends like legit.

And then you have different pieces of information in different places; some developers might publish release announcements on their personal blog and some projects might release security advisories on an external platform prior to publishing a release.

All this important info is scattered all over the internet. Willow brings some order to that chaos by supporting both RSS and one of the very few things all the forges and frontends have in common: their Version Control System. At the moment, Git is the only supported VCS, but we're definitely interested in adding support for Pijul, Fossil, Mercurial, and potentially others.

Amolith (the creator) has recorded some of his other ideas, thoughts, and plans in his wiki.

Installation and use

Disclaimers:

  • Docker image coming soonTM
  • We consider the project alpha-quality. There will be bugs.
  • Amolith has tried to make the web UI accessible, but is unsure of its current usability.
  • The app is not localised yet and English is the only available language.
  • Help with any/all of the above is most welcome!

Installation

This assumes Willow will run on an always-on server, like a VPS.

  • Obtain the binary appropriate for your system from one of the release pages (they're all the same)
  • Make sure you're in the same folder as the binary when running the following commands
  • Mark the binary as executable with chmod +x willow
  • Execute the binary with ./willow
  • Edit the config with nano config.toml
  • Daemonise Willow using systemd, OpenRC, etc.
  • Reverse-proxy the web UI (defaults to localhost:1313) with Caddy, NGINX, etc.

Use

  • Create a user with ./willow -a <username>
  • Open the web UI (defaults to localhost:1313, but installation had you put a proxy in front)
  • Click Track new project
  • Fill out the form and press Next
  • Indicate which version you're currently on and press Track releases
  • You're now tracking that project's releases!

If you no longer use that project, click the Delete? link to remove it, and, if applicable, Willow's copy of its repo.

If you're no longer running the version Willow says you've selected, click the Modify? link to select a different version.

If there are projects where your selected version does not match what Willow thinks is latest, they'll show up at the top under the Outdated projects heading and have a link at the bottom of the card to View release notes. Clicking that link populates the right column with those release notes.

If there are projects where your selected version does match what Willow thinks is latest, they'll show up at the bottom under the Up-to-date projects heading.

Contributing

See CONTRIBUTING.md.