LibreSelery Template for Simple Github Action Integration
A project template that shows how to integrate LibreSelery into GitHub Action workflows, which allows to pay contributors in cryptocurrency.
- Press the "Use this Template" button to integrate LibreSelery into a new project or copy the
.github/actions/libreselery.yml
andselery.yml
into your existing project. - For running LibreSelery, a GitHub token is needed, which you can obtain easily through your GitHub settings (it does not need any scopes). Then add the private access token of your user as a secret with the name
PAT_SELERY
to your project settings. - Set
simulation: True
andinclude_dependencies: False
in yourselery.yml
for testing LibreSelery without a Libraries.io token or Coinbase tokens (if you have not created a wallet yet setperform_wallet_validation: False
). - Enable your Github Actions by pressing the Action tab on your project main page.
- For further testing, create some commits in your project. Verify that the user has a public email address in the GitHub profile. Push these commits to you master branch. LibreSelery should now run in simulation mode on your project. Check the Action logs for further information. Don't be surprised, the action will fail because no payout receipt can be generated in simulation mode.
You can even donate to your favorite open source projects on GitHub by forking them and integrating SeleryAction yourself - this way the original contributors can get funding. Afterwards, you should consider making a Pull Request to the original project.
- To support dependency scanning add the Libraries.io token to the GitHub secrets of your projects as
LIBRARIES_API_KEY
and setinclude_dependencies: True
in yourselery.yml
. - LibreSelery supports all dependency manifesto files that are supported by bibliothecary.
- Push the changes to your master branch and check how LibreSelery gathers contributors of your dependencies, which will be considered for payout.
Apart from the project dependencies, you might have tooling dependencies whose contributors you would like to consider in the payout. You can add manual dependencies in the tooling_repos.yml
.
- Add the tooling dependencies in the
tooling_repos.yml
file. - Set
include_tooling_and_runtime: True
in your `selery.yml.
- Buy a small amount of cryptocurrency with Coinbase. See the price list for transferring money to the Coinbase account. LibreSelery will require your Coinbase tokens. Configure the access control settings of the automated Coinbase account with the required permissions. Do not give the token more permissions than recommended.
- Never transfer or store large amounts in automated cryptocurrency wallets. Use recurring automated buys to recharge you wallet on a regular base.
- Add the token of Coinbase to your project secrets as
COINBASE_TOKEN
andCOINBASE_SECRET
. - Set the simulation parameter to
simulation: False
to enable payout. You should simulate the payout at least once before going live with the current setting. - Since LibreSelery is using your Wiki to store LibreSelery information like transaction history or QR code you need to create at least one page in your wiki so that Github creates another repository that is connected to the project. A successful run will push Action artifacts to the
libreselery
folder in the wiki. - Set the
perform_wallet_validation: True
andbitcoin_address: "<your Bitcoin Address>"
. You will find your addresses on the coinbase website here. Push the changes of the selery.yml to your master branch. - Check Action logs to see how LibreSelery is distributing investment into your project.
- See the transaction history of your wallet under
https://github.com/<your_namespace>/<your_project_name>.wiki.git/libreselery
and the donation website for your project underhttps://github.com/<your_namespace>/<your_project_name>/wiki/Donation
- Add a
FUNDING.yml
file to your project .github folder to create a Github Sponsor Button with LibreSelery. - In your wiki you will also find the static badges showing your wallet balance in EUR and BTC.