Distribute Grain #151
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Distribute Grain | |
on: | |
# A new Cred interval every Sunday. We'll distribute Grain 5 minutes | |
# after the new interval | |
schedule: | |
- cron: 5 0 * * 0 # 00:05 UTC, 16:05 PST | |
push: | |
branches: | |
# allows us to test this workflow, or manually generate distributions | |
# PRSs created from grain-trigger-* branches are targeted | |
# on their immediate base branches, as opposed to master | |
- "grain-trigger-*" | |
jobs: | |
distribute-grain: | |
runs-on: ubuntu-latest | |
env: | |
NODE_OPTIONS: --max_old_space_size=14000 | |
steps: | |
- uses: actions/checkout@v4.1.7 | |
- name: Install Packages 🔧 | |
run: | | |
yarn --frozen-lockfile | |
- name: Load Data and Compute Cred 🧮 | |
run: yarn sourcecred go | |
env: | |
SOURCECRED_GITHUB_TOKEN: ${{ secrets.SOURCECRED_GITHUB_TOKEN }} | |
SOURCECRED_DISCORD_TOKEN: ${{ secrets.SOURCECRED_DISCORD_TOKEN }} | |
- name: Distribute Grain 💸 | |
run: yarn grain > grain_output.txt | |
- run: cat grain_output.txt | |
- name: Store all payoutAddresses in lower-case | |
run: node lower-case-payout-addresses.js | |
- name: Generate Gnosis CSVs | |
run: node generate-csv.js | |
- name: Set environment variables | |
id: pr_details | |
run: | | |
echo "PULL_REQUEST_TITLE=Scheduled grain distribution for week ending $(date +"%B %dth, %Y")" >> $GITHUB_ENV | |
description="This PR was auto-generated on $(date +%d-%m-%Y) \ | |
to add the latest grain distribution to our instance. | |
$(cat grain_output.txt)" | |
description="${description//'%'/'%25'}" | |
description="${description//$'\n'/'%0A'}" | |
description="${description//$'\r'/'%0D'}" | |
echo "::set-output name=pr_body::$description" | |
rm grain_output.txt | |
# To create a pull request, use this block: | |
- name: Create commit and PR for ledger changes | |
id: pr | |
uses: peter-evans/create-pull-request@v6.1.0 | |
with: | |
branch: generated-ledger | |
branch-suffix: timestamp | |
committer: credbot <credbot@users.noreply.github.com> | |
# author appears to be overridden when the default github action | |
# token is used for checkout | |
author: credbot <credbot@users.noreply.github.com> | |
commit-message: update calculated ledger | |
title: ${{ env.PULL_REQUEST_TITLE }} | |
body: ${{ steps.pr_details.outputs.pr_body }} | |
# To commit directly to the main branch, comment the above PR step, and uncomment these steps: | |
# - name: Commit ledger changes | |
# run: | | |
# git config user.name 'credbot' | |
# git config user.email 'credbot@users.noreply.github.com' | |
# git add data/ledger.json | |
# git add config | |
# git commit --allow-empty -m '${{ env.COMMIT_TITLE }}' -m '${{ steps.details.outputs.commit_body }}' | |
# - name: Push Ledger | |
# run: git push |