Sponsoring
One good way to support the project is via sponsoring. If you find Gio useful, please consider sponsoring the project on OpenCollective or one or more of its developers directly.
Reporting Issues
Bugs or feature requests can be submitted through the issue tracker or send an email to ~eliasnaur/gio@todo.sr.ht.
Sending Patches
The primary development platform is sourcehut with the main repository here. Sourcehut is used due to a few reasons elaborated here. No Sourcehut account is required and you can post without being subscribed.
Patches should be sent to
~eliasnaur/gio-patches@lists.sr.ht
mailing list with the git send-email
command. See
git-send-email.io for a thorough setup guide.
If you have a sourcehut account, you can also fork the Gio repository, push your changes to that and use the web-based flow for emailing the patch. Start the process by clicking the “Prepare a patchset” button on the front page of your fork.
Style
Commit messages follow the Go project style: the first line is prefixed with the package and a short summary. The rest of the message provides context for the change and what it does. See an example.
Add Fixes: https://todo.sr.ht/~eliasnaur/gio/nnn
or References: https://todo.sr.ht/~eliasnaur/gio/nnn
(matching
the syntax described here)
if the change fixes or updates an existing issue.
Contributors must agree to the developer certificate of origin,
to ensure their work is compatible with the MIT license and the UNLICENSE.
Sign your commits with Signed-off-by statements to show your agreement.
The git commit --signoff
(or -s
) command signs a commit with your name
and email address.
Automated Tests
Patches with the project name “gio” in the subject will be picked up by the automatic testers at builds.sr.ht. A report with the testing results will be sent to you, CC’ed to the mailing list.
Github
If using sourcehut is problematic the project is mirrored on
Github and does accept pull-requests. However, signing the commits with --signoff
is still required.
git send-email setup
For a thorough setup guide see git-send-email.io.
With git send-email
configured, you can clone the project and set it up for submitting your changes:
git clone https://git.sr.ht/~eliasnaur/gio
cd gio
git config sendemail.to '~eliasnaur/gio-patches@lists.sr.ht'
git config sendemail.annotate yes
Include the project name in the mail subject:
git config format.subjectPrefix "PATCH gio"
If you’re contributing for a different project, replace “gio” with the repository name from https://sr.ht/~eliasnaur/gio/sources. For example, “giouiorg” is the repository for the gioui.org website.
Configure your name and email address if you have not done so already:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Whenever you want to submit your work for review, use git send-email
with the number of commit on the
current branch you want to send. For example, to submit the most recent commit use
git send-email -1
If you revise your patchset, add a version to the subject line with the -vX
flag:
git send-email -v2 -1