Opened 7 years ago

Closed 7 years ago

#2885 enhancement closed fixed (fixed)

Automate version updating (goodly)

Reported by: radix Owned by:
Priority: highest Milestone: twisted-8.0
Component: release management Keywords:
Cc: Branch: branches/change-versions-2885-2
(diff, github, buildbot, log)
Author: jml,radix Launchpad Bug:

Description

There should be some first-class code for updating version numbers in a Twisted branch.

Change History (18)

comment:1 Changed 7 years ago by radix

  • Branch set to branches/change-versions-2885

(In [21717]) Branching to 'change-versions-2885'

comment:2 Changed 7 years ago by jml

  • Branch changed from branches/change-versions-2885 to branches/change-versions-2885-2

(In [21731]) Branching to 'change-versions-2885-2'

comment:3 Changed 7 years ago by jml

  • Keywords review added
  • Owner radix deleted
  • Priority changed from normal to highest

comment:4 Changed 7 years ago by radix

  • Milestone set to twisted-7.0

comment:5 Changed 7 years ago by exarkun

  • Keywords review removed
  • Owner set to jml
  • twisted/python/test/test_dist.py
    • no copyright or module docstring
    • GetVersionTest has no class docstring
  • twisted/python/_release.py
    • only the tests use getCurrentVersion - delete it?

Ran out of time on this one, didn't get to look at most of the changes.

comment:6 Changed 7 years ago by jml

  • Keywords review added
  • Owner changed from jml to exarkun

Updated.

comment:7 Changed 7 years ago by exarkun

  • Status changed from new to assigned

comment:8 Changed 7 years ago by exarkun

  • Keywords review removed
  • Owner changed from exarkun to jml
  • Status changed from assigned to new

It'd be good if all the test methods had docstrings, even the ones which just got moved and not modified (at least in test_release, although it'd be nice to spruce up test_dist as well), since supposedly a goal here is "first class release code".

test_findTwistedStyleProjects and test_getProjectName and test_updateTwistedVersionInformation use twisted and twisted.conch even though they're not operating on the real Twisted source. It might be clearer to use made up names here. test_updateTwistedVersionInformation also doesn't cover the case where baseDirectory is None. There aren't any users of this API either so I can't tell if that is the normal case or not. Maybe those arguments just shouldn't be optional?

replaceProjectVersion writes out a string which refers to admin/change-versions, which no longer exists.

comment:9 Changed 7 years ago by jml

  • Keywords review added
  • Owner changed from jml to exarkun
  • Docstrings added for all test_release tests. Not so concerned about test_dist, since they will likely be heavily modified by the tarball work.
  • replaceProjectVersion string changed to no longer refer to admin/change-versions.
  • Fixed test_findTwistedStyleProjects, test_getProjectName and test_updateTwistedVersionInformation.

comment:10 Changed 7 years ago by jml

  • author set to jml,radix

comment:11 Changed 7 years ago by exarkun

  • Keywords review removed
  • Owner changed from exarkun to jml
  • twisted.python.test.test_release.ProjectTest.test_updateTwistedVersionInformation failing
  • do something about the XXX in twisted.python._release.getNextVersion
  • updateTwistedVersionInformation still has a couple uncovered lines - the ones that handle the defaults for each parameter
  • Project could document its two instance attributes.

Otherwise good.

comment:12 Changed 7 years ago by jml

  • Keywords review added
  • Owner changed from jml to exarkun

It's worth taking another look at this. You too, radix.

comment:13 Changed 7 years ago by exarkun

  • Owner changed from exarkun to radix

Looks good to me.

comment:14 Changed 7 years ago by radix

  • Keywords review removed
  • Owner changed from radix to jml

I watched commits in my inbox and agree with them. Given that exarkun properly reviewed this, I think it's ready for merging.

comment:15 Changed 7 years ago by jml

  • Resolution set to fixed
  • Status changed from new to closed

(In [21908]) Unit-tested, understandable API for updating the version of Twisted.

  • Authors: jml, radix
  • Reviewers: exarkun, radix
  • Fixes #2885

This is part of the new suite of automated release tools. It provides APIs
for updating the version of Twisted and Twisted sub-projects using a new
date-based version system.

Note that it removes the old admin/change-versions script without providing
a replacement.

comment:16 Changed 7 years ago by exarkun

  • Resolution fixed deleted
  • Status changed from closed to reopened

Reverted in [21909]

comment:17 Changed 7 years ago by jml

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [21911]) Unit-tested, understandable API for updating the version of Twisted.

  • Authors: jml, radix
  • Reviewers: exarkun, radix
  • Fixes #2885

This is part of the new suite of automated release tools. It provides APIs
for updating the version of Twisted and Twisted sub-projects using a new
date-based version system.

Note that it removes the old admin/change-versions script without providing
a replacement.

This re-merge fixes Python 2.3 support.

comment:18 Changed 4 years ago by <automation>

  • Owner jml deleted
Note: See TracTickets for help on using tickets.