2.1 KiB
Forgejo Contributor Guide
The Forgejo project is run by a community of people who are expected to follow this guide when cooperating on a simple bug fix as well as when changing the governance. For more information about the project, take a look at the documentation explaining what Forgejo provides.
Sensitive security-related issues should be reported to security@forgejo.org using encryption.
You can find links to the different aspects of Developer documentation on this page: Forgejo Contributor Guide.
For developers
Consider the below an appendix to the valuable official Forgejo Contributor Guide.
For any development work, it's recommended to use the devcontainer.
Building
Build a single image for multiple architectures:
-
Setup: (do this once)
docker buildx create --name mybuilder --use docker buildx inspect --bootstrap docker run --privileged --rm tonistiigi/binfmt --install all
-
Build:
docker buildx build --platform linux/amd64,linux/arm64 -t user/repo:tag --push .
Replace the tag. You can add more architectures, if you wish.
For non-Docker builds, use the official instructions.
Live reload
Live reload make it easy to view changes.
TAGS='sqlite sqlite_unlock_notify' make watch
It's still recommended to restart whenever it's convenient, or making a bigger change.
Merge
Merging changes from vanilla.
Make sure you checked out the branch to merge to.
-
Add the upstream repository, if you haven't already:
git remote add upstream https://codeberg.org/forgejo/forgejo.git
-
Fetch changes: (note:
--no-tags
is necessary)git fetch --no-tags upstream
-
Merge the changes into the fork:
git merge upstream/$BRANCH
Tag a release
git tag $TAG
git push origin tag $TAG