sphinx-notes / markdown-builder

sphinx builder that outputs markdown files.
https://codejam.ninja
MIT License
4 stars 1 forks source link

Add engineering process #4

Open jenstroeger opened 2 years ago

jenstroeger commented 2 years ago

Based on the python-package-template repo I think it would make sense to bring over some of the engineering and automation into this repo: pylint and black at least.

Given the number of issues we’re opening we should also replace the examples/javascript folder with proper pytest?

SilverRainZ commented 2 years ago

Agree. I can not run examples/javascript locally due to the old dependency.

SilverRainZ commented 2 years ago

Do you have time to work on this? I am fixing #2 and then #1.

jenstroeger commented 2 years ago

I’ll schedule it for Tuesday. Also have another engineer who will pick up some work now.

jenstroeger commented 2 years ago

@lecram you’re familiar with the template already. I’ll try to take a stab this weekend, and will ping you if not.

@SilverRainZ let’s start with an empty pytest folder and add unit tests as we go. This PR, I think, should be concerned with putting things into place instead of adding tests?

SilverRainZ commented 2 years ago

I think we should need at least one test to show pytest actually works.

We can test against the changes we made, such as #5 and #6.

SilverRainZ commented 1 year ago

Ping @jenstroeger

jenstroeger commented 1 year ago

Ugh my apologies, it’s been very busy the past few weeks. We’re currently fixing an issue in our Py package template after which we’ll have a good baseline to merge into this repo. Are you ok waiting a week or so?

SilverRainZ commented 1 year ago

No problem, just a reminder.

jenstroeger commented 1 year ago

@SilverRainZ let’s perhaps do this in several steps:

  1. replace legacy setup.py with the recommended pyproject.toml; then
  2. add support for git hooks and use pre-commit to do add a few simple hooks (lint, flake, upgrade, see more); then
  3. change and clean up testing; then
  4. expand on the Community files; then
  5. add a few useful Github Actions (see examples).

We can adjust the Makefile as we move forward, and add more flexibility to it (see example).

Considering that Sphinx itself requires at least Python 3.6, I think the same should apply here. The metadata classifiers seem outdated

https://github.com/sphinx-notes/markdown-builder/blob/b9f424b5e5001a8192e1b91d1b29afd60772bca7/setup.py#L32-L37

and the Makefile seems to expect Python 3. This can be fixed as part of step 1. above.

SilverRainZ commented 1 year ago

@jenstroeger That sounds good :D

I am quite busy recently so maybe can't help :'(