Commit Briefs
Bump version (tags/0.2.0)
Build CI in debug mode
Not building CI in release mode will speed up compilation and use less resources on the CI host. Building in release mode is also not needed currently anymore as no build artifacts are generated for download.
Add migrations to use with sqlx
Migrations are embedded into the binary and run on startup with `sqlx::migrate!()`.
Replace diesel with sqlx
This replaces the non-async Diesel with the async sqlx to allow for better performance through parallelising the insertion or updating of posts in the database. Migrations have not yet been implemented. Implements: https://todo.sr.ht/~witcher/rss-email/12 Implements: https://todo.sr.ht/~witcher/rss-email/3
Implement async fetching
This changeset implements fetching of RSS feeds asynchronously. It's still no perfect though: data from feeds is inserted into the database synchronously, and requests are temporarily paused while this happens (since we're doing blocking IO to the database). A potential solution to this is to have one thread that does the networking, and another which inserts into the DB, with something like an mpsc::channel to pass messages between them. This requires further refactor and can be done as a followup. It would also be great to re-use a single reqwest::Client, but that also requires further refactors. Despite imperfections, this patch still provides a noticeable speed bump; networking IO for one feed does not block others. References: https://todo.sr.ht/~witcher/rss-email/3
CI: Remove build artifacts
Build artifacts are now removed as diesel does not support dynamic linking. References: https://todo.sr.ht/~witcher/rss-email/11
CI: Remove step verifying signature of commit
This blocked patches from being built in CI.
Use RustTLS instead of native OpenSSL
Signed-off-by: jman <srht@city17.xyz>
Strip symbols on release builds + building docs
Enable stripping symbols with cargo by default on release builds. Build documentation with `scdoc` in CI.
Add man page (tags/0.1.0)
Always append URL to body of E-Mail
Closes: https://todo.sr.ht/~witcher/rss-email/7
TLS: Let lib handle TLS settings
This seems to work for Migadu as an SMTP server, but hasn't been tested with other SMTP servers (e.g. without any TLS at all). Closes: https://todo.sr.ht/~witcher/rss-email/8
Extract config and mailer modules
Closes: https://todo.sr.ht/~witcher/rss-email/9
