Skip to content

Commit

Permalink
Release v0.7.2 (#371)
Browse files Browse the repository at this point in the history
* Tweak Travis CI Configuration (#360)

* drop sudo: false

* remove explicit dist

* simplify build matrix

* change flake8 toxenv name to avoid matching tox-travis default prefixes

* Remove unnecessary `export PATH` "script" step

* Simplify env from list to k/v string

* Clarifying comment re: flake8

* Simplify "allowed failures" row matching

* Speed up overall build time with fast_finish: true

* Rearrange comment to same line being commented on

* Include python 3.7 build jobs

* Bump 0.11 and 1.0 Vault vers to latest patch ver

* Also run flake8 for python 3.7

* Also include "py37" on the tox side of things

* Keep "dist: xenial" for python 3.7 availability

* Tweak flake8 job names for readability

* Shorten comment

* Backporting Master (#362)

* fix double slash (#352)

When called, double slash results in 301 HTTP code and the redirect which is necessary

* Release v0.7.1 (#357)

* Develop is the new integration branch

* Handle "Misses" for Identity Secrets Lookups (#331)

* Regression tests for group lookup misses

* Return None for group lookup misses

* Regression tests for entity lookup misses

* Return None for entity lookup misses

* Also update docstrings

* Move Test Cases out of Package Directory (#334)

* use utils function to get test data path

* rename test => tests and move contents into config_files subdir

* Move scripts subdir under tests dir in root

* Move generate.sh into scripts subdir

* Update paths in generate_test_cert.sh

* clean up config_files readme a smidge

* move test dir into repo root dir

* update import paths

* start breaking out test utils into module

* Break out mock_github_request_handler

* Break out hvac_integration_test_case

* Break out server_manager

* Remove .coveragerc until / unless it is needed once again

* Add Okta Auth Method Class (#341)

* Rename auth subdir under unit_tests

* bonus GCP docs heading fix

* Add Okta auth method docs

* Add Okta auth method test cases

* Add Okta auth method class implementation

* Add pretty_print arg to create_or_update_policy (#342)

* Add pretty_print arg

* Skip new test on Vault v0.11.0

* Bump Vault Versions - Vault v1.0.0 (#344)

* fix TOXENV for 3.6 jobs

* Drop v0.8.3, add v1.0.0

* Update readme

* Handle different response keys in Vault v1.0.0

* Also work around new list response return type

* Add get_generate_root_otp utils method for v1.0.0 and/or previous vers

* Update missed TOXENV arg under allow_failures dict

* Call out why v0.11.0 is hanging about

* Clarify name/purpose of vault ver comparison methods

* Fix identity group conditionals (#346)

* Add regression tests

* Fix member entity/group ids logic in group methods

* DRY up conditional logic

* Add missing docstring content

* Gcp login doc update for issue 345 (#350)

* Clarify source links

* add google-api-python-client example

* Clean up unintentional modification

* Fix For read_health_status() Exception Handling (#347)

* Add url param for create_client

* Install consul for test cases involving Vault HA

* Update test harness with optional Vault HA / consul set up

* Add regerssion test cases for issue #339

* Add raise_exception param to requests

* Use raise_exception param in read_health_status method

* Add ipaddress module per github.com/urllib3/urllib3/issues/1117?

Somehow ended up with this urllib3 error for python 2.7 otherwise:
"urllib3.connection: ERROR: Certificate did not match expected hostname:
127.0.0.1. Certificate: {'serialNumber': u'8D267F50728FF454',
'subject': ((('commonName', u'localhost'),),),
'notAfter': 'May 14 22:44:13 2025 GMT',
'notBefore': u'May 17 22:44:13 2015 GMT',
'subjectAltName': (('DNS', 'localhost'), ('IP Address', '127.0.0.1')),
'issuer': ((('commonName', u'localhost'),),), 'version': 3L}

* Clarify docstring a bit

* Also add cases to cover both HEAD and GET methods

* Remove standby node magic strings; use method instead

* Fix seal_status Call (#354)

* Add regression tests

* Fix seal_status call

* More meaningful assertion

* Fix Request Redirection Handling (#348)

* simplify chained comparison

* Ensure regression unit test case coverage for paths/redirects

* Revert redirection handling back to the requests module

* Handle double slashes in paths

* Fix syntax for python 2.7

* Log when we transform a requested url

* Explictly assert that we have the expect requests in mocker history

* Clarify lease docs (#355)

* Updates for upcoming release 0.7.1

* Bump patch version to 0.7.1

* prune tests from packages (#356)

* Wait for test kvv2 secrets engine to show up in list (#361)

* Set "skip_missing_interpreters" to true in global tox config (#363)

* Set "skip_missing_interpreters" to true in global tox config

* go full env string expansion 😝 cause why not

* Fix For Intermittent Health Test Case Failure (#364)

* Ensure we get an active node when needed

* Remove unneeded debug call

* Simplify flake8 env for travis-ci + tox (#365)

* Simplify flake8 env for travis-ci + tox

* Add missing comma

* Test Documentation Compilation (#366)

* Update docs requirements to be more explicit

* Test that docs can build cleanly

* Fix m2r requirement

* Clearer job name

* Default to first python ver in the matrix...

* Further clarify job name

* Reorder tox directives a smidge...

* Cleanup setup.py a bit (#367)

* Update author / author_email

* Move some auxiliary logic into methods

* gmai.com -> gmail.com

* reorder author names

* Use pip-compile For All Requirements (#368)

* Add section covering requirement updates

* Add .in req files, breakout parser (pyhcl) extra_require

* pip-compile all the things

* Pull in latest reqs for docs for good measure

* Add update-all-reqs Makefile targets

* Define "parser" requirements in just one place

* Add clarifying comment

* Simplify new Makefile targets a smidge

* comment bout comments

* Makefile clarifying comment

* Use abs paths starting from setup.py location

* Also dynamically populate install_requires

* Revert requirements loading in setup.py; tis a silly thing to do

* Bump install_requires / extras_require min versions

* Drop extra "parser" requirements as its not strictly needed

* Drop use of "version" file (#369)

* Drop use of "version" file

* Clarify updated bumpversion release step

* Fix grammerz

* Remove inadvertently committed hvac/version file

* Organize imports

* Add AWS Secrets Engine Class (#370)

* auto generated script

* Include Docs

* "Implement" Aws class

* Tweak docstrings and whatnot

* Param tweaks

* update convert ttl for aws secrets return values

* First pass on aws secrets engine tests

* Fix headings

* Cleanup unused mock server logic, additional role params

* Accept policy_document dict param type

* Start filling in aws secrets docs

* E501 line too long (162 > 160 characters)

* First pass at handling legacy params

* Different status code from Vault v0.11.0 :\

* Fill in legacy_params-related comments / docstrings

* Also update docs

* Add contents section and upper case heading

* Adding a Twitter Badge (#372)

* Split up icons with linebreaks

* Add Twitter badge for @hvac_python

* Adding Header image (#373)

* Add header image

* Update twitter handle

* Update content email and test URLs

* Commit header image

* Update header image URL to final resting place

* Changelog updates for v0.7.2 release

* Update release steps

* Update copyright date

* Bump version: 0.7.1 → 0.7.2

* Clean up vestigial version target reference
  • Loading branch information
jeffwecan committed Jan 1, 2019
1 parent fa57471 commit b9591bb
Show file tree
Hide file tree
Showing 35 changed files with 1,200 additions and 194 deletions.
9 changes: 9 additions & 0 deletions .bumpversion.cfg
@@ -0,0 +1,9 @@
[bumpversion]
current_version = 0.7.2
commit = True
tag = True

[bumpversion:file:setup.py]

[bumpversion:file:docs/conf.py]

2 changes: 0 additions & 2 deletions .gitignore
Expand Up @@ -11,7 +11,5 @@ test/*.log
/cover
*~

/hvac/version

# sphinx build folder
docs/_build/
102 changes: 19 additions & 83 deletions .travis.yml
@@ -1,93 +1,29 @@
dist: xenial
sudo: false
language: python
python:
- '2.7'
- '3.6'
- '3.7'
env:
- HVAC_VAULT_VERSION=0.9.6
- HVAC_VAULT_VERSION=0.10.4
- HVAC_VAULT_VERSION=0.11.0 # This ver kept explicitly; it has subsequently reverted backwards-incompatible changes.
- HVAC_VAULT_VERSION=0.11.6
- HVAC_VAULT_VERSION=1.0.1
- HVAC_VAULT_VERSION=HEAD
- TOXENV=flake8
matrix:
include:
- name: 'Python v2.7, Vault v0.9.6 - Integration/Unit Tests'
python: '2.7'
env:
- TOXENV=py27
- HVAC_VAULT_VERSION=0.9.6
- name: 'Python v2.7, Vault v0.10.4 - Integration/Unit Tests'
python: '2.7'
env:
- TOXENV=py27
- HVAC_VAULT_VERSION=0.10.4
# Leaving Vault v0.11.0 since it has some backwards-incompatible changes that were reverted in later versions.
- name: 'Python v2.7, Vault v0.11.0 - Integration/Unit Tests'
python: '2.7'
env:
- TOXENV=py27
- HVAC_VAULT_VERSION=0.11.0
- name: 'Python v2.7, Vault v0.11.5 - Integration/Unit Tests'
python: '2.7'
env:
- TOXENV=py27
- HVAC_VAULT_VERSION=0.11.5
- name: 'Python v2.7, Vault v1.0.0 - Integration/Unit Tests'
python: '2.7'
env:
- TOXENV=py27
- HVAC_VAULT_VERSION=1.0.0
- name: 'Python v2.7, Vault HEAD ref - Integration/Unit Tests'
python: '2.7'
env:
- TOXENV=py27
- HVAC_VAULT_VERSION=HEAD
- name: 'Python v2.7 - Linting (flake8)'
python: '2.7'
env:
- TOXENV=py27-flake8
- name: 'Python v3.6, Vault v0.9.6 - Integration/Unit Tests'
python: '3.6'
env:
- TOXENV=py36
- HVAC_VAULT_VERSION=0.9.6
- name: 'Python v3.6, Vault v0.10.4 - Integration/Unit Tests'
python: '3.6'
env:
- TOXENV=py36
- HVAC_VAULT_VERSION=0.10.4
# Leaving Vault v0.11.0 since it has some backwards-incompatible changes that were reverted in later versions.
- name: 'Python v3.6, Vault v0.11.0 - Integration/Unit Tests'
python: '3.6'
env:
- TOXENV=py36
- HVAC_VAULT_VERSION=0.11.0
- name: 'Python v3.6, Vault v0.11.5 - Integration/Unit Tests'
python: '3.6'
env:
- TOXENV=py36
- HVAC_VAULT_VERSION=0.11.5
- name: 'Python v3.6, Vault v1.0.0 - Integration/Unit Tests'
python: '3.6'
env:
- TOXENV=py36
- HVAC_VAULT_VERSION=1.0.0
- name: 'Python v3.6, Vault HEAD ref - Integration/Unit Tests'
python: '3.6'
env:
- TOXENV=py36
- HVAC_VAULT_VERSION=HEAD
- name: 'Python v3.6 - Linting (flake8)'
python: '3.6'
env:
- TOXENV=py27-flake8
- name: 'Test Documentation Build - Sphinx: "make html"'
env: TOXENV=docs
allow_failures:
- name: 'Python v2.7, Vault HEAD ref - Integration/Unit Tests'
python: '2.7'
env:
- TOXENV=py27
- HVAC_VAULT_VERSION=HEAD
- name: 'Python v3.6, Vault HEAD ref - Integration/Unit Tests'
python: '3.6'
env:
- TOXENV=py36
- HVAC_VAULT_VERSION=HEAD
# Ignore failed tests run against Vault builds using the HEAD ref at: https://github.com/hashicorp/vault.
- env: HVAC_VAULT_VERSION=HEAD
# Don't wait on the "allow_failures" build jobs before reporting on the overall success/failure of the current build.
fast_finish: true
install:
- tests/scripts/install-consul.sh
- tests/scripts/install-vault.sh ${HVAC_VAULT_VERSION}
- pip install tox
- pip install tox-travis
script:
- export PATH=$HOME/bin:$PATH
- make test
16 changes: 16 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,21 @@
# Changelog

## 0.7.2 (January 1st, 2019)

IMPROVEMENTS:

* Support for the AWS secrets engine. [GH-370](https://github.com/hvac/hvac/pull/370)

BUG FIXES:

* Fixes for intermittent test case failures. [GH-361](https://github.com/hvac/hvac/pull/361) & [GH-364](https://github.com/hvac/hvac/pull/364)

MISCELLANEOUS:

* Travis CI builds now run against Python 3.7 (along side the previously tested 2.7 and 3.6 versions). [GH-360](https://github.com/hvac/hvac/pull/360)
* Documentation build test case added. [GH-366](https://github.com/hvac/hvac/pull/366)
* Module version now managed by the `bumpversion` utility exclusively. [GH-369](https://github.com/hvac/hvac/pull/369)

## 0.7.1 (December 19th, 2018)

IMPROVEMENTS:
Expand Down
32 changes: 11 additions & 21 deletions CONTRIBUTING.md
Expand Up @@ -11,6 +11,11 @@ the latest `vault` binary is available in your `PATH`.
2. [Install Tox](http://tox.readthedocs.org/en/latest/install.html)
3. Run tests: `make test`

## Updating Requirements

This project uses [pip-tool's](https://pypi.org/project/pip-tools/) `pip-compile` utility to manage its various requirements.
Any given requirements file can be manually updated by following the pip-compile comments at the top of the file. Alternatively, the `update-all-requirements` Makefile target can be used to update requirements across the board (this has a dependency on docker being available).

## Documentation

### Examples
Expand All @@ -32,26 +37,18 @@ The follow list uses version number `0.6.2`, this string should be updated to ma
```
make distclean
```
- [ ] Checkout a working branch based on the `develop` branch:
- [ ] Checkout the `develop` branch:
```
git checkout develop
git pull
git checkout -b master_v0-6-2
```
- [ ] Update [CHANGELOG.md](CHANGELOG.md) with a list of the included changes. Those changes can be reviewed, and their associated GitHub PR number confirmed, via GitHub's pull request diff using the previous version's tag. E.g.: [https://github.com/hvac/hvac/compare/v0.6.1...master](https://github.com/hvac/hvac/compare/v0.6.1...master)
- [ ] Commit the changelog changes:
```
git add CHANGELOG.md
git commit -S -m "Updates for upcoming release 0.6.2"
```
- [ ] Update version number using [bumpversion](https://github.com/peritus/bumpversion). This example is for the "patch" version but can also be "minor" or "major" as needed.
- [ ] Update [CHANGELOG.md](CHANGELOG.md) with a list of the included changes. Those changes can be reviewed, and their associated GitHub PR number confirmed, via GitHub's pull request diff. E.g.: [https://github.com/hvac/hvac/compare/master...develop](https://github.com/hvac/hvac/compare/master...develop). Then commit the changes:
```
bumpversion patch version
git commit CHANGELOG.md -m 'Changelog updates for vX.X.X release'
```
- [ ] Commit the version changes:
- [ ] Update version number using [bumpversion](https://github.com/peritus/bumpversion). Releases typically just use the "patch" bumpversion option; but "minor" and "major" are available as needed as needed. This will also add an appropriate git commit and tag for the new version.
```
git add version setup.cfg
git commit -S -m "Bump patch version to $(cat version)"
bumpversion {patch|minor|major}
```
- [ ] Install the package again for local development, but with the new version number:
```
Expand Down Expand Up @@ -82,14 +79,7 @@ The follow list uses version number `0.6.2`, this string should be updated to ma
```
- [ ] Create a **draft** GitHub release using the contents of the new release version's [CHANGELOG.md](CHANGELOG.md) content: https://github.com/hvac/hvac/releases/new
- [ ] Upload the sdist and whl files to the draft GitHub release as attached "binaries".
- [ ] Push up the working branch (`git push`) and open a PR to merge the working branch into master: [https://github.com/hvac/hvac/compare/master...master_v0-6-2](https://github.com/hvac/hvac/compare/master...master_v0-6-2)
- [ ] After merging the working branch into master, tag master with the release version and push that up as well:
```
git checkout master
git pull
git tag "v$(cat version)"
git push "v$(cat version)"
```
- [ ] Git push the updated develop branch (`git push`) and open a PR to merge the develop branch into master: [https://github.com/hvac/hvac/compare/master...develop](https://github.com/hvac/hvac/compare/master...develop)

- [ ] Publish the sdist and wheel artifacts to [PyPI](https://pypi.org/) using [twine](https://pypi.org/project/twine/):
```
Expand Down
1 change: 0 additions & 1 deletion MANIFEST.in
@@ -1,2 +1 @@
prune tests/
include hvac/version
33 changes: 26 additions & 7 deletions Makefile
@@ -1,16 +1,35 @@
test: version
tox
PYTHON_IMAGE ?= wpengine/python
REQUIREMENTS_FILES := requirements requirements-dev

.PHONY: clean package publish test update-all-requirements $(addsuffix .txt, $(REQUIREMENTS_FILES)) docs/requirements.txt

version:
cp version hvac/version
test:
tox

clean:
rm -rf dist hvac.egg-info

distclean: clean
rm -rf build hvac/version .tox
rm -rf build .tox

package: version
package:
python setup.py sdist bdist_wheel

.PHONY: clean package publish test version
# Note, we breakout the docs/requirements target separately since its not reasonable to use filesystem paths in target names
update-all-requirements: $(addprefix update-, $(REQUIREMENTS_FILES)) update-docs-requirements
update-docs-requirements:
$(call pip-compile,docs/requirements)
update-%:
$(call pip-compile,$(*))

define pip-compile
@echo
# Running pip-compile to update $(1).txt (using $(1).in)...
@docker run \
--rm \
--volume $(PWD):/workspace \
${PYTHON_IMAGE} \
pip-compile --upgrade --output-file $(1).txt $(1).in
@echo
# Successfully compiled python $(1).txt (using $(1).in).
endef
8 changes: 7 additions & 1 deletion README.md
@@ -1,8 +1,14 @@
# hvac

![Header image](https://raw.githubusercontent.com/hvac/hvac/master/docs/_static/hvac_logo_800px.png)

[HashiCorp](https://hashicorp.com/) [Vault](https://www.vaultproject.io) API client for Python 2.7/3.x

[![Travis CI](https://travis-ci.org/hvac/hvac.svg?branch=master)](https://travis-ci.org/hvac/hvac) [![codecov](https://codecov.io/gh/hvac/hvac/branch/master/graph/badge.svg)](https://codecov.io/gh/hvac/hvac) [![Documentation Status](https://readthedocs.org/projects/hvac/badge/)](https://hvac.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/hvac.svg)](https://badge.fury.io/py/hvac)
[![Travis CI](https://travis-ci.org/hvac/hvac.svg?branch=master)](https://travis-ci.org/hvac/hvac)
[![codecov](https://codecov.io/gh/hvac/hvac/branch/master/graph/badge.svg)](https://codecov.io/gh/hvac/hvac)
[![Documentation Status](https://readthedocs.org/projects/hvac/badge/)](https://hvac.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/hvac.svg)](https://badge.fury.io/py/hvac)
[![Twitter - @python_hvac](https://img.shields.io/twitter/follow/python_hvac.svg?label=Twitter%20-%20@python_hvac&style=social?style=plastic)](https://twitter.com/python_hvac)

Tested against the latest release, HEAD ref, and 3 previous major versions (counting back from the latest release) of Vault.
Currently supports Vault v0.9.6 or later.
Expand Down
Binary file added docs/_static/hvac_logo_800px.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/conf.py
Expand Up @@ -12,13 +12,13 @@
# -- Project information -----------------------------------------------------

project = u'hvac'
copyright = u'2018, Ian Unruh, Jeffrey Hogan'
copyright = u'2018-2019, Ian Unruh, Jeffrey Hogan'
author = u'Ian Unruh, Jeffrey Hogan'

# The short X.Y version
version = u'0.6.1'
version = '0.7.2'
# The full version, including alpha/beta/rc tags
release = u'0.6.1'
release = '0.7.2'


# -- General configuration ---------------------------------------------------
Expand Down
2 changes: 2 additions & 0 deletions docs/requirements.in
@@ -1 +1,3 @@
m2r
sphinx
sphinx_rtd_theme
27 changes: 23 additions & 4 deletions docs/requirements.txt
Expand Up @@ -2,8 +2,27 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file requirements.txt requirements.in
# pip-compile --output-file docs/requirements.txt docs/requirements.in
#
docutils==0.14 # via m2r
m2r==0.1.15
mistune==0.8.3 # via m2r
alabaster==0.7.12 # via sphinx
babel==2.6.0 # via sphinx
certifi==2018.11.29 # via requests
chardet==3.0.4 # via requests
docutils==0.14 # via m2r, sphinx
idna==2.8 # via requests
imagesize==1.1.0 # via sphinx
jinja2==2.10 # via sphinx
m2r==0.2.1
markupsafe==1.1.0 # via jinja2
mistune==0.8.4 # via m2r
packaging==18.0 # via sphinx
pygments==2.3.1 # via sphinx
pyparsing==2.3.0 # via packaging
pytz==2018.7 # via babel
requests==2.21.0 # via sphinx
six==1.12.0 # via packaging, sphinx
snowballstemmer==1.2.1 # via sphinx
sphinx-rtd-theme==0.4.2
sphinx==1.8.3
sphinxcontrib-websupport==1.1.0 # via sphinx
urllib3==1.24.1 # via requests

0 comments on commit b9591bb

Please sign in to comment.