@@ -66,8 +66,8 @@ Include the version numbers of your operating system, of **yadm**, and of Git.
66
66
### Attaching a script.gz
67
67
68
68
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.
71
71
72
72
The easiest way to start this container, is to clone the [ TheLocehiliosan/yadm
73
73
repo] [ yadm-repo ] , and use the ` scripthost ` make target. _ (You will need ` make `
@@ -239,21 +239,22 @@ these principles when making changes.
239
239
240
240
When updating the yadm code, please follow these guidelines:
241
241
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.
246
247
* Interface changes
247
248
* Any changes to **yadm**'s interface should include a commit that updates
248
249
the `yadm.1` man page.
249
250
250
251
### Test conventions
251
252
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.
257
258
258
259
Please follow these guidelines while writing tests:
259
260
@@ -268,10 +269,6 @@ Please follow these guidelines while writing tests:
268
269
* Care should be taken to make tests run as efficiently as possible.
269
270
* Scope large, unchanging, fixtures appropriately so they do not have to be
270
271
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'`
275
272
276
273
### Commit conventions
277
274
@@ -311,10 +308,24 @@ That file is only updated during software releases.
311
308
312
309
### Website changes
313
310
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 ` .
318
329
319
330
# Maintaining packages
320
331
@@ -348,6 +359,8 @@ see if you can help.
348
359
[ flake8 ] : https://pypi.org/project/flake8/
349
360
[ groff-man ] : https://www.gnu.org/software/groff/manual/html_node/man.html
350
361
[ 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
351
364
[ new-bug ] : https://github.com/TheLocehiliosan/yadm/issues/new?template=BUG_REPORT.md
352
365
[ new-feature ] : https://github.com/TheLocehiliosan/yadm/issues/new?template=FEATURE_REQUEST.md
353
366
[ open-issues ] : https://github.com/TheLocehiliosan/yadm/issues
@@ -358,7 +371,9 @@ see if you can help.
358
371
[ refactor ] : https://github.com/TheLocehiliosan/yadm/issues/146
359
372
[ shellcheck ] : https://www.shellcheck.net
360
373
[ signing-commits ] : https://help.github.com/en/articles/signing-commits
361
- [ testbed ] : https://hub.docker.com/r/yadm/testbed
362
374
[ tpope-style ] : https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
363
375
[ yadm-man ] : https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md
364
376
[ 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