Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cawolf/rss-semantic-release-filter
Filters RSS feeds from GitHub project releases by semantic version levels and publishes it as a new RSS feed.
https://github.com/cawolf/rss-semantic-release-filter
feed filter release rss semantic-release semantic-versioning
Last synced: 19 days ago
JSON representation
Filters RSS feeds from GitHub project releases by semantic version levels and publishes it as a new RSS feed.
- Host: GitHub
- URL: https://github.com/cawolf/rss-semantic-release-filter
- Owner: cawolf
- License: mit
- Created: 2021-08-17T23:03:58.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-26T22:04:05.000Z (about 2 months ago)
- Last Synced: 2024-10-11T13:13:34.078Z (about 1 month ago)
- Topics: feed, filter, release, rss, semantic-release, semantic-versioning
- Language: Go
- Homepage:
- Size: 99.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
[![test](https://github.com/cawolf/rss-semantic-release-filter/actions/workflows/test.yml/badge.svg)](https://github.com/cawolf/rss-semantic-release-filter/actions/workflows/test.yml)
# rss-semantic-release-filter
This application filters RSS feeds from GitHub project releases by semantic version levels and publishes it as a new RSS feed for you to consume. This way, you can specify for each project, which releases you are interested in, instead of searching through all releases for relevant changes interesting to you.
## installation
You can either build a binary for your system from this source code or use a [docker image](https://github.com/cawolf/rss-semantic-release-filter/pkgs/container/rss-semantic-release-filter).
An example `docker-compose.yml` is provided in the repository.## usage
### create config.yaml
You need to configure the release feeds in a `config.yaml` file. Each feed needs a URL and a minimum semantic version level. A minimum configuration file looks like this:
```yaml
feeds:
- url: https://github.com/kubernetes/kubernetes/releases.atom
minimum_level: minor
```This example would find only the latest Kubernetes releases, which are `minor` or above.
### refresh feed data
With a configuration file in the same directory as the binary, you can refresh the feed data:
```shell
./rss-semantic-release-filter refresh
```This populates a local database with all matched feed items.
### generate filtered feed
When the local database was refreshed, you can serve your filtered feed:
```shell
./rss-semantic-release-filter feed
```This opens an HTTP server on port 1323, serving your feed at the root URL. You can now consume the feed:
```shell
curl localhost:1323
```