Skip to content

Release process

Tomas Tomecek edited this page Jan 15, 2020 · 1 revision

This guide sums up steps to perform an upstream release of any of our projects.

Automated

Upstream project release

  1. Create (or reopen) an issue titled with "New {major,minor,patch} release". Pick the correct release type. Wait for release-bot to pick the issue up and create a release PR.

  2. Polish the changelog.

  3. Set correct version inside a RPM spec file if there is one. (rpmdev-bumpspec is really helpful here)

  4. Once the PR is approved, merge it. Release-bot will then take care of creating a GitHub release and a corresponding git tag.

PyPI release

Release-bot will handle this.

Fedora

Packit should/will handle this.

Manual

When automation fails, you can always perform any of the automated steps manually.

Upstream project release

  1. Create new pull request. Add a changelog entry for the new release. Don't forget to bump the RPM spec file.

  2. Wait for review. Once approved, merge the PR.

  3. Hop into terminal:

    $ git checkout master
    $ git pull
    $ git tag <TAG_NAME>
    $ git push --tags
    
  4. Navigate to the release you just created and paste the changelog entry to the GitHub release description.

PyPI release

  1. Go into terminal and check out the release you just did:
    $ git checkout 0.8.0
    
  2. Prepare PyPI tarballs
    $ rm -rf dist && python3 ./setup.py sdist && python3 ./setup.py bdist_wheel
    
  3. Upload the tarballs (ask someone on the team to give you permissions to upload tarballs):
    $ twine upload dist/*
    
  4. Make sure the new release can be fetched from pypi:
    $ pip3 install packitos==0.8.0
    

Fedora

  1. Get Fedora Kerberos TGT:
  2. Prepare spec file updates for dist-git:
    $ packit propose-update --dist-git-branch fedora-all . 0.8.0
    
    Once the PRs are approved, merge them.
  3. Build it:
    $ packit build --dist-git-branch fedora-all
    
  4. Create bodhi-updates (fedora-rawhide updates are created automatically):
    $ packit create-update --dist-git-branch fedora-stable