- The current query is not incorrect or has a inherent performance
problem, but MariaDB choses a very wrong query plan for the
`action_run_job`, `IDX_action_run_job_repo_id` over
`IDX_action_run_job_status`. On surface level the former index looks
like a good choice, for a organisation like Forgejo with many already
executed jobs, it doesn't become a very effective index. The status
index filters very well, because there aren't that many that have as
status "waiting".
- Relevant: forgejo/forgejo!13658
Reviewed-on: forgejo/forgejo#13666
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
Various optimizations necessary for running a large instance
Dirty hacks that we needed to deploy as soon as possible
Some of our patches may be helpful if you wish to operate a large Forgejo instance.
However, this repository as a whole contains a custom version of Forgejo
that is explicitly not intended for private use.
Codeberg and Forgejo work together, but, as projects, they remain separate.
For more information about Forgejo and its relationship with Codeberg,
take a look at Forgejo's FAQ.
Reporting Issues
If you wish to report an issue for the changes that Codeberg has made
or are not sure where you should open an issue for a service hosted by Codeberg,
please create an issue on Codeberg/Community.
Additionally, Forgejo maintains its own
Issue Tracker
for bug reports and feature requests.
Hosting
If you wish to host Forgejo on your own, please visit forgejo.org.
The configuration files include the settings required to enable the
Codeberg-specific Forgejo themes, i.e. codeberg-auto, codeberg-light,
codeberg-dark in your local Forgejo instance.
Contributing
We follow the upstream Forgejo tree
and most of the decisions that they make for everyone else.
If you want to send a patch to codeberg.org,
the best way to do that is probably sending a patch to Forgejo.
Branding
Codeberg has a set of design-related guidelines,
which can be found here.