Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,406 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Penny Penny

Penny is a Swift bot that works for the Vapor community.

Team Chat Tests CI Deploy Lambdas CI Deploy Penny CI Swift 6.3+

Features

  • Give coins to the members when they're "thanked".
  • Automatically ping members based on the ping-words they have set up.
    • Implemented as /auto-pings slash command.
  • Respond to certain command-texts with predefined answers.
    • Implemented as /faqs slash command.
  • Automatically respond to commonly asked questions.
    • Implemented as /auto-faqs slash command.
  • Automate SemVer releases and report on Discord.
  • Report GitHub PRs and Issues on Discord.
  • Report Swift evolution proposals on Discord.
  • Report Swift releases on Discord.
  • Report StackOverflow questions on Discord.
  • Connect members' Discord & GitHub accounts for better integrations.
  • Thank members when they contribute to Vapor repositories.
  • Manage sponsor/backer status of GitHub users.

Infrastructure

Penny's AWS infrastructure resources are managed via Terraform. This includes ECS, Lambdas, API Gateway, DynamoDB, S3, IAM, Secrets Manager. See infra/README.md for more info.

Automatic Releases

Penny detects usage of specific labels in PRs and tries to act accordingly and automatically tag a new release when an applicable PR is merged.

The related labels are:

  • semver-patch
  • semver-minor
  • semver-major
  • semver-noop
  • release
  • prerelease
  • no-release-needed

Some other notes:

  • semver-major and release are of limited use for automatic releases. Penny won't do a whole major release by itself since those are rare and they can be risky to do.
  • Use prerelease label in combination with another semver label like semver-patch to make sure Penny can correctly create a prerelease, when a prerelease is needed.
    • For example when you have a v5.0.0-alpha.1 release and want Penny to tag v5.0.0-alpha.2 next.
  • Try to use no-release-needed or semver-noop when no release is needed.

About

The code that runs Penny 🤖

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

26 stars

Watchers

11 watching

Forks

Sponsor this project

Used by

Contributors

Languages