Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docker] Fixes #103 Skycoin VS Code dev image for Python #115

Open
wants to merge 52 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
1c4a64a
[release] refs #85 - Run make build to make sure that the code base i…
olemis Dec 29, 2018
923feb2
[ci] refs #85 - Run setup.py build in make build
olemis Dec 29, 2018
731ad33
refs #85 - Update repo-info after merging release branch into master
olemis Dec 29, 2018
5bf3c46
[ci] refs #85 - Check out `skycoin/skycoin` v0.25.0 tag in submodule …
olemis Dec 29, 2018
fbae55c
[ci] refs #85 - make build-libc-swig => build-libc build-swig
olemis Dec 29, 2018
1d596b8
[release] refs #85 - Minor changes in README.md
olemis Dec 29, 2018
95692e1
[release] refs #85 - Release builds should be created from git tags (…
olemis Dec 29, 2018
52e03a8
[release] refs #85 - Document Skycoin APIs exported in PySkycoin
olemis Dec 30, 2018
5c5cc97
[release] refs #85 - Default make goal and phony targets
olemis Dec 30, 2018
614da7c
Merge pull request #92 from simelo/release-0.25.0
olemis Dec 30, 2018
5caf5ab
[ci] refs #85 - Do not upload packages that already exist in PyPI
olemis Dec 30, 2018
d84d8f9
[ci] refs #85 - Remove TOXENV condition in PyPI deploy step
olemis Dec 30, 2018
a11e9b3
Merge remote-tracking branch 'skycoin/master' into release-0.25.0
olemis Dec 30, 2018
fb71a09
Merge pull request #97 from simelo/release-0.25.0
olemis Dec 30, 2018
83d7cef
refs #85 #33 - Markdown content type for correct rendering in PyPI
olemis Dec 31, 2018
b1f1bbe
Merge remote-tracking branch 'skycoin/master' into release-0.25.0
olemis Jan 1, 2019
fad7f7c
Merge pull request #98 from simelo/release-0.25.0
olemis Jan 1, 2019
563bcf9
[release] refs #85 - Generate PyPI key for skycoin/pyskycoin repository
olemis Jan 12, 2019
94ab7e7
Merge pull request #100 from simelo/release-0.25.0
olemis Jan 12, 2019
744d873
[ci] refs #85 - Only deploy bdist_wheel to PyPI from Travis
olemis Jan 12, 2019
89f3fae
[ci] refs #85 - Deploy to Github releases (rather than PyPI)
olemis Jan 13, 2019
8f7ff05
[ci] refs #104 - Production and dev install requirements . Update MAN…
olemis Jan 14, 2019
537c9f9
[ci] refs #104 - Build multilinux wheels using PyPA Docker images
olemis Jan 15, 2019
d5e00fc
[ci] refs #104 - Unify PYPI deployment check in PYPI_DEPLOY
olemis Jan 15, 2019
bcb0e1b
[ci] refs #104 - Publish sdist on to PyPI
olemis Jan 15, 2019
7f287b1
[ci] refs #104 - Remove parenthesis in PYPI_DEPLOY condition check
olemis Jan 15, 2019
d0aabd0
[ci] refs #104 - Escape variable expansion with double quote chars
olemis Jan 15, 2019
5ac1457
[ci] refs #104 - Fix syntax error setting up PYPI_DEPLOY
olemis Jan 15, 2019
51024cb
[ci] refs #104 - Separate .travis.yml commands with semicolon
olemis Jan 15, 2019
9529f4c
Merge pull request #101 from simelo/release-0.25.0
olemis Jan 15, 2019
7f1a9c9
[ci] refs #104 - Install SWIG and go inside PyPA Docker container
olemis Jan 15, 2019
c6cfe2f
[ci] refs #104 - pip install requirements.dev.txt with -r (instead of…
olemis Jan 16, 2019
d88fc7c
Merge branch 'master' into release-0.25.0
olemis Jan 16, 2019
3eae90e
Merge pull request #105 from simelo/release-0.25.0
olemis Jan 16, 2019
cdbf644
[ci] refs #104 - Install SWIG dependencies inside PyPA containers. x8…
olemis Jan 16, 2019
c7ba0ca
refs #85 - Bump version number to 0.25.0.post1
olemis Jan 16, 2019
44bc5cb
[ci] refs #85 - All branches may deploy. Deploy MacOS binary wheels o…
olemis Jan 16, 2019
d698305
[ci] refs #85 - Fix PIP check when installing on GNU/Linux
olemis Jan 16, 2019
c7f0818
[ci] refs #85 #104 - Add make dist targets. Run them on Travis before…
olemis Jan 16, 2019
926a703
[ci] refs #104 - Add make check-dist target
olemis Jan 17, 2019
77f4cfa
[ci] refs #85 - Fix minor typos in install-linux.sh
olemis Jan 17, 2019
1e6a3c7
[ci] refs #104 - ls dist/ at the end of Travis after_deploy stage
olemis Jan 17, 2019
dcce7ce
Merge pull request #106 from simelo/release-0.25.0
olemis Jan 17, 2019
7e67f06
Bump version number to 0.25.1.dev
olemis Jan 17, 2019
ff83006
[docker] refs #82 Create virtualenv with 'pyskycoin' pre-installed
stdevYuniers Jan 20, 2019
a978ace
[docker] refs #82 Delete bad line in Dockerfile
stdevYuniers Jan 20, 2019
760f2ae
[docker] refs #82 Avoid use default python version of virtualenv
stdevYuniers Jan 20, 2019
e599d2c
[docker] refs #103 Add build of vscode docker image
stdevYuniers Jan 20, 2019
7bf705e
Merge remote-tracking branch 'origin/stdevYuniers_t82_pyskycoin_virtu…
stdevYuniers Jan 20, 2019
b39d5dd
[docker] refs #103 Enhance doc about how use pyskycoin docker images
stdevYuniers Jan 20, 2019
f36ab94
[docker] refs #103 Improve doc
stdevYuniers Jan 20, 2019
fe4ea3c
[docker] refs #103 Fix docker tag link
stdevYuniers Jan 20, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ __pycache__/
*.orig
Pyskycoin-*
eggs
wheelhouse/

*~

Expand All @@ -25,9 +26,14 @@ tests/mytest.py
.tox
.cache

# Temp files
*.swp
*.swo

# IDES
.idea/
.vscode/
.vscode/

# SWIG
*.kbk

82 changes: 59 additions & 23 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ matrix:
dist: xenial
python: 3.7
sudo: true
services:
- docker
env:
- TOXENV=py37
- PYTHON=3.7
Expand Down Expand Up @@ -58,40 +60,74 @@ matrix:
- PYTHON=3.7.1
- TOXENV=py37
before_install:
- cd gopath/src/github.com/skycoin/skycoin && git checkout develop && cd ${TRAVIS_BUILD_DIR}
- if [[ $TRAVIS_OS_NAME == 'linux' ]]; then bash ./.travis/install-linux.sh ; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then bash ./.travis/install-osx.sh; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then export PYCMD_VERSION="$(echo ${PYTHON} |
cut -d . -f 1,2)" ; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then export PYCMD_PATH="$(pyenv which python${PYCMD_VERSION})"
; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then export PYCMD_DIRPATH="$( dirname ${PYCMD_PATH}
)" ; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then export PATH="${PYCMD_DIRPATH}:/Users/travis/.pyenv/shims:${PATH}"
; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then eval "alias python${PYCMD_VERSION}=$(pyenv
which python${PYCMD_VERSION})" && eval "alias python2.7=$(pyenv which python2.7)";
- cd gopath/src/github.com/skycoin/skycoin && git checkout v0.25.0 && cd ${TRAVIS_BUILD_DIR}
- if [[ "$TRAVIS_OS_NAME" == 'linux' ]]; then bash ./.travis/install-linux.sh ; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then bash ./.travis/install-osx.sh; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then
export PYCMD_VERSION="$(echo ${PYTHON} | cut -d . -f 1,2)" ;
fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then pyenv versions ; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then pyenv which python${PYCMD_VERSION} ; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then eval "python${PYCMD_VERSION} --version"
; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then export PYCMD_PATH="$(pyenv which python${PYCMD_VERSION})"; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then export PYCMD_DIRPATH="$( dirname ${PYCMD_PATH})" ; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then export PATH="${PYCMD_DIRPATH}:/Users/travis/.pyenv/shims:${PATH}"; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then
eval "alias python${PYCMD_VERSION}=$(pyenv which python${PYCMD_VERSION})" && eval "alias python2.7=$(pyenv which python2.7)";
fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then pyenv versions ; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then pyenv which python${PYCMD_VERSION} ; fi
- if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then eval "python${PYCMD_VERSION} --version"; fi
- echo "PATH=$PATH"
install:
- eval "$(gimme 1.10)"
before_script:
# Install PyPA Docker images for building multilinux wheels
script:
# Test PySkycoin
- make test-ci
after_failure:
- cat ./.tox/${TOXENV}/log/${TOXENV}-*.log
script: make test-ci
notifications:
email: false
webhooks: https://fathomless-fjord-24024.herokuapp.com/notify
before_deploy:
- echo "Generating distribution archives before deploy"
- make sdist
- make bdist_wheel
- if [ $TRAVIS_OS_NAME == "linux" && $TOXENV == "py37" ]; then make bdist_manylinux_amd64 ; fi
- ls dist
deploy:
provider: pypi
user: olemis
distributions: sdist bdist_wheel
- provider: releases
api_key:
secure: kfY02m+bBVHJqwAoeJnLLPs2W7nis+YkfaU/Cb4IFsNlgjszHNDNZZikLdiO7TDw3XDLIPTHF0yesoeobA8oLiD8D1Z9n6eZg6fuQPBeOA2qOvBXasJNN+fZwJztSlr8yyVUp7OX+rWT0TNbDaqRI8MTJseKX7x8yIDi9Cxnkh6RIoPbvrdpmEvwlYf76ukC7Caw1IjBz/0QSML5C9U3hmkSNMGGzQh/oN4VexclDTP1Ze3DRXxXS8cSZMP8FaDSRt90AFErTJYO2hn4U3zCqL8eW6q/caL30hxdXN1xZuEwik3OfTiqB/86DOAVqJJAcpHCp1B/1JooSQ8SA0nsqTiw4CAAyR4a3cQcsbAM54kmbnTLj6GZg7OFn6MeYlsVpfx1E606uoHQjglHJZa0qPmwvEQE70gW9zxH3KGhiYLDba/ONtZWe0sc228jsrcqxQYvBfpRvizjpuEFPW2Bn6d8+C2mJzHWceAoUfvy1mhfZzYrrQJArewD55RFryqdjWpJg9RjF095rVWYCxq1Q90Xz1Ogx7f8y07MK747wYrgAiTcXnoX+pu6PzWYmK17y1N/9FamnUzmFUhv6xam7xFCAlR2yBvHnpJabgUjrcHnL3Ik7VQvZhPpHmf2M+xChZQgqOrcAAPz0mpUI4x1x1uudjas+WEO1fJBu01m6Xg=
file: dist/*
skip_cleanup: true
skip_existing: true
on:
all_branches: true
tags: true
repo: skycoin/pyskycoin
- provider: pypi
distributions: sdist
skip_cleanup: true
skip_existing: true
user:
secure: qPng5d9MuWToDdnABpvUvKspQJ2xj+evgBQOMxpCpXKkrp3EcJtT7VA4bi3k3RlShiKMw71+gqqpGFOO8QshRRf0qldDSzwYefUxe0/dqwuKcb77tY4yUZJtYi3MX/jmWUW0kLSedNGXv42ye4TbFxnd0yCCNVrffbIclcIapzqAECB2a61btcrLTWqaqsO5BYitEQ9VfRtv20Kx4wSjxECNGr354kYV95d74g6zF0OzxMcxha2VB4MYKQ308gX1ISF11ZuaW35ZRa81dT8/fWa9j7/xhpXVBZ6craCBtAFc3q5AcQL0FlYmhM1XFgDanhv3Uxw75mhjapyMedQFpmRT+2ej4v+Le9Etf8rxeebZRJBch0o/zw8ZRUltKSeN8comWSCwaS1NQVauhb9D0cQ7R+0ULkLkBw3E4Os+9wLWNPppw4p7v4m5SpCcD5AVeBuUFd4F9y4LNfjWGrEMfyGjcSyZqZts0xoZ3L6ta05n1vr84ah8DpQRHrMl6PeuH0dfbYRxnGEhBJcEfXZ2RmqC6EBdV1OBnWh91bUpltnwv/kG+aIhtgp/ZSQY1DukglJ2QDrXZZ0HI7TjXwYTJeScPuxsbPcluepfFrxU0K3dib8JyeJEQOfN1ioE6ln9TDGcDgTuYvBbA3ndjtqJZeWiUS7siyO9d7aE2kPZOSI=
password:
secure: Lek+1bI8jaYADO5b4oLTirI3xqdYktV/ihyGCraK+Glp/U6FwwlF3ttRpvdT9/YyVRgWEt/jePQxH+COW3WbKh54MZWCMlMKmWc4JTs6zHliAWXecAQSvPDWHjzO0F1iz839MRBfQdBUMh1g7BFi4nC886DS7ts7+p2XXGsWwtI+quOwvZ6bS0M6nMTecG8OtpYCkOAoGZI6JEoDXyIygPR5+TIWXO2QFt7KT+fsircOvDHzdA2YY/oexwUWwLLf7J0qnRm2AEx0dDjpFTCaOr6+VxdjD7F8qDoXePzVEvW7AG6k0Emx3Vuj9JiTgga8qX3ExHSXoomNhiJoOM30UbH00mdT5Fz+6HqYqFieijX/Li2fExqXXp6Za4VHMrwImrXoYQw4350F8b6QzF7E4WouBBysBZIkBEswp69783uU1lGcbU0wnyj8SN6rYIPO03MG1e5HO+Dd9avMtCMdGj3qsNlmfK0v3fAGjrYsStMQtrfOUZGTahrHPh7P3VPB4qmsJ7eNo+lFtLN0I2+ehoqMd3UH+qggdFdLQFGVMe0SWCUV9Aoyxo9vVqbnPzclsmWL44M6YRDIgOtochNiDINbdx/EA/L517GrpSDjZwvhrJkoCE7Wr9m5YcC+x8qQXCpQ4dcYAJ4C+okASAIwtjOai5dQB7TfHJfN5XzSLUI=
on:
all_branches: true
tags: true
repo: skycoin/pyskycoin
- provider: pypi
distributions: bdist_wheel
skip_cleanup: true
skip_existing: true
user:
secure: qPng5d9MuWToDdnABpvUvKspQJ2xj+evgBQOMxpCpXKkrp3EcJtT7VA4bi3k3RlShiKMw71+gqqpGFOO8QshRRf0qldDSzwYefUxe0/dqwuKcb77tY4yUZJtYi3MX/jmWUW0kLSedNGXv42ye4TbFxnd0yCCNVrffbIclcIapzqAECB2a61btcrLTWqaqsO5BYitEQ9VfRtv20Kx4wSjxECNGr354kYV95d74g6zF0OzxMcxha2VB4MYKQ308gX1ISF11ZuaW35ZRa81dT8/fWa9j7/xhpXVBZ6craCBtAFc3q5AcQL0FlYmhM1XFgDanhv3Uxw75mhjapyMedQFpmRT+2ej4v+Le9Etf8rxeebZRJBch0o/zw8ZRUltKSeN8comWSCwaS1NQVauhb9D0cQ7R+0ULkLkBw3E4Os+9wLWNPppw4p7v4m5SpCcD5AVeBuUFd4F9y4LNfjWGrEMfyGjcSyZqZts0xoZ3L6ta05n1vr84ah8DpQRHrMl6PeuH0dfbYRxnGEhBJcEfXZ2RmqC6EBdV1OBnWh91bUpltnwv/kG+aIhtgp/ZSQY1DukglJ2QDrXZZ0HI7TjXwYTJeScPuxsbPcluepfFrxU0K3dib8JyeJEQOfN1ioE6ln9TDGcDgTuYvBbA3ndjtqJZeWiUS7siyO9d7aE2kPZOSI=
password:
secure: oWPiupPzGPN4jIn8cPAus5XuQ5/sSwLs3mewMoDpnBt/N7rhvJU2QcWbKcWffKAimcOK+BEjGiqFRR2zi8J6HWa7dgumovyVX9Ojp+y8yPWeTkQ2tHLa4vlf/DaMtGTxSVqIWlpr2RANJ/aFmc7gLthnl7PiuC+EZ5mqRTRgirQkXDk+3I1BevQtvjXlYQMTSu9UaabxjX9RCHgB3uDSYTKwQhmv4ye5X501RkgB+dziq3okGbBtmGDD7I195sc0veeq7lgcCJnTC0CL9HUZKPj8i7j4zfk14ID/cv+XC3A4zZCoD5BnR3+c0PoG1vs/cLWqCgJb3GnbadEN9cDLXLLSCqCRkbOav4SpMIskOTfEjgCVkLocDaJLen3MEmj/4hyc8ayUjSulKuLgndWYTCYvQ0mXWHDHgTlsNw4zR8x+ETJPBMp69wGhHqgLivWdjdkfgMCgn5cUR47l1OD0TIWWvHMvqoXY2rL9OVT+iXdiqBvt6hQvqZQBs0BT+3DiiqTlCxi0czzhDklp/WkwA9WDo05A3SQ9CB1XjbZhcw0ulYxeOV8jC8JeWIXPH6F0ahzJqTjWXcze+AR21lbJkVgythJplRjvIPZGQRPaodNZ/jqOHARAFI5hm2Hme21K2U7UvdmsSjLSNgPN4ElzNjdIPuqCGJ5meIZYrWLmdcY=
secure: Lek+1bI8jaYADO5b4oLTirI3xqdYktV/ihyGCraK+Glp/U6FwwlF3ttRpvdT9/YyVRgWEt/jePQxH+COW3WbKh54MZWCMlMKmWc4JTs6zHliAWXecAQSvPDWHjzO0F1iz839MRBfQdBUMh1g7BFi4nC886DS7ts7+p2XXGsWwtI+quOwvZ6bS0M6nMTecG8OtpYCkOAoGZI6JEoDXyIygPR5+TIWXO2QFt7KT+fsircOvDHzdA2YY/oexwUWwLLf7J0qnRm2AEx0dDjpFTCaOr6+VxdjD7F8qDoXePzVEvW7AG6k0Emx3Vuj9JiTgga8qX3ExHSXoomNhiJoOM30UbH00mdT5Fz+6HqYqFieijX/Li2fExqXXp6Za4VHMrwImrXoYQw4350F8b6QzF7E4WouBBysBZIkBEswp69783uU1lGcbU0wnyj8SN6rYIPO03MG1e5HO+Dd9avMtCMdGj3qsNlmfK0v3fAGjrYsStMQtrfOUZGTahrHPh7P3VPB4qmsJ7eNo+lFtLN0I2+ehoqMd3UH+qggdFdLQFGVMe0SWCUV9Aoyxo9vVqbnPzclsmWL44M6YRDIgOtochNiDINbdx/EA/L517GrpSDjZwvhrJkoCE7Wr9m5YcC+x8qQXCpQ4dcYAJ4C+okASAIwtjOai5dQB7TfHJfN5XzSLUI=
on:
all_branches: true
tags: true
repo: skycoin/pyskycoin
condition: "$TOXENV = py37"
condition: $TRAVIS_OS_NAME = "osx"
# TODO: Upload manylinux wheels to PyPI
20 changes: 20 additions & 0 deletions .travis/build_wheels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash
set -e -x

# Install system packages required by our library
yum install -y sudo pcre pcre-devel
mkdir -p "$HOME/bin"
PIP=/opt/python/cp27-cp27m/bin/pip source /io/.travis/install-linux.sh
eval "$(gimme 1.10)"

# Compile wheels
for PYBIN in /opt/python/*/bin; do
"${PYBIN}/pip" install -r /io/requirements.dev.txt
"${PYBIN}/pip" wheel /io/ -w wheelhouse/
done

# Bundle external shared libraries into the wheels
for whl in wheelhouse/*.whl; do
auditwheel repair "$whl" -w /io/wheelhouse/
done

12 changes: 12 additions & 0 deletions .travis/check_wheels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

#!/bin/bash
set -e -x

# Code that follows assumes that wheels have been generated by build_wheels.sh

# Install packages and test
for PYBIN in /opt/python/*/bin/; do
"${PYBIN}/pip" install pyskycoin --no-index -f /io/wheelhouse
(cd /io ; "${PYBIN}/python" -m pytest --showlocals tests )
done

20 changes: 15 additions & 5 deletions .travis/install-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,27 @@

set -ev

# Environment checks
if [ "$PIP" == "" ]; then
export PIP='python -m pip'
fi

# Repository root path
REPO_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/.."
echo "Install Linux packages from $REPO_ROOT"

# Install gimme
curl -sL -o ~/bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme
chmod +x ~/bin/gimme
curl -sL -o "$HOME/bin/gimme" https://raw.githubusercontent.com/travis-ci/gimme/master/gimme
chmod +x "$HOME/bin/gimme"

#Install Python libraries
python -m pip install --upgrade pip setuptools wheel tox tox-travis tox-pyenv pytest pytest-runner
# Install Python libraries
$PIP install --upgrade pip setuptools tox-travis
$PIP install -r "$REPO_ROOT/requirements.dev.txt"

# Compile SWIG
mkdir swig_build && \
cd swig_build && \
wget http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz && \
curl -sL -o "swig-3.0.12.tar.gz" http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz && \
tar -zxf swig-3.0.12.tar.gz && \
cd swig-3.0.12 && \
sudo ./configure --prefix=/usr && \
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Add `make help`
- Add Python-specific SWIG interface files
- Add `skycoin/skycoindev-python:develop` Docker image including Python `3.4`, `3.5`, `3.6`, and `3.7`
- Support for Skycoin `api`, `cipher`, `cli`, `coin`, `params`, `util`, `wallet`, `wallet_option`.

### Fixed

Expand Down
3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ recursive-include . *.md
# Include the license file
include LICENSE.txt

include requirements.txt
include requirements.dev.txt

include Makefile
include gopath/src/github.com/skycoin/skycoin/Makefile
recursive-exclude *.a
Expand Down
35 changes: 34 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
.DEFAULT_GOAL := help
.PHONY: configure build-libc build-swig develop build-libc-swig build
.PHONY: test test-ci help

# Compilation output
.ONESHELL:
SHELL := /bin/bash
Expand All @@ -11,6 +15,7 @@ BUILDLIBC_DIR = $(SKYBUILD_DIR)/libskycoin
LIBC_DIR = $(SKYCOIN_DIR)/lib/cgo
LIBSWIG_DIR = swig
BUILD_DIR = build
DIST_DIR = dist
BIN_DIR = $(SKYCOIN_DIR)/bin
INCLUDE_DIR = $(SKYCOIN_DIR)/include
FULL_PATH_LIB = $(PWD)/$(BUILDLIBC_DIR)
Expand All @@ -29,6 +34,7 @@ endif
configure: ## Configure build environment
mkdir -p $(BUILD_DIR)/usr/tmp $(BUILD_DIR)/usr/lib $(BUILD_DIR)/usr/include
mkdir -p $(BUILDLIBC_DIR) $(BIN_DIR) $(INCLUDE_DIR)
mkdir -p $(DIST_DIR)

$(BUILDLIBC_DIR)/libskycoin.a: $(LIB_FILES) $(SRC_FILES) $(HEADER_FILES)
rm -f $(BUILDLIBC_DIR)/libskycoin.a
Expand All @@ -40,7 +46,7 @@ $(BUILDLIBC_DIR)/libskycoin.a: $(LIB_FILES) $(SRC_FILES) $(HEADER_FILES)

build-libc: configure $(BUILDLIBC_DIR)/libskycoin.a ## Build libskycoin C client library

build-swig: ## Generate Pyhton C module from SWIG interfaces
build-swig: ## Generate Python C module from SWIG interfaces
#Generate structs.i from skytypes.gen.h
rm -f $(LIBSWIG_DIR)/structs.i
cp $(INCLUDE_DIR)/skytypes.gen.h $(LIBSWIG_DIR)/structs.i
Expand All @@ -64,12 +70,39 @@ develop: ## Install PySkycoin for development
build-libc-swig: build-libc build-swig

build: build-libc-swig ## Build PySkycoin Python package
$(PYTHON_BIN) setup.py build

test-ci: ## Run tests on (Travis) CI build
tox

test: build-libc build-swig develop ## Run project test suite
$(PYTHON_BIN) setup.py test

sdist: ## Create source distribution archive
$(PYTHON_BIN) setup.py sdist --formats=gztar

bdist_wheel: ## Create architecture-specific binary wheel distribution archive
$(PYTHON_BIN) setup.py bdist_wheel

# FIXME: After libskycoin 32-bits binaries add bdist_manylinux_i686
bdist_manylinux: bdist_manylinux_amd64 ## Create multilinux binary wheel distribution archives

bdist_manylinux_amd64: ## Create 64 bits multilinux binary wheel distribution archives
docker pull quay.io/pypa/manylinux1_x86_64
docker run --rm -t -v $(PWD):/io quay.io/pypa/manylinux1_x86_64 /io/.travis/build_wheels.sh
ls wheelhouse/
cp -v wheelhouse/* $(DIST_DIR)

bdist_manylinux_i686: ## Create 32 bits multilinux binary wheel distribution archives
docker pull quay.io/pypa/manylinux1_i686
docker run --rm -t -v $(PWD):/io quay.io/pypa/manylinux1_i686 linux32 /io/.travis/build_wheels.sh
ls wheelhouse/
cp -v wheelhouse/* $(DIST_DIR)

dist: sdist bdist_wheel bdist_manylinux_amd64 ## Create distribution archives

check-dist: dist ## Perform self-tests upon distributions archives
docker run --rm -t -v $(PWD):/io quay.io/pypa/manylinux1_i686 linux32 /io/.travis/check_wheels.sh

help: ## List available commands
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ The project has two branches: `master` and `develop`.

Separate stable development branches will be created to work on releases for supporting the
most recent stable version of Skycoin. The name of these branches should be the Skycoin
imajor and minor version numbers followed by `dev` suffix e.g. `0.25dev`.
major and minor version numbers followed by `dev` suffix e.g. `0.25dev`.
These branches may be forked out of either `master` or `develop` branches, and
the submodule at `gopath/src/github.com/skycoin/skycoin` has to be
in sync with the corresponding tag of `skycoin/skycoin` official repository.
Expand Down Expand Up @@ -224,10 +224,10 @@ $ make test
0. Update `__version__` in `skycoin/__init__.py`
0. Run `make build` to make sure that the code base is up to date
0. Update `CHANGELOG.md`: move the "unreleased" changes to the version and add the date.
0. Update files in https://github.com/skycoin/repo-info/tree/master/repos/skycoin/remote for `skycoin/skycoin-python` Docker image, adding a new file for the new version and adjusting any configuration text that may have changed
0. Follow the steps in [pre-release testing](#pre-release-testing)
0. Make a PR merging the release branch into `master`
0. Review the PR and merge it
0. Update files in https://github.com/skycoin/repo-info/tree/master/repos/skycoin/remote for `simelotech/skycoindev-dotnet` Docker image, adding a new file for the new version and adjusting any configuration text that may have changed
0. Tag the `master` branch with the version number. Version tags start with `v`, e.g. `v0.20.0`. Sign the tag. If you have your GPG key in github, creating a release on the Github website will automatically tag the release. It can be tagged from the command line with `git tag -as v0.20.0 $COMMIT_ID`, but Github will not recognize it as a "release".
0. Release builds are created and uploaded by travis. To do it manually, checkout the master branch and follow the [create release builds instructions](#creating-release-builds).
0. Checkout `develop` branch and bump `__version__` to next [`dev` version number](https://www.python.org/dev/peps/pep-0440/#developmental-releases).
Expand All @@ -243,7 +243,7 @@ make integration-test

#### Creating release builds

Release builds should be created from `master` branch . After [updating release version](#update-the-version) it is necessary to follow these steps
Release builds should be created from git tags . After [updating release version](#update-the-version) it is necessary to follow these steps

```sh
cd /path/to/pyskycoin
Expand Down
Loading