Fixed:
- Fixed upload of source tarballs to PyPI when building with sdist.
- Change the feedstock pull request to request main rather than master to match this change on conda-forge
- Fixed an UnboundLocalError when the github3 library can't be imported.
Authors:
- Julian Rüth
- Thomas Kluyver
- Simon Billinge
Added:
- New
$GHRELEASE_TARGET
variable (str or None) allow users to set the git branch/commit to target for the GitHub release. If this value is None, it will use the default branch name. - added get_oauth_token in github.xsh to authorize rever application to make changes to a user's github
- added GitHub_raise_for_status helper function for get_oauth_token in github.xsh
- added credfile_new_format helper function for login in github.xsh to ensure new credfile is written
Changed:
- changed credfile_new_format helper function to check if credfile adheres to the new format after it checks if file exists (not at the same time)
- changed test_conda_forge_activity to expect two-line credfile
- changed write_credfile in github.xsh to now call get_oauth_token. User is no longer prompted for password as this is handled through a browser
- changed read_credfile in github.xsh to handle new format of credfile (without password)
- changed login in github.xsh to login with OAuth token only
- changed github3 in github.xsh to conform with latest version of github3.py API
- changed test_github.py to handle new behavior of credfile and wnsure new format
- changed doc_configurable flag in docs/conf.py to is_configurable
- changed doc_store_as_str flag in docs/conf.py to can_store_as_str
Deprecated:
Removed:
- Removed pip install of xonsh from github
Fixed:
- Fixed broken GitHub login behavior by using OAuth authentication
Security:
Authors:
- Anthony Scopatz
- Rob Koch
- Julian Rüth
Added:
- Added
APPIMAGE_PYTHON_VERSION
to AppImage activity that allows to set the Python version that will be using to building the image.
Authors:
- Anthony Scopatz
- anki-code
Added:
- New
github.create_or_get_release()
function for safely gettingRelease
objects from github.
Changed:
- GitHub release activity should now be more robust to failures.
- Switched from NO_COLOR to RESET for xonsh v0.9.23+
Authors:
- Anthony Scopatz
Added:
- New, reentrant
conda.conda_init()
function enablesconda activate
.
Fixed:
- Fixed conda activation by removing dependence on xonda.
Authors:
- Anthony Scopatz
- Aaron Meurer
Added:
- A new Forge activity available as forge. It allows updating a forge feedstock on a forge different than the conda-forge.
- A new Check activity available as check that runs rever check.
Fixed:
- example activity's __call__ needs to return True in documentation
- Fixed issue where rever could not be run from within Bash by setting
$THREAD_SUBPROCS = False
. - a typo in the documentation
Authors:
- Anthony Scopatz
- Hadrien Mary
- Julian Rüth
Added:
- Added AppImage activity
rever.activities.gcloud.DeploytoGcloud
now has an undo
Changed:
- rever.activities.gcloud.DeploytoGCloud now awaits the deployment of the new image. If the deployment fails then it tries 2 more times, then errors.
Fixed:
- Fixes for xonsh >0.9.18
Authors:
- Anthony Scopatz
- Christopher J. Wright
- a
- Melissa Weber Mendonça
- Bas Nijholt
Changed:
activities.gcloud.DeploytoGCloud
now supports docker hosts beyonddocker.io
Authors:
- Anthony Scopatz
- Christopher J. Wright
- Thomas Kluyver
Added:
- The PyPI activity now includes the ability to sign source packages
if
gpg
is available with the$PYPI_SIGN
variable.
Changed:
$CHANGELOG_LATEST
is now tracked if it is not in the$REVER_DIR
Authors:
- Anthony Scopatz
Changed:
- Certain autogenerated files now have only a single trailing newline.
This is for use with tools that expect files to have a single trailing
newline, such as
pre-commit
.
Authors:
- Anthony Scopatz
Changed:
- PyPI updated the HTML for listing maintainers. This fixes the PyPI permissions check.
Fixed:
rever.activities.push_tag
now properly checks the capacity to push
Authors:
- Anthony Scopatz
- Christopher J. Wright
Changed:
- Updates docker conda install to use latest miniconda install.
Authors:
- Anthony Scopatz
- Baptiste Mouginot
Changed:
- PyPI activity will no longer attempt to use the deprecated
repository:https://pypi.python.org/pypi
in pypirc. Instead, it will rely on the upload tool's default (i.e. whattwine
thinks is best).
Authors:
- Anthony Scopatz
Changed:
- Updated the PyPI activity to use
twine
to upload distributions. - The PyPI activity now builds distributions in
$REVER_DIR/dist
.
Authors:
- Anthony Scopatz
Added:
- added
--version
flag to rever to show active version
Changed:
- github artifact tarball changed to include repo name in filename. This is nicer both on disk and makes tools like versioneer work better.
Authors:
- Anthony Scopatz
- Michael Sarahan
Added:
CondaForge
activity now checks that conda-smithy and pinning are up to dateDeployToGCloud
activity for pushing to a google cloud kubernetes clustersDeployToGCloudApp
activity for pushing to the google cloud via the app engine
Changed:
- Allow empty commits for git. Authorship update commit was failing because no file changes were made by that update.
rever.authors.update_metadata()
will always write the authors file ifwrite=True
. In the cases where there is an error or incomplete data, the file that is written only contains valid information.
Fixed:
- Some minor robustness fixes for computing first commit timestamps
Authors:
- Anthony Scopatz
- Christopher J. Wright
- Michael Sarahan
Changed:
rever.authors.update_metadata()
has a newvalidation_error
keyword argument that will cause the updating to fail if not valid. Deafults to True.
Authors:
- Anthony Scopatz
Added:
New
rever check
command for checking that all activities can be run prior to actually performing a release. The intended workflow is:$ rever check $ rever X.Y.Z
The
Activitiy
class andactivity()
decorator havecheck
andrequires
keyword arguments. Thecheck
parameter is a function for performing the necessary checks duringrever check
. Therequires
parameter is a dict that specifies necessary command line utilites and modules for the activity to be run.New
Activity.check_requirements()
method for checking requirements.New
rever.authors.metadata_is_valid()
function for checking if an author metadata list is correct.New
rever.github.can_login()
functions checks if the user can login to GitHub.New SAT solving module,
rever.sat
, for defining satisfiability problems, and asolve_2sat()
function for solving 2-SAT problems.New
rever.tools.download()
andrever.tools.download_bytes()
function for downloading URLs as strings and bytes respetively.New
rever.vcsutils.have_push_permissions()
function for checking if the user has push permisions on a remote repository.
Changed:
- All existing activities have been updated to include
requires
dicts andcheck
functions as needed. - The
Authors
activitiy can now be configured with$AUTHORS_INCLUDE_ORGS
for whether or not it should include organizations in the authors list. Organizations are entries in the authors listing that have theis_org
field set toTrue
. rever.authors.update_metadata()
now attempts to add GitHub identifiers if$GITHUB_ORG
is set.
Fixed:
- Authors were not being added to the latest changelog release. now they are.
- Fixed bug where
$REVER_VCS
would be detyped as a boolean.
Authors:
- Anthony Scopatz
Added:
- New
'authors'
activitiy for keeping an author listing and mailmap files up-to-date. - New
rever.authors
module for managing author metadata and writing mailmap files. - New version control (
rever.vcsutils
) functions:commits_per_author()
commits_per_email()
first_commit_per_email()
- New
$RELEASE_DATE
environment variable has been added, which is adatetime.date
object. This defaults to the current date when rever is executed. - New
rever.authors.load_metadata()
function for loading author metadata.
Changed:
- The changelog activity now is now more custmizable, allowing for user-specified categories, custom formatting of the category titles, and the ability to append authors for the current release.
- A newline between categories in merged news has been removed, reducing the whitespace from two blank lines to one.
Fixed:
- Fixed the
--force
command line option to rerun on activities and setup. - Removed string escape warnings
Authors:
- Anthony Scopatz
- Christopher J. Wright
Added:
- New
rever.conda.env_exists()
function for testing if a conda environment exists. $PUSH_TAG_PROTOCOL
for manually specifying the push protocol.
Changed:
PushTag
now inspects remotes to find the correct protocol
Fixed:
- Fixed issue with
docker_build
activitiy not correctly setting the build context when the Dockerfile is in the current directory.
Changed:
- Updated rever to use
xonsh.main.setup()
function for initialization.
Fixed:
- Make
git push
andgit push --tags
respect the rever-f,--force
command line argument.
Added:
- New
docker_build
anddocker_push
activity for building and pushing up Dockerfiles.
Added:
conda_forge
activity kwarg for forking to an org
Changed:
- Conda in a docker container will now update dependencies, too.
- Now the
news
template uses* <news item>
instead ofNone
for empty news categories. - Use the tarball rever generates for the conda forge URL
Deprecated:
None
in the news template (still supported though)
Fixed:
- Use the actual
$VERSION
not the string'$VERSION'
- Fixed
rever.tools.hash_url()
andrever.tools.stream_url_progress()
functions to robustly handle FTP URLs, in addition to HTTP ones. repo.create_fork
doesn't need a username- Fixed bug preventing
rever
from running where version key is not present in history entry.
Added:
- GitHub Releases may now attach assets (extra files) to the release.
Fixed:
- Fix
$TAG_TEMPLATE
being ignored by conda_forge activity when defining package URL on GitHub
Added:
$GHRELEASE_PREPEND
and$GHRELEASE_APPEND
allows users to prepend/append a string to the GH release notesREVER_QUIET
envvar. If Truerever
doesn't print during hashing
Changed:
- GitHub token notes now have unique identifiers, which prevents issues from arising with hostname clashes.
Fixed:
- Addressed issue with DockerActivity not being able to set it's code block correctly.
- Null repo fork creation fix for v1.0.0a4 of github3.py
- Fixed bugs in push-tag undoer.
Added:
- More robust handling of github tokens. If a credential file is deleted locally, rever will now attempt to find the associated token, delete it, and reissue it.
- Usage docs for initializing rever
Changed:
- If fork doesn't exist for conda-forge activity then create one
$PROJECT
in use docs example- Logger now records version
compute_activities_completed
now checks version numbers as well- Tagging and pushing the tags up to a remote are now separate activities
Added:
- Use Rever's own whitespace parsing in Rever's
rever.xsh
file - New activity for running nosetests inside of a docker container.
- Setup framework that allows activities to initialize themseleves in a project has been added.
- Chacgelog setup functionality added.
rever setup
will now perform some project level setup, specifically adding the$REVER_DIR
to the gitignore file, if applicable.
Changed:
- Updated and improved documentation.
- Patterning matching (as in version-bump) will now automatically capture and replace leading whitespace. Patterns and replacement strings may start at the first non-whitespace character.
- Addressed annoyance where sphinx documentation files were created
with root ownership. The user and group of sphinx files will now
match the user oand group of the
$SPHINX_HOST_DIR
on the host.
Changed:
- Updated link in conda-forge activity to point to docs.
Changed:
- Conda smithy does not correctly rerender unless the feedstock
directory is called
$PROJECT
or$PROJECT-feedstock
, thus the feedstock dir has been updated. - Python package name changed to
re-ver
, since the PyPI namerever
is taken (even though no one has uploaded a package).
Fixed:
- The conda forge activity was printing it matching patterns, and it shouldn't have been doing that.
Fixed:
- Fixed
eval_version
import in ghrelease.
Added:
- BibTex activity for creating a bibtex reference for software
- Added conda-forge activity
- Added support for running activities in docker containers
- New pytest activity, which runs inside of docker.
- New sphinx activity, which runs inside of docker.
- New ghpages activity, which depolys files to a GitHub pages repo.
- New ghrelease activity, which performs a GitHub release.
- Added new PyPI releaser activity.
Added:
- Version bump activity
- Changelog activity
- Shell command activity
- Tag activity
- DAG Solver
- Pytest-based test suite
- Documentation
- Rever integration