Enable configuration of global CI build timeout defaults
Description
The default build timeout for the CI pipeline is currently set at the DB level (see db/schema.rb L824) and cannot really be configured administratively without modifying the database or setting the value on a per-project basis. The current default (3600 seconds) is reasonable, though some may find that too high or too low for their circumstances.
In my case, which I'm sure is an edge case, we're using CI to grade student work on a CI runner machine with little resources, allowing poorly written our outright bad code to eat a lot of resources that could be better used.
Proposal
This proposal suggests adding a default build timeout to the admin settings panel in addition to the existing CI settings. With that in place, new projects should default to that time instead of the value set by the database.
It may also be worthwhile to consider adding a maximum timeout, to prevent potential resource abuse, though that may be out of scope.
Links / references
Current DB timeout settings
Project model defaults section
Application settings controller
Application settings model