-
Notifications
You must be signed in to change notification settings - Fork 18
/
guidelines.html
66 lines (61 loc) · 3.02 KB
/
guidelines.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---
layout: default
permalink: /guidelines/
title: Guidelines
description: How we collaborate
---
<div class="row">
<div class="col-sm-12">
<div class="main-article docs">
<h3>Contribution guidelines</h3>
<p>
YaST is an open source project and as such it welcomes all kinds of
contributions. If you want to report a bug or contribute
some code, make sure you read the
<a href="http://yastgithubio.readthedocs.org/en/latest/contributing/">YaST
contribution guidelines</a> first.
</p>
<p>When contributing code, it should go through the
<a href="http://yastgithubio.readthedocs.org/en/latest/code-review/">documented
code review process</a>. That means, among other things, that all new code
must be reviewed. YaST follows the
<a href="http://yastgithubio.readthedocs.org/en/latest/rubocop/">Ruby
style guide</a> for the source code and its own
<a href="http://en.opensuse.org/openSUSE:YaST_style_guide">UI style guide</a>.
Code needs to be automatically tested, so new tests should follow
<a href="http://yastgithubio.readthedocs.org/en/latest/how-to-write-tests/">guidelines
for writing tests</a>.
The preferred documentation format in code is YARD, learn more in
<a href="https://gist.github.com/chetan/1827484">this cheatsheet</a> and
in its <a href="http://www.rubydoc.info/gems/yard/file/docs/Tags.md">thorough
explanation</a>.
</p>
<h3>From the repository to the distribution</h3>
<p>
YaST honors the "release early, release often" principle with a
continuous integration (known as CI) infrastructure. Every time new
code is merged into the master branch of a YaST repository, the CI server
automatically handles all the packaging tasks and ensures that the package
is sent to openSUSE Factory. The process is described in depth in
<a href="http://en.opensuse.org/openSUSE:YaST:_Development_Workflow">this page
of the openSUSE wiki</a>.</p>
<p>The development of a new version of a Linux distribution does not stop when
the distribution is published. In order to create a maintenance update,
some steps are required in addition to merging the fix into the right branch.
These steps are described at
<a href="http://yastgithubio.readthedocs.org/en/latest/maintenance-branches/">The
"Maintenance Branches" document</a>.
</p>
<h3>Continuous testing with GitHub Actions</h3>
<p>
The <a href="https://github.com/features/actions">GitHub Actions</a>
are used for running tests during development.
They runs the tests for every pushed change and when a pull request is created.
The build result is then visible at GitHub as a commit status so build or test
failures can be found out very early. More details can be found in the
<a href="http://yastgithubio.readthedocs.org/en/latest/ci-integration/">
CI Integration documentation</a>.
</p>
</div>
</div>
</div>