Skip to content
Clojure+AWS based News Bot
Branch: master
Clone or download
Latest commit e2fd899 Jun 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea - uploaded as AWS Lambda at `ap-southeast-1`; Jun 5, 2019
doc
logo new logo Jun 13, 2019
resources - uploaded as AWS Lambda at `ap-southeast-1`; Jun 5, 2019
src/news_bot C++ support in Clang monitoring Jun 21, 2019
terraform Some Terraform experiments Jun 14, 2019
test C++ support in Clang monitoring Jun 21, 2019
.gitignore Typos in README Jun 14, 2019
CHANGELOG.md SO data source Apr 30, 2019
LICENSE SO data source Apr 30, 2019
README.md CMake news publisher is ready Jun 15, 2019
docker-compose.yml docker-compose instead of manual Docker command Jun 3, 2019
news-bot.iml C++ support in Clang monitoring Jun 21, 2019
project.clj BOOST parsing issue Jun 15, 2019

README.md

This is C++ News Bot which is able to collect news from multiple data sources like:

  • Best of day/week/month/year StackOverflow question;
  • ACCU Overload journals update;
  • BOOST library updates;
  • CMake releases.

News Bot will support some extra data sources soon:

  • OpenSSL updates;
  • libCURL updates;
  • Starred items from awesome-cpp.

Compiling

The News Bot is AWS Lambda hosted application and JVM 8 is mandatory for AWS execution. News Bot must be compiled with JVM 8, otherwise AWS Lambda will fail on startup inside nio.

Compile uberjar:

lein uberjar

Upload

Upload new version:

aws s3 cp .\target\uberjar\news-bot.jar s3://cpp-news-bot-singapore

Refresh AWS Lambda:

aws lambda update-function-code --function-name cpp-news-bot-ap-southeast-1 --region ap-southeast-1 --s3-bucket cpp-news-bot-singapore --s3-key news-bot.jar

Run AWS Lambda function once:

aws lambda invoke --invocation-type RequestResponse --function-name cpp-news-bot-ap-southeast-1 --region ap-southeast-1 --log-type Tail --payload '{}' outfile.txt

NOTE: Terraform support is under construction.

Testing

Some pre-configuration is required for local tests execution:

  • _twitter.edn file should contain Twitter credentials as EDN record:
{:AppKey "_APP_KEY_",
 :AppSecret "_APP_SECRET_",
 :UserToken "_USER_TOKEN_",
 :UserTokenSecret "_USER_TOKEN_SECRET_"}
  • LocalStack should be available as Docker image localstack/localstack.
docker-compose up
  • Use Cloverage tool for coverage report generation:
 lein cloverage
You can’t perform that action at this time.