Development

Code of Conduct

By contributing you agree to abide by the Contributor Code of Conduct.

Contribution Guideline

Report Issue

To Be Written

Pull Request

To Be Written

Setup development environment

  • Requires supported Python version

  • Do setup under sphinx-intl.git repository root as:

    $ pip install -U pip setuptools wheel setuptools_scm
    $ pip install -r requirements-testing.txt
    
  • Install Transifex CLI tool (refer to Installation instructions):

    $ curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash
    

Testing

Tests with supported python version that are in:

  • setup.py

  • tox.ini

  • .github/workflow/test.yml

Run test

Just run tox:

$ tox

tox have several sections for testing.

CI (Continuous Integration)

All tests will be run on GitHub Actions.

Releasing

New package version

The sphinx-intl package will be uploaded to PyPI: https://pypi.org/project/sphinx-intl/.

Here is a release procedure:

Procedure:

  1. check GitHub Actions test results: https://github.com/sphinx-doc/sphinx-intl/actions

  2. update release version/date in CHANGES.rst

  3. python -m build, see details: setup.cfg

  4. twine upload dist/<target-package-file>

  5. check PyPI page: https://pypi.org/p/sphinx-intl

  6. tagging with version name that MUST following semver. e.g.: git tag 1.0.1

  7. git push --tags to push tag

  8. bump version in sphinx_intl/__init__.py and CHANGES.rst then commit/push them onto GitHub

Updated documentation

Sphinx documentation under doc/ directory on the master branch will be automatically uploaded into ReadTheDocs: http://sphinx-intl.rtfd.io/.