github.com/secure-build/gitlab-runner@v12.5.0+incompatible/CONTRIBUTING.md (about) 1 ## Developer Certificate of Origin + License 2 3 By contributing to GitLab B.V., You accept and agree to the following terms and 4 conditions for Your present and future Contributions submitted to GitLab B.V. 5 Except for the license granted herein to GitLab B.V. and recipients of software 6 distributed by GitLab B.V., You reserve all right, title, and interest in and to 7 Your Contributions. All Contributions are subject to the following DCO + License 8 terms. 9 10 [DCO + License](https://gitlab.com/gitlab-org/dco/blob/master/README.md) 11 12 All Documentation content that resides under the [docs/ directory](/docs) of this 13 repository is licensed under Creative Commons: 14 [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). 15 16 _This notice should stay as the first item in the CONTRIBUTING.md file._ 17 18 --- 19 20 ## Contribute to GitLab Runner 21 22 The following contents has to be considered as an extension over [gitlab-ce contributing guidelines](https://docs.gitlab.com/ce/development/contributing/index.html). 23 24 ### How we prioritize MRs from the wider community 25 26 Currently we use a system of [scoped labels](https://docs.gitlab.com/ee/user/project/labels.html#scoped-labels-premium) to help us prioritize which MRs our team will review. 27 28 | Label | Meaning | Use Cases | 29 | ---- | ----- | ----- | 30 | ~"Review::P1" | Highest priority to review. | Indicates a merge request that might solve an urgent pain point for users, contributes to the strategic direction of Runner development as laid out by the Product team, or fixes a critical issue. A hard cap on the number of contributions labelled ~"Review::P1" is set at 3. | 31 | ~"Review::P2" | Important merge requests. | When a merge request is important, but has lower impact to customers when compared to merge requests labelled ~"Review::P1". | 32 | ~"Review::P3" | Default priority to review. | All incoming merge requests should default to this. | 33 34 ### Contributing new [executors](https://docs.gitlab.com/runner/#selecting-the-executor) 35 36 We are no longer accepting or developing new executors for a few 37 reasons listed below: 38 39 - Some executors require licensed software or hardware that GitLab Inc. 40 doesn't have. 41 - Each new executor brings its own set of problems when it comes to 42 testing it properly. 43 - Adding new executors can add new dependencies, which adds maintenance costs. 44 - Having a lot of executors adds to maintenance costs. 45 46 With GitLab 12.1, we introduced the [custom 47 executor](https://gitlab.com/gitlab-org/gitlab-runner/issues/2885), 48 which will provide a way to create an executor of choice. 49 50 ### Contributing new hardware architectures 51 52 We're currently exploring how we can add builds for new and different hardware 53 architectures. Adding and supporting new architectures brings added levels of 54 complexity and may require hardware that GitLab Inc. doesn't have access to. 55 56 At the current time, new hardware architectures will only be considered if the 57 following criteria are met: 58 59 1. GitLab Inc. must be able to build and test for the new architecture on our Shared Runners on GitLab.com 60 1. If adding support for the new architecture in the helper image, Docker must also support the architecture upstream 61 62 As we explore adding more architectures other requirements may come up. 63 64 We are currently discussing the ability of providing builds for architectures that we 65 don't have the ability to support and [we welcome contributions to that discussion](https://gitlab.com/gitlab-org/gitlab-runner/issues/4229). 66 67 ## Workflow labels 68 69 We have some additional labels plus those defined in [gitlab-ce workflow labels](https://docs.gitlab.com/ce/development/contributing/issue_workflow.html) 70 71 - Additional subjects: ~cache, ~executors, ~"git operations" 72 - OS: ~"os::Linux" ~"os::MacOSX" ~"os:FreeBSD" ~"os::Windows" 73 - executor: ~"executor::docker" ~"executor::kubernetes" ~"executor::docker\-machine" ~"executor::docker\-machine" ~"executor::shell" ~"executor::parallels" ~"executor::virtualbox" 74 75