RELEASE_INSTRUCTIONS
--------------------

- First (VERY IMPORTANT) verify your Python and Pip versions so you know what you're building with. This is especially important if you're using pyenv to manage multiple Python versions. Current recommendation is latest Python 3.9 (3.9.16).
    $ `which python` --version
    $ `which pip` --version

    If one of these points to a version different than the one you think you're dealing with, you can specify it manually on the command line like this:
    $ python3.9 --version
    $ pip3.9 --version

- Verify package installs from source and runs correctly in editable mode:
    $ git clone git@github.com:jeffwright13/pytest-tui.git dev-dir
    $ cd dev-dir
    $ pyenv local 3.9.16
    $ python -m venv venv
    $ source venv/bin/activate
    $ pip install pip-tools
    $ pip-compile --no-emit-index-url reqts/requirements.in && pip-compile --no-emit-index-url reqts/requirements-dev.in
    $ pip install -r reqts/requirements.txt
    $ pip install -e .
    $ pytest --tui
    $ tui
    $ tuih

- Install/upgrade build & release tools:
    $ `which pip` install --upgrade setuptools wheel twine

- Clear out old builds:
    $ rm dist/*

- Build:
    $ `which python` setup.py sdist bdist_wheel

- Publish to TestPyPi:
    $ `which python` -m twine upload --repository testpypi dist/*

- Test the installation in a fresh directory by running the 'test.sh' bash script.
  Verify TUI and HTML page for each iteration/Python version.
    $ cd ~/coding/pytest-tui (or top level of name of repo)
    $ deactivate
    $ pyenv local 3.8.10 3.9.9
    <individual verifications>:
    $ ./testing/bash/test.sh --version 3.8.10
    $ ./testing/bash/test.sh --version 3.9.9
    $ source venv/bin/activate
    $ cd testing/robot
    $ robot .

- Verify basic functionality without plugin:
    $ pytest --version
    $ pytest --co
    $ pytest -k test0

- Verify basic functionality with plugin:
    $ pytest --tui --version
    $ pytest --tui --co
    $ pytest --tui -k test0
    $ tui
    $ tuih

- Publish to Pypi:
    $ deactivate
    $ cd ~/coding/dev-dir
    $ source venv/bin/activate
    $ python -m twine upload dist/*
