Current information about DDEV's sponsors and current needs.
The data here is accumulated from a few sources:
all-sponsorships.jsonis the summary of all DDEV sponsors, deployed via GitHub Pages at:- GitHub Sponsors data for the
ddevorganization is updated daily and automatically by thegithub-sponsorships.shscript here. - GitHub Sponsors data for the
rfayuser (goes into the same DDEV Foundation bank account) is updated daily and automatically by thegithub-sponsorships.shscript here. (A few sponsors started way back when we didn't have theddevorg and have never switched over.) - The
invoiced-sponsorships.jsoncandpaypal-sponsorships.jsoncare manually maintained here when generous donors sign up for these avenues.
The sponsorship data is available as a JSON file, which redirects to this repository's GitHub Pages at https://ddev.github.io/sponsorship-data/data/all-sponsorships.json
To provide sponsorship history (previously available via git history of all-sponsorships.json), each daily deployment now saves a snapshot of the data in data/history/YYYY-MM-DD.json.
These snapshots are committed to the history branch of this repository.
You can analyze sponsorship changes over time by checking out the history branch:
git fetch origin history
git checkout history
# Now data/history/ contains all snapshotsfor f in data/history/*.json; do
date=$(basename $f .json)
value=$(jq '.["total_monthly_average_income"]' < "$f")
echo "$date $value"
done | sortgit log --since="2 months ago" --format="%H %ad" --date=short --reverse -- data/all-sponsorships.json | while read commit date; do value=$(git show $commit:data/all-sponsorships.json | jq '.["total_monthly_average_income"]'); echo "$date $value"; done
Note: For recent history, use the new data/history/ snapshots in the history branch as described above.
To learn more about the DDEV Foundation and its funding, see DDEV Foundation.
See these resources:
Because this PR is on the main ddev/sponsorship-data repository and GitHub branch/environment protection rules prevent PR branches from deploying to GitHub Pages or pushing to protected branches, you cannot fully test the workflow end-to-end from a PR branch in this repository.
However, you can verify the workflow logic and steps as follows:
-
Review the Workflow Steps
- Confirm that the workflow includes steps to:
- Generate the sponsorship data.
- Save a dated snapshot to
data/history/YYYY-MM-DD.json. - Commit and push the snapshot to the
historybranch. - Deploy the latest data to GitHub Pages.
- Confirm that the workflow includes steps to:
-
Test Locally (Optional)
- You can run the relevant scripts locally to ensure they generate the expected files:
scripts/combine-sponsorships.sh mkdir -p data/history cp data/all-sponsorships.json data/history/$(date +%F).json - Check that
data/history/YYYY-MM-DD.jsonis created and valid.
- You can run the relevant scripts locally to ensure they generate the expected files:
-
Test in a Fork (Optional, for Full End-to-End)
- If you want to test the full workflow (including branch pushes and Pages deployment), fork the repository and follow these steps:
- Push your PR branch to your fork.
- Optionally, edit
.github/workflows/deploy-api.ymlin your fork to allow the workflow to run on your branch. - Push a commit to trigger the workflow.
- Verify that the workflow runs, updates the
historybranch, and deploys to GitHub Pages in your fork.
- If you want to test the full workflow (including branch pushes and Pages deployment), fork the repository and follow these steps:
Note:
Due to GitHub security restrictions, PR branches in the main repo cannot push to protected branches or deploy to protected environments. Full end-to-end testing is only possible in a fork or after merging to main.