aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.org
blob: ab276e618b64648dda89ed9551644541de4a31d0 (plain)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#+STARTUP:showall

* Contributing

** Running tests

There are a couple of dependencies in order to run tests. These dependencies
will be picked up directly by the =vendor= make task. You can run it by
performing:

#+BEGIN_SRC bash
$ make vendor
#+END_SRC

The =vendor= task is already called by other tasks such as =lint=. Thus, if you
just want to run everything, just execute:

#+BEGIN_SRC bash
$ make
#+END_SRC

This will fetch the dependencies for you and run the style checkers and the
tests, among other things. See the sections below to read more about them.

*** Checking the style

The [[https://github.com/gonewest818/elisp-lint][elisp-lint]] and [[https://github.com/purcell/package-lint][package-lint]] packages are being used for checking the
style. You can run these checkers by performing:

#+BEGIN_SRC bash
$ make lint
#+END_SRC

*** Git validation

In order to ensure that the git log is as maintainable as possible, the
[[https://github.com/vbatts/git-validation][git-validation]] tool is used. You can install this tool by running:

#+BEGIN_SRC bash
$ go get -u github.com/vbatts/git-validation
#+END_SRC

If you already have this tool installed, then simply perform:

#+BEGIN_SRC bash
$ make git-validation
#+END_SRC

Note that if you don't have this tool installed the task will do nothing (it
will just print a help message). This is done so when running the default make
task this doesn't interrupt it.

*** Load test

In order to test that this theme can be actually loaded, run:

#+BEGIN_SRC bash
$ make load-test
#+END_SRC

** Issue reporting

I'm using [[https://github.com/mssola/soria][Github]] in order to host the code. Thus, in order to report issues you
can do it on its [[https://github.com/mssola/soria/issues][issue tracker]]. A couple of notes on reports:

- Check that the issue has not already been reported or fixed in =master=.
- Try to be concise and precise in your description of the problem.
- Provide a step by step guide on how to reproduce this problem.
- Provide the version you are using (the commit SHA, if possible), as well as
  the version of the GNU Emacs you are using and the operating system.

** Pull requests

- Write a [[https://chris.beams.io/posts/git-commit/][good commit message]].
- Make sure that tests are passing on your local machine (it will also be
  checked by the CI system whenever you submit the pull request).
- Update the [[./CHANGELOG.org][changelog]] (if relevant).
- Open a pull request with *only* one subject and a clear title and
  description. Refrain from submitting pull requests with tons of different
  unrelated commits.