Skip to content

Commit b067520

Browse files
authored
Merge pull request #1881 from emanlove/update-contribution-guide
Update contribution guide
2 parents 483e365 + 606aa81 commit b067520

File tree

2 files changed

+50
-30
lines changed

2 files changed

+50
-30
lines changed

BUILD.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ Testing
6464
-------
6565

6666
Make sure that adequate tests are executed before releases are created.
67-
See `<test/README.rst>`_ for details.
67+
For more information about unit tests see `<utest/README.rst>`_ or for
68+
acceptance tests see `<atest/README.rst>`_.
6869

6970
Preparation
7071
-----------

CONTRIBUTING.rst

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,22 @@ Contribution guidelines
33

44
These guidelines instruct how to submit issues and contribute code to
55
the `SeleniumLibrary project`_. Other great ways to contribute include
6-
answering questions and participating discussion on `robotframework-users`_
7-
mailing list and other forums as well as spreading the word about the
8-
framework one way or the other.
6+
answering questions and participating in discussions within the
7+
#seleniumlibrary channel on the community `Robot Framework Slack`_, the
8+
`Robot Framework Forum`_ and other channels as well as spreading the word
9+
about the framework one way or the other.
910

1011
Submitting issues
1112
=================
1213

1314
Bugs and enhancements are tracked in the `issue tracker`_.
1415
If you are unsure if something is a bug or is a feature worth
15-
implementing, you can first ask on `robotframework-users`_ list. This and
16+
implementing, you can first ask within the `Robot Framework Slack`_. This and
1617
other similar forums, not the issue tracker, are also places where to ask
1718
general questions.
1819

19-
Before submitting a new issue, it is always a good idea to check is the
20-
same bug or enhancement already reported. If it is, please add your
20+
Before submitting a new issue, it is always a good idea to check if the
21+
same bug or enhancement is already reported. If it is, please add your
2122
comments to the existing issue instead of creating a new one.
2223

2324
Reporting bugs
@@ -43,9 +44,11 @@ Enhancement requests
4344

4445
Describe the new feature and use cases for it in as much detail as
4546
possible in an issue. Especially with larger enhancements, be prepared to
46-
contribute the code in form of a pull request as explained below or to
47+
contribute the code in the form of a pull request as explained below or to
4748
pay someone for the work. Consider also would it be better to implement this
48-
functionality as a separate library outside the SeleniumLibrary.
49+
functionality as a separate library outside the SeleniumLibrary. One option
50+
here is to extend SeleniumLibrary using the public API or plug-in api. Please
51+
see `extending documentation`_ for more details.
4952

5053
Code contributions
5154
==================
@@ -88,17 +91,25 @@ We do, however, recommend to create dedicated branches for pull requests
8891
instead of creating them based on the master branch. This is especially
8992
important if you plan to work on multiple pull requests at the same time.
9093

91-
This project requires that pull request contains linear history of commits and
92-
we do not allow that pull request contains merge commits or other noise. This helps
93-
the review process and makes the maintenance easier for the project administrators.
94-
Generally it is recommended to do `git pull --rebase` instead of the `git pull --merge`
95-
when there is need pull changes from upstream.
94+
This project asks that prior to making an enhancement pull request that you
95+
discuss the enhancement with the team. We wish to avoid having you spend effort on an
96+
ehancement that won't match with the project. We require that a pull request contains
97+
linear history of commits and we do not allow that pull request contains merge commits
98+
or other noise. This helps the review process and makes the maintenance easier for the
99+
project administrators. Generally it is recommended to do `git pull --rebase` instead
100+
of the `git pull --merge` when there is need pull changes from upstream.
96101

97102
Coding conventions
98103
------------------
99104

105+
The SeleniumLibrary team is currently reviewing, revising, and updating
106+
the coding conventions during Q1 2024. Knowing these coding conventions
107+
are seen as a good practice, we are leaving these here as recommendations
108+
in the mean time but are not forcing this as a requirement for accepting
109+
pull requests.
110+
100111
SeleniumLibrary uses the general Python code conventions defined in
101-
`PEP-8`_. In addition to that, we try to write `idiomatic Python`_
112+
`PEP-8`_. In addition to that, we try to write `idiomatic Python`_ or `"Pythonic" code`_
102113
and follow the `SOLID principles`_. with all new code. An important guideline
103114
is that the code should be clear enough that comments are generally not needed.
104115

@@ -145,7 +156,7 @@ individual keywords.
145156

146157
- All new enhancements or changes should have a note telling when the
147158
change was introduced. Often adding something like
148-
``New in SeleniumLibray 1.8.`` is enough.
159+
``New in SeleniumLibrary 1.8.`` is enough.
149160

150161
Keyword documentation can be easily created using `invoke`_ task::
151162

@@ -159,34 +170,38 @@ Tests
159170
When submitting a pull request with a new feature or a fix, you should
160171
always include tests for your changes. These tests prove that your
161172
changes work, help prevent bugs in the future, and help document what
162-
your changes do. Depending an the change, you may need
163-
``acceptance tests``\ *, ``unit tests``* or both.
173+
your changes do. Depending an the change, you may need ``acceptance tests``,
174+
``unit tests`` or both.
164175

165176
Make sure to run all of the tests before submitting a pull request to be
166177
sure that your changes do not break anything. If you can, test in
167178
multiple browsers and versions (Firefox, Chrome, IE, Edge etc). Pull requests
168-
are also automatically tested on `Travis CI`_.
179+
are also automatically tested on `GitHub Actions`_.
169180

170181
Acceptance tests
171182
~~~~~~~~~~~~~~~~
172183

173184
Most of SeleniumLibrary's testing is done using acceptance tests that
174185
naturally use Robot Framework itself for testing. Every new
175186
functionality or fix should generally get one or more acceptance tests.
187+
For more details on acceptance tests and how to run the acceptance tests,
188+
see `atest/README.rst`_.
176189

177190
Unit tests
178191
~~~~~~~~~~
179192

180193
Unit tests are great for testing internal logic and should be added when
181-
appropriate. For more details see `Unit and acceptance
182-
tests <https://github.com/robotframework/SeleniumLibrary/blob/master/BUILD.rst#unit-and-acceptance-tests%3E>`__.
194+
appropriate. For more details on unit tests and running them, see
195+
`utest/README.rst`_.
183196

184197
Continuous integration
185198
----------------------
186199

187-
SeleniumLibrary's continuous integration (CI) servers are visible through
188-
`Travis CI`_. For more details about how to run test and how `Travis CI`_
189-
integration is implemented can be found from the `test/README.rst`_.
200+
SeleniumLibrary uses GitHub Actions as it's continuous integration (CI) server.
201+
202+
.. ToDo: re-add when explanation of GitHUb Actions is written
203+
More details about how `GitHub Actions`_ integration is implemented can be
204+
found within `<.github/CI/README.rst>.
190205
191206
Finalizing pull requests
192207
------------------------
@@ -198,7 +213,7 @@ Acknowledgments
198213
~~~~~~~~~~~~~~~
199214

200215
If you have done any non-trivial change and would like to be credited,
201-
remind us to add `acknowledge` tag to the issue. This way we will add
216+
remind us to add ``acknowledge`` tag to the issue. This way we will add
202217
your name to the release notes, when next release is made.
203218

204219
Resolving conflicts
@@ -209,22 +224,26 @@ the same code as your changes. In that case you should
209224
`sync your fork`_ and `resolve conflicts`_ to allow for an easy merge.
210225

211226
.. _SeleniumLibrary project: https://github.com/robotframework/SeleniumLibrary
212-
.. _robotframework-users: http://groups.google.com/group/robotframework-users
227+
.. _Robot Framework Slack: https://rf-invite.herokuapp.com/
228+
.. _Robot Framework Forum: https://forum.robotframework.org/c/libraries/lib-seleniumlibrary/11
213229
.. _issue tracker: https://github.com/robotframework/SeleniumLibrary/issues
214230
.. _(SSCCE): http://sscce.org
231+
.. _extending documentation: https://github.com/robotframework/SeleniumLibrary/blob/master/docs/extending/extending.rst
215232
.. _GitHub account: https://github.com/
216233
.. _Git: https://git-scm.com
217234
.. _set up Git: https://help.github.com/articles/set-up-git/
218235
.. _fork a repository: https://help.github.com/articles/fork-a-repo/
219236
.. _use pull requests: https://help.github.com/articles/using-pull-requests
220237
.. _PEP-8: https://www.python.org/dev/peps/pep-0008/
221-
.. _idiomatic Python: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html
238+
.. _idiomatic Python: https://en.wikibooks.org/wiki/Python_Programming/Idioms
239+
.. _"Pythonic" code: https://docs.python-guide.org/writing/style/
222240
.. _SOLID principles: https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
223241
.. _PEP-257: https://www.python.org/dev/peps/pep-0257/
224242
.. _invoke: http://www.pyinvoke.org/
225-
.. _Travis CI: https://travis-ci.org/robotframework/SeleniumLibrary
226-
.. _test/README.rst`: https://github.com/robotframework/SeleniumLibrary/blob/master/test/README.rst
243+
.. _GitHub Actions: https://github.com/robotframework/SeleniumLibrary/actions
244+
.. _atest/README.rst: https://github.com/robotframework/SeleniumLibrary/tree/master/atest/README.rst
245+
.. _utest/README.rst: https://github.com/robotframework/SeleniumLibrary/blob/master/utest/README.rst
227246
.. _sync your fork: https://help.github.com/articles/syncing-a-fork/
228247
.. _resolve conflicts: https://help.github.com/articles/resolving-a-merge-conflict-from-the-command-line
229248
.. _Black: https://github.com/psf/black
230-
.. _flake8: https://gitlab.com/pycqa/flake8
249+
.. _flake8: https://github.com/PyCQA/flake8

0 commit comments

Comments
 (0)