Skip to content

Commit 2848ca2

Browse files
Update contributing guide with website info (yadm-dev#146)
1 parent 282b772 commit 2848ca2

File tree

1 file changed

+35
-20
lines changed

1 file changed

+35
-20
lines changed

.github/CONTRIBUTING.md

+35-20
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ Include the version numbers of your operating system, of **yadm**, and of Git.
6666
### Attaching a script.gz
6767

6868
Consider trying to reproduce the bug inside a docker container using the
69-
[yadm/testbed][testbed] docker image. Doing so will greatly increase the
70-
likelihood of the problem being fixed.
69+
[yadm/testbed][] docker image. Doing so will greatly increase the likelihood of
70+
the problem being fixed.
7171

7272
The easiest way to start this container, is to clone the [TheLocehiliosan/yadm
7373
repo][yadm-repo], and use the `scripthost` make target. _(You will need `make`
@@ -239,21 +239,22 @@ these principles when making changes.
239239
240240
When updating the yadm code, please follow these guidelines:
241241
242-
* ShellCheck
243-
* Bash code should pass the scrutiny of [ShellCheck][shellcheck]. The
244-
simplest way to quickly test this is to run:
245-
* `make test testargs='-k shellcheck'`
242+
* Code linting
243+
* Bash code should pass the scrutiny of [ShellCheck][shellcheck].
244+
* Python code must pass the scrutiny of [pylint][] and [flake8][].
245+
* Any YAML must pass the scrutiny of [yamllint][].
246+
* Running `make test_syntax.py` is an easy way to run all linters.
246247
* Interface changes
247248
* Any changes to **yadm**'s interface should include a commit that updates
248249
the `yadm.1` man page.
249250
250251
### Test conventions
251252
252-
The test system is written in Python 3 using [pytest][pytest]. Tests should be
253-
written for all bugs fixed and features added. To make testing portable and
254-
uniform, tests should be performed via the [yadm/testbed][testbed] docker image.
255-
The `Makefile` has several "make targets" for testing. Running `make` by itself
256-
will produce a help page.
253+
The test system is written in Python 3 using [pytest][]. Tests should be written
254+
for all bugs fixed and features added. To make testing portable and uniform,
255+
tests should be performed via the [yadm/testbed][] docker image. The `Makefile`
256+
has several "make targets" for testing. Running `make` by itself will produce a
257+
help page.
257258
258259
Please follow these guidelines while writing tests:
259260
@@ -268,10 +269,6 @@ Please follow these guidelines while writing tests:
268269
* Care should be taken to make tests run as efficiently as possible.
269270
* Scope large, unchanging, fixtures appropriately so they do not have to be
270271
recreated multiple times.
271-
* Linting
272-
* Python code must pass the scrutiny of [pylint][pylint] and
273-
[flake8][flake8]. The simplest way to quickly test this is to run:
274-
* `make test testargs='-k pylint\ or\ flake8'`
275272
276273
### Commit conventions
277274
@@ -311,10 +308,24 @@ That file is only updated during software releases.
311308

312309
### Website changes
313310

314-
**NOTE:** A [website refactoring][refactor] is being performed soon, and it is
315-
unlikely that website changes will be accepted until this task is completed.
316-
Better instructions for testing and submitting website changes will be written
317-
during that refactor.
311+
The yadm.io website is generated using [Jekyll][jekyll]. The bulk of the
312+
documentation is created as an ordered collection within `_docs`. To make
313+
website testing easy and portable, use the [yadm/jekyll][] docker image. The
314+
`Makefile` has several "make targets" for testing. Running `make` by itself will
315+
produce a help page.
316+
317+
* `make test`:
318+
Perform tests done by continuous integration.
319+
* `make up`:
320+
Start a container to locally test the website. The test website will be
321+
hosted at http://localhost:4000/
322+
* `make clean`:
323+
Remove previously built data any any Jekyll containers.
324+
325+
When making website changes, be sure to adhere to [code](#code-conventions) and
326+
[commit](#commit-conventions) conventions. Use the same [GitHub
327+
workflow](#github-workflow) when creating a pull request. However use the
328+
`dev-pages` branch as a base instead of `develop`.
318329

319330
# Maintaining packages
320331

@@ -348,6 +359,8 @@ see if you can help.
348359
[flake8]: https://pypi.org/project/flake8/
349360
[groff-man]: https://www.gnu.org/software/groff/manual/html_node/man.html
350361
[hooks-help]: https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#hooks
362+
[html-proofer]: https://github.com/gjtorikian/html-proofer
363+
[jekyll]: https://jekyllrb.com
351364
[new-bug]: https://github.com/TheLocehiliosan/yadm/issues/new?template=BUG_REPORT.md
352365
[new-feature]: https://github.com/TheLocehiliosan/yadm/issues/new?template=FEATURE_REQUEST.md
353366
[open-issues]: https://github.com/TheLocehiliosan/yadm/issues
@@ -358,7 +371,9 @@ see if you can help.
358371
[refactor]: https://github.com/TheLocehiliosan/yadm/issues/146
359372
[shellcheck]: https://www.shellcheck.net
360373
[signing-commits]: https://help.github.com/en/articles/signing-commits
361-
[testbed]: https://hub.docker.com/r/yadm/testbed
362374
[tpope-style]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
363375
[yadm-man]: https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md
364376
[yadm-repo]: https://github.com/TheLocehiliosan/yadm
377+
[yadm/jekyll]: https://hub.docker.com/r/yadm/jekyll
378+
[yadm/testbed]: https://hub.docker.com/r/yadm/testbed
379+
[yamllint]: https://github.com/adrienverge/yamllint

0 commit comments

Comments
 (0)