diff --git a/.travis.yml b/.travis.yml index 74f9670..feb8903 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,33 +1,50 @@ - -# sudo required currently for postgresql 9.6 dist: trusty sudo: required services: - - postgresql +- postgresql before_install: - - sudo apt-get -qq update - - sudo apt-get install -y yui-compressor node optipng +- sudo apt-get -qq update +- sudo apt-get install -y yui-compressor node optipng before_script: - - cp example.env .env - - psql -c 'create database pygame_test;' -U postgres - - psql pygame_test -c "CREATE USER pygame_test WITH PASSWORD 'password';" -U postgres - - psql pygame_test -c "GRANT ALL PRIVILEGES ON DATABASE pygame_test to pygame_test;" -U postgres +- cp example.env .env +- psql -c 'create database pygame_test;' -U postgres +- psql pygame_test -c "CREATE USER pygame_test WITH PASSWORD 'password';" -U postgres +- psql pygame_test -c "GRANT ALL PRIVILEGES ON DATABASE pygame_test to pygame_test;" + -U postgres addons: - postgresql: "9.6" + postgresql: '9.6' test: adapter: postgresql database: pygame_test - language: python cache: pip python: - - "3.6" +- '3.6' install: - pip install -r requirements.dev.txt - pip install coveralls - pip install -e . - script: APP_SECRET_KEY=a pytest - after_success: - - coveralls +- coveralls +before_deploy: +- python pygameweb/builds/update_version_from_git.py +deploy: + - provider: pypi + user: illume + distributions: sdist bdist_wheel + on: + branch: + - master + - mastertest + password: + secure: gzDc/dK0FJnLtcYBDXRu4PiIc+DvTBLKRbClBlSVayCiH0k+TzjatjwRJm9EPK0ctR3QX4esBrlxlLHVVIhjt1fWe/UcN+JEmR0ICPaPmcqR+17j+tPBX3PyrV8aULWe/PG9MgTKEZw9S8ysGPThlcXlcO0h65ma5/a58NZIBEKyamjXgrZmuipfYlMRjyk54c53gZGI+jKn3R3mgk+pDcjI3vL5pkA6QU69ucBhg/iLLoicpiTkUTfewV6nNcUKj88j162wgXshQ2Rnl7prvekDOaYeNplZzLto8gYO+HxO95povzG8nTxgqs1Soip1vW8hyPj4hmWkYfsxQt88UJZhnNaE+Dy2Uv+YyhxT7x9xonLB/HewOf2QROKElJG8qJ9CM+/F4QbkyRHXl9eP0hDbMDzc4cxAiuDJ0y3XysZBkRcBQoj+moDlyCv4LTc/bXhvoUXjCsmAI3xRmrV0j4Ml8wgoqFxT/bLH3CLW2sRmYg6mE+OCGfjubyxQPrwHLDOOJykj2kB1GCDhl1Jn0iGyRXdKzykSJPO3LJVelMmiwZwbdED0Nih70buG6EsEOquZhZB+oGltjO2W9rbphaxnoUDTQVq+JFrXD1eACY/42HJ4RZ9gBo0SqRCuGGaaYgw2BCvqinRoH+5qfoXontlkGX/XFbKQP3+3agJ0K+M= + skip_cleanup: true + - provider: pypi + user: illume + distributions: sdist bdist_wheel + on: + tags: true + password: + secure: gzDc/dK0FJnLtcYBDXRu4PiIc+DvTBLKRbClBlSVayCiH0k+TzjatjwRJm9EPK0ctR3QX4esBrlxlLHVVIhjt1fWe/UcN+JEmR0ICPaPmcqR+17j+tPBX3PyrV8aULWe/PG9MgTKEZw9S8ysGPThlcXlcO0h65ma5/a58NZIBEKyamjXgrZmuipfYlMRjyk54c53gZGI+jKn3R3mgk+pDcjI3vL5pkA6QU69ucBhg/iLLoicpiTkUTfewV6nNcUKj88j162wgXshQ2Rnl7prvekDOaYeNplZzLto8gYO+HxO95povzG8nTxgqs1Soip1vW8hyPj4hmWkYfsxQt88UJZhnNaE+Dy2Uv+YyhxT7x9xonLB/HewOf2QROKElJG8qJ9CM+/F4QbkyRHXl9eP0hDbMDzc4cxAiuDJ0y3XysZBkRcBQoj+moDlyCv4LTc/bXhvoUXjCsmAI3xRmrV0j4Ml8wgoqFxT/bLH3CLW2sRmYg6mE+OCGfjubyxQPrwHLDOOJykj2kB1GCDhl1Jn0iGyRXdKzykSJPO3LJVelMmiwZwbdED0Nih70buG6EsEOquZhZB+oGltjO2W9rbphaxnoUDTQVq+JFrXD1eACY/42HJ4RZ9gBo0SqRCuGGaaYgw2BCvqinRoH+5qfoXontlkGX/XFbKQP3+3agJ0K+M= + skip_cleanup: true diff --git a/README.rst b/README.rst index ea08d78..1352644 100644 --- a/README.rst +++ b/README.rst @@ -226,3 +226,34 @@ With with a @cache decorator, and/or markup in a template. .. |coverage-status| image:: https://coveralls.io/repos/github/pygame/pygameweb/badge.svg?branch=master :target: https://coveralls.io/github/pygame/pygameweb?branch=master :alt: Test coverage percentage + + + + +Releases +======== + +Releases are done from travisci. Fairly closely following this: +https://docs.travis-ci.com/user/deployment/pypi/ + +- Commits to `master` branch do a dev deploy to pypi. +- Commits to `mastertest` branch do a dev deploy to pypi. +- Commits to a tag do a real deploy to pypi. + + +https://packaging.python.org/tutorials/distributing-packages/#pre-release-versioning + +Pre releases should be named like this: +``` +# pygameweb/__init__.py +__version__ = '0.0.2' +``` +Which is one version ahead of of the last tagged release. + +Release tags should be like '0.0.2', and match the `pygameweb/__init__.py __version__`. + +When everything is ready, tags should be done through github. + +Note: do not tag pre releases (these are made on commits to `master`/`mastertest`). +https://help.github.com/articles/creating-releases/ + diff --git a/pygameweb/__init__.py b/pygameweb/__init__.py index ec3388b..d76a13c 100644 --- a/pygameweb/__init__.py +++ b/pygameweb/__init__.py @@ -1,4 +1,4 @@ -__version__ = '0.0.1' +__version__ = '0.0.2' # So we can use environment variables to configure things. diff --git a/requirements.dev.txt b/requirements.dev.txt index e4ad76c..794d521 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -14,4 +14,6 @@ pytest-pylint pytest-timeout pytest-watch pytest-xdist +twine +wheel -r requirements.txt diff --git a/setup.cfg b/setup.cfg index 703f2af..8cd1a8c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,3 +9,5 @@ addopts=-v --cov pygameweb pygameweb/ tests/ +[bdist_wheel] +universal=1 diff --git a/setup.py b/setup.py index 075e981..d5538e9 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,6 @@ def get_requirements(): name='pygameweb', classifiers=[ 'Development Status :: 1 - Planning', - 'Classifier: Framework :: Flask', 'Classifier: License :: OSI Approved', 'License :: OSI Approved :: BSD License', 'Programming Language :: Python :: 3', @@ -80,6 +79,8 @@ def get_requirements(): 'pygameweb.comment.classifier_train:classify_comments', 'pygameweb_worker=' 'pygameweb.tasks.worker:work', + 'pygameweb_release_version_correct=' + 'pygameweb.builds.update_version_from_git:release_version_correct', ], }, )