Skip to content

🌻 The Open Source app Petals aims to help its users to either quit weed, reduce usage or simply know how much they're using.

License

Notifications You must be signed in to change notification settings

LeoColman/Petals

Repository files navigation

Petals

License Unit Tests Lint Dependency Analysis Translation status GitHub Repo stars Gitmoji Git Secrets F-Droid GitHub Release IzzyOnDroid Release

Petals - An open source app to help users quit or control weed usage | Product Hunt ko-fi


The Open Source app Petals aims to help its users to either quit weed, reduce usage or simply know how much they're using.

Get it on GitHub Get it on F-Droid Get it on IzzyOnDroid Get it on Play Store

⚠️ The Google Play Store version contains advertisements

For an ad free experience download the app either from F-Droid or from the Releases Page.

Translations

Translations are hosted at Weblate. You can contribute to your language here

Translation status
Translation status

Screenshots

Open to see screenshots

More Screenshots

Building

You can assemble both debug and release versions of the app for different variants (F-Droid, Playstore, GitHub) using the corresponding Gradle tasks. Here's how to do that:

Debug Version

  • F-Droid: ./gradlew assembleFdroidDebug
  • PlayStore: ./gradlew assemblePlaystoreDebug
  • GitHub: ./gradlelw assembleGithubDebug

Release Version

For the release version, you must first decrypt secrets using git secret reveal. The release version can be assembled as follows:

  • F-Droid: ./gradlew assembleFdroidRelease
  • PlayStore: ./gradlew assemblePlaystoreRelease
  • GitHub: ./gradlew assembleGithubRelease

Git Secrets

The Keystore, Keystore Properties, and Google Play deploy json files are included in the repository using git secret. The current secret owners are:

  • Leonardo Colman Lopes

    • Fingerprint B3A5 9909 9ECC 4DB4 FD40 896F 7706 1922 C587 2792
    • Original Author
  • GitHub Actions

    • Fingerprint 882E 409C 71F4 565B 1698 B947 A992 5FF4 75B3 5E07
    • Auto-publishing signed app to GitHub
    • Expires on 2027-04-05
    • Available on environment secret GPG_KEY

Releasing

Release to all our channels is made automatically after a tag is released. The workflow responsible for doing this is release.main.kts.

Google Play Store

  1. Decrypt all git secrets
  2. Run ./gradlew bundlePlaystoreRelease
  3. Publish to playstore by running bundle config path vendor/bundle && bundle install --jobs 4 --retry 3 && bundle exec fastlane playstore

F-Droid

F-Droid builds automatically from the repository whenever a new tag is published. The definitions for how to build the app are in F-Droid's data repository. If modifications are required, the place to change is there.

Releases Page

  1. Decrypt all git secrets
  2. Run ./gradlew assembleGithubRelease