Skip to content
This repository has been archived by the owner on Sep 13, 2023. It is now read-only.

Commit

Permalink
Inital commit
Browse files Browse the repository at this point in the history
  • Loading branch information
pando85 committed Feb 2, 2019
0 parents commit de8c8c7
Show file tree
Hide file tree
Showing 19 changed files with 1,276 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .ci/make_changelog.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
set -e

NEW_LOG=$(git log $(git describe --tags --abbrev=0 HEAD^)..HEAD --pretty=format:'- %s'| sort | grep -v Merge | grep -v Release)

echo "# $(git describe --tags --abbrev=0 HEAD)"$'\n'$'\n'"${NEW_LOG}"$'\n'$'\n'"$(cat CHANGELOG.md)" > CHANGELOG.md

if [ ! -z "${TRAVIS_REPO_SLUG}" ]; then
git config user.name "tracis-ci"
git config user.email "travis-ci@travis-ci.org"
git add CHANGELOG.md
git commit -m 'Update changelog'
git push "https://$GITHUB_TOKEN@github.com/$TRAVIS_REPO_SLUG" HEAD:$TRAVIS_BRANCH
fi
21 changes: 21 additions & 0 deletions .ci/tag_version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
set -e

check_version_changes(){
git diff $(git describe --tags --abbrev=0 HEAD)..HEAD -- aiofunctools/__init__.py | grep --quiet +__version__;
};

if ! check_version_changes; then
echo "Not version changed"
exit
fi
VERSION=$(python -c 'import aiofunctools; print(aiofunctools.__version__)')

if [ ! -z "${TRAVIS_REPO_SLUG}" ]; then
git tag -a $VERSION -m "version $VERSION"
git push "https://$GITHUB_TOKEN@github.com/$TRAVIS_REPO_SLUG" $VERSION
fi

WORKDIR=$(dirname $(realpath $0))

bash $WORKDIR/make_changelog.sh
49 changes: 49 additions & 0 deletions .ci/update_dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/bin/bash
set -e

if [ -z "${WORKON_HOME}" ]; then
PIP=.venv/aiofunctools/bin/pip
else
PIP=$WORKON_HOME/aiofunctools/bin/pip
fi

update_packages(){
packages=$($PIP list --outdated --local --format=freeze | \
grep -v '^\-e' | cut -d = -f 1 )

for package in $(echo $packages);
do
$PIP install -U $package;
done;
};

update_requirements(){
temp_file=$(mktemp)
requirements_file=${1:=requirements.txt}
echo Update $requirements_file
for i in $(cat $requirements_file);
do
package_name=$(echo $i | cut -d'[' -f1 | cut -d= -f1)
version=$($PIP freeze --local | egrep "^${package_name}" | grep ${package_name}= | cut -d= -f3);
echo "$(echo $i | cut -d= -f1)==${version}" >> $temp_file;
done;
cp $temp_file $requirements_file;
};

echo Update packages
update_packages
update_requirements requirements.txt

if ! git diff --exit-code -- requirements.txt; then
echo "Updated requirements"
echo Run unit tests
make test

if [ ! -z "${TRAVIS_REPO_SLUG}" ]; then
git config user.name "tracis-ci"
git config user.email "travis-ci@travis-ci.org"
git add requirements.txt
git commit -m 'Update requirements.txt'
git push "https://$GITHUB_TOKEN@github.com/$TRAVIS_REPO_SLUG" HEAD:$TRAVIS_BRANCH
fi
fi
8 changes: 8 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[run]
branch = True
source =
aiofunctools

[report]
exclude_lines =
if __name__ == .__main__.:
104 changes: 104 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
69 changes: 69 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---

sudo: true

dist: xenial
language: python
python:
- '3.6'
- '3.7'

cache: pip
before_cache:
- rm -f $HOME/.cache/pip/log/debug.log

# Only execute travis in master, PR to master or tags
branches:
only:
- master
- /^[0-9]*\.[0-9]*\.[0-9]*$/

install:
- make requirements_test
script:
- make test

matrix:
fast_finish: true

jobs:
include:
- stage: "update-dependencies"
if: branch = master AND type != pull_request AND tag IS NOT present
install:
- make requirements_test
script:
- bash .ci/update_dependencies.sh
env:
secure: "PDyDvOZktSGAjkUQXLjhDoVBN5BYJOAjCKzMP82UNX9SihPvod2MU8YRKMYwq1e2yewjxn4XF4M5cp++gCcidrOCp7XjkqUjDifMaoyCJV0W9OjOARhw8cAkzqvRxYDnjO7h9xWTA+sm6lwdGZHSMiiNKGbw6CuH/+6YY4IOiCG3zvpIYZrxywVGwe6BvFuq044X9lDWdMWzZ5n9BuhmvJ9pLvOUJeN6T4B6g9f2I0aj7fL5QynCJXahUy1adpXcLdoLL5nKs81qLVmSdRlF+IuVjD/oN5fIWoP4uAiAQi3buXzTYnge1vbLuqxpfelKTEtD6UnhzJJxzBIDd2ys+ayM1wA5fcUJvJu/VXMCaA7m4JkNEn0DswuNp0EHlPsou0oPvs7vGZbHPlL4uQ72zGsLeXsbxas55wdU8vhvdyBeULgFWA4MPe24Ziup5uK7HF755o7S0QUQQscSMglmgjVlLnN6EnDihHoTGsg/feMg4rX4spkISb48HqJCGFb4plzkQAyJ39+j470yBhnfwLbbLoV/MQzPmkoSCsGHCIhB7GuUneC37tksYxhTYUiaC7SicEeJ9HGqDBERwZpBG81ZQche4p6OuRIZMyvvJNL2fIDSf6bQXveToWmzWbwCm/d4luGb9kkn1i3ySofUH5RstO4iJJlt1SiX2Qdq3ig="
- stage: "tag version"
if: branch = master AND type != pull_request AND tag IS NOT present
script:
- bash .ci/tag_version.sh
env:
secure: "PDyDvOZktSGAjkUQXLjhDoVBN5BYJOAjCKzMP82UNX9SihPvod2MU8YRKMYwq1e2yewjxn4XF4M5cp++gCcidrOCp7XjkqUjDifMaoyCJV0W9OjOARhw8cAkzqvRxYDnjO7h9xWTA+sm6lwdGZHSMiiNKGbw6CuH/+6YY4IOiCG3zvpIYZrxywVGwe6BvFuq044X9lDWdMWzZ5n9BuhmvJ9pLvOUJeN6T4B6g9f2I0aj7fL5QynCJXahUy1adpXcLdoLL5nKs81qLVmSdRlF+IuVjD/oN5fIWoP4uAiAQi3buXzTYnge1vbLuqxpfelKTEtD6UnhzJJxzBIDd2ys+ayM1wA5fcUJvJu/VXMCaA7m4JkNEn0DswuNp0EHlPsou0oPvs7vGZbHPlL4uQ72zGsLeXsbxas55wdU8vhvdyBeULgFWA4MPe24Ziup5uK7HF755o7S0QUQQscSMglmgjVlLnN6EnDihHoTGsg/feMg4rX4spkISb48HqJCGFb4plzkQAyJ39+j470yBhnfwLbbLoV/MQzPmkoSCsGHCIhB7GuUneC37tksYxhTYUiaC7SicEeJ9HGqDBERwZpBG81ZQche4p6OuRIZMyvvJNL2fIDSf6bQXveToWmzWbwCm/d4luGb9kkn1i3ySofUH5RstO4iJJlt1SiX2Qdq3ig="
- stage: "deploy"
install:
- pip install -r requirements.txt
script: skip
if: type != pull_request AND tag IS present
#before_deploy:
# - export BODY="$(git log $(git describe --tags --abbrev=1 HEAD^^)..HEAD^ --pretty=format:'- %s' | jq -aR .)"
deploy:
- provider: pypi
user: "pando85"
password:
secure: "R2EI0w4tJBO1rjfu6WPZW7lk1DRJxKbKZI6je1PM5c9I/0S1slhw6oEW2i9ElL9SzZwUuqpoZBmNMhiRkxXO1AAMv9KV+3HMjut8TyAohUvdZidxQhd5gDis3u0HCInP2jRSU/1l+E/L60O/beN5t6k7TyRXnq95IhX2j9XWAPdkLkiUEi1lZ+z5kd47aBtRWSpj6xGj8ku6eUm0TyIDYJUghRf6Nfe6JJ3e5oiiT7aO1JXF3JIyEqwzoS0Eo2AvkBQXD4kycNEtEwmMYaVZozyLi10wrwfJaLpMn+79vRzaynUKDa5suWdKKtdbD8zi4ilLDKQVilDcmFoOT8seLKfuwexy06RDuYtFFTjbzP57UjMM/KpjipiLWbQGcKFNMKTUpcca93ALlL3VR2hm1ezkCLakpQj+vLGAwjcX6Egk1UsMlEi+QkLIwp0LGTNNuTcBFUb7Khru64oGqVGwnKvyRrATDPyj/7hlGAy5BMr238cMe1zzDSd7ik+wRALjOiSlGmqEJMDipdkFdBzwkHJnrfdjdcTvSCTAHcIbfjsJR7BMT3fD9PPRcp5VrjSQTUTKMOi3TaIEfDndyLQ+8xJlAiYMjkP0r8Y7+r2SKvq8B7KEeu1WApS+2KWqM+SC7NxMdU3lf+3ZcEzv3im3FnDYMUhYf05LFvkdl0CAPH4="
distributions: "bdist_wheel"
on:
tags: true
- provider: releases
api_key: "$GITHUB_TOKEN"
# body: "$BODY"
file_glob: true
file: dist/*
skip_cleanup: true
on:
tags: true
env:
secure: "PDyDvOZktSGAjkUQXLjhDoVBN5BYJOAjCKzMP82UNX9SihPvod2MU8YRKMYwq1e2yewjxn4XF4M5cp++gCcidrOCp7XjkqUjDifMaoyCJV0W9OjOARhw8cAkzqvRxYDnjO7h9xWTA+sm6lwdGZHSMiiNKGbw6CuH/+6YY4IOiCG3zvpIYZrxywVGwe6BvFuq044X9lDWdMWzZ5n9BuhmvJ9pLvOUJeN6T4B6g9f2I0aj7fL5QynCJXahUy1adpXcLdoLL5nKs81qLVmSdRlF+IuVjD/oN5fIWoP4uAiAQi3buXzTYnge1vbLuqxpfelKTEtD6UnhzJJxzBIDd2ys+ayM1wA5fcUJvJu/VXMCaA7m4JkNEn0DswuNp0EHlPsou0oPvs7vGZbHPlL4uQ72zGsLeXsbxas55wdU8vhvdyBeULgFWA4MPe24Ziup5uK7HF755o7S0QUQQscSMglmgjVlLnN6EnDihHoTGsg/feMg4rX4spkISb48HqJCGFb4plzkQAyJ39+j470yBhnfwLbbLoV/MQzPmkoSCsGHCIhB7GuUneC37tksYxhTYUiaC7SicEeJ9HGqDBERwZpBG81ZQche4p6OuRIZMyvvJNL2fIDSf6bQXveToWmzWbwCm/d4luGb9kkn1i3ySofUH5RstO4iJJlt1SiX2Qdq3ig="
2 changes: 2 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
}
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# 0.2.21

- Fix/bind error async (#58)
- Fix: write all commits to CHANGELOG, not just last one (#57)
- Update changelog

# 0.2.20

- Refactor/pass pool to db functions (#56)

# 0.2.19

- Fix/handle jwt error (#53)

# 0.2.18

- Fix/ampq client (#52)

# 0.2.17

- Fix/mq template (#51)

# 0.2.16

- Feature/validate body and params (#49)

# 0.2.15

- Fix/403 validate scope (#48)

# 0.2.14

- Feature/oauth fix 403 (#47)

# 0.2.13

- Feature/scopes (#46)

# 0.2.12

- Fix: only commit when requirements changed

0 comments on commit de8c8c7

Please sign in to comment.