Skip to content

Release 0.4.0 #201

Description

@KathiEsterl

I copied the issue template I created for eTraGo releases and added some additional points to consider when releasing eGo.

After completing this checklist and workflow and publishing the final release, please finalize Issue #200 so that it can serve as the basis for future releases.


name: Release
about: Checklist and workflow for preparing and publishing a new release
title: "[Release] v0.4.0"
labels: release

Overview

This issue tracks the full release process, from milestone creation to publishing on PyPI. Use the checklists below and check off items as they are completed.


1. Road to Release

Initial setup and issue tracking for the upcoming release.

  • Create a milestone for the release
  • Add relevant issues to the milestone
  • Work through and close the milestone issues
  • Update documentation (Read the Docs)

Specific Focus: Compatibility with eTraGo and eDisGo

  • Check the planned releases and current versions of eTraGo and eDisGo
  • Ensure that all required steps are completed and the release is compatible with the current versions of both tools

2. Shortly Before Release

Final checks and testing before cutting the release branch.

  • Update the installation in setup.py to point to the new eDisGo/eTraGo releases
  • Re-check installation, ideally on different operating systems
  • Run test calculations on the server:
    • Include larger test runs
    • Test different settings/configurations with specific note on any new features and their combinations
  • Review existing minimal examples

Create release branch

  • Create a specific branch for the release
  • Update version numbers and release date/year in:
    • doc/conf.py
    • setup.py
    • __init__.py
  • Update "What's New" section in Read the Docs (RTD)
  • Update authors in the lists of the python-files

3. Merge Branches

Merging the release branch through to production.

  • Create virtual environment venv-release and activate it, use it for the further process
  • Install eTraGo one more time from the release branch
  • Merge release branch into dev
  • Switch to master
  • Merge dev into master (locally) and push

4. GitHub Release

Creating the official GitHub release.

  • Create new release on GitHub
  • Set branch: master
  • Set tag: version number
  • Add description: copy from "What's New" (RTD)
  • Run git fetch afterward to fetch the new tag

5. Publish to PyPI

For the next steps, you need the appropriate permissions for etrago on both TestPyPI and PyPI.

  • check current permissions: Currently, @ClaraBuettner and @KathiEsterl have the required permissions. Please make sure you have the corresponding tokens ready for uploading the release. ??

All steps performed inside venv-release.

  • Upgrade build tools:

    pip install --upgrade setuptools wheel twine build
    
  • Build the package:

    python -m build .
    
  • Check built files:

    twine check dist/*
    
  • Ensure TestPyPI and PyPI tokens are available (see .pypirc)

TestPyPI upload

  • Upload to TestPyPI:

    twine upload --repository-url https://test.pypi.org/legacy/ dist/*
    
  • Test installation from TestPyPI:

    pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple ego
    

PyPI upload

  • Upload to PyPI:

    twine upload dist/*
    

Reference

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions