Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pygame 1.9.4 release #390

Closed
34 of 36 tasks
illume opened this issue Feb 10, 2018 · 34 comments
Closed
34 of 36 tasks

pygame 1.9.4 release #390

illume opened this issue Feb 10, 2018 · 34 comments
Assignees
Milestone

Comments

@illume
Copy link
Member

illume commented Feb 10, 2018

Please leave a comment if you have done some testing, and what you tested.

  • go through the issue tracker, and pull requests to include as much as we can.
  • announce intention to release on mailing list.
  • look at distro bug trackers for bugs, and patches (debian, fedora, etc).
  • docs are building and ok.
  • make raspberry wheels: Missing package: pygame piwheels/piwheels#52
  • high cpu sound issue issue identified, reported upstream High CPU usage in pygame #331
  • timidity config paths issue pygame.error: /etc/timidity.cfg: No such file or directory  #343
  • Two source alpha, issues
  • add a thank you note to website for people who made commits in this release.
  • manual testing on linux
  • manual testing on mac
  • manual testing on windows
  • run a few old games you know to see if things work (solar wolf, zanthor, ...).
  • prepare the release notes (aka, WHATSNEW).
  • skip known pypy failing tests on pypy.
  • add python 3.7 builds on
    • appveyor (windows py3.7 builds)
    • travisci (mac, linux py3.7 builds)
  • prepare website news post.
  • improve 'contribute' web page.
  • release candidate, post to mailing list, give people a week.
  • pre-release wheels, dev builds, release candidates. Automate releases to pypi and github releases. #409
  • ask for people to test from test.pypi.org
  • upload release wheels, and source to pypi.
  • upload source release to pygame.org/ftp
  • update downloads.shtml page on the website with new source release.
  • announce on pygame website news section.
  • announce on mailing lists (pygame-users, python announce).
  • announce on pygame reddit.
  • announce on pygame twitter.
  • announce on https://discourse.libsdl.org/
  • announce on https://ldjam.com/
  • announce on https://www.raspberrypi.org forum
@illume illume added the 1.9.4 label Feb 10, 2018
@illume illume self-assigned this Feb 10, 2018
@illume illume added this to the 1.9.4 milestone Feb 10, 2018
@illume
Copy link
Member Author

illume commented Feb 10, 2018

There's a bunch of Debian bugs I've added the 1.9.4 label to. I think these are blocking a release on debian(and derivatives), so should really be fixed before we release.

https://tracker.debian.org/pkg/pygame
https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=pygame

@illume
Copy link
Member Author

illume commented Feb 10, 2018

I've addressed all the Debian reported issues (fixes, tests, etc, and replied to their bug tracker). For now, I'll await feedback, and work on other parts of the release.

@takluyver
Copy link
Member

One thing that it might be worth waiting for: PyPA is in the process of defining a new manylinux standard for binary wheels. This will be based on Centos 6, whereas the current standard is based on Centos 5. Wheels built for the new standard will not be available for quite as many users, but hopefully there will be fewer compatibility issues for the users who can get them. And they should be easier to build.

On the other hand, defining a new standard can take quite a while, so you may not want to wait for that.

@illume
Copy link
Member Author

illume commented Feb 11, 2018 via email

@illume
Copy link
Member Author

illume commented Feb 11, 2018 via email

@takluyver
Copy link
Member

I think I already fixed a few compatibility issues by building newer versions of libraries from source for the build environment. Currently, #331 appears to be an issue with the built wheels, but i don't know where it's coming from, and I suspect that #343 is a compatibility issue as well - I guess that timidity has changed the location of the config file at some point, but I don't know when. If we bundle a version that looks in the new location, that may just introduce a similar a bug for people on systems with the config file in the old location.

@illume
Copy link
Member Author

illume commented Feb 11, 2018 via email

@illume
Copy link
Member Author

illume commented Feb 20, 2018

I'm looking into launchpad stuff for the ppa here:
https://code.launchpad.net/~pygame/+recipe/pygame-daily

Which uses the bzr mirror of the github/pygame/pygame repo:
https://code.launchpad.net/~pygame/pygame/main

Looks like the bzr-git plugin they are using was dying on a gpg field in a git commit...
http://launchpadlibrarian.net/347912075/pygame-pygame-main.log

2017-12-03 07:35:32 INFO    Starting job.
2017-12-03 07:35:32 INFO    Getting exising bzr branch from central store.
2017-12-03 07:35:33 INFO    [chan bzr SocketAsChannelAdapter] Opened sftp connection (server version 3)
2017-12-03 07:35:33 INFO    35 bytes transferred
2017-12-03 07:35:34 INFO    [chan bzr SocketAsChannelAdapter] Opened sftp connection (server version 3)
2017-12-03 07:35:37 INFO    Importing branch.
2017-12-03 07:35:42 INFO    Counting objects: 52, done. 0
2017-12-03 07:35:42 INFO    finding revisions to fetch:generating index 0/52
2017-12-03 07:35:42 INFO    finding revisions to fetch:generating index 0/52
2017-12-03 07:35:42 INFO    
Traceback (most recent call last):
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/scripts/code-import-worker.py", line 106, in <module>
    sys.exit(script.main())
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/scripts/code-import-worker.py", line 101, in main
    return import_worker.run()
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/lib/lp/codehosting/codeimport/worker.py", line 617, in run
    return self._doImport()
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/lib/lp/codehosting/codeimport/worker.py", line 820, in _doImport
    inter_branch.fetch(limit=revision_limit)
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/bzrplugins/git/branch.py", line 722, in fetch
    self.fetch_objects(stop_revision, fetch_tags=fetch_tags, limit=limit)
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/bzrplugins/git/branch.py", line 745, in fetch_objects
    determine_wants, self.source.mapping, limit=limit)
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/bzrplugins/git/fetch.py", line 718, in fetch_objects
    limit)
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/bzrplugins/git/fetch.py", line 484, in import_git_objects
    mapping.revision_id_foreign_to_bzr)
  File "/srv/importd.launchpad.net/production/launchpad-rev-18511/bzrplugins/git/mapping.py", line 334, in import_commit
    raise UnknownCommitExtra(commit, [item[0] for item in commit.extra])
bzrlib.plugins.git.errors.UnknownCommitExtra: Unknown extra fields in <Commit 20b1becab2216cb8784088464233e37067601162>: ['gpgsig'].
Import failed:
Traceback (most recent call last):
Failure: twisted.internet.error.ProcessTerminated: A process has ended with a probable error condition: process ended with exit code 1.

That cleared up, by clicking the retry button. I guess someone fixed it in the following months.


Then I see a missing dependency musescore-soundfont-gm for the builds:

The xenial build got further along, but there seems to be some version issues in there. https://launchpadlibrarian.net/357778839/buildlog.txt.gz

dpkg-genchanges: warning: the current version (1.9.2~pre~ubuntu-r3440+201802201742+42~ubuntu16.04.1) is earlier than the previous one (1.9.2~pre~ubuntu-r3440-1)

The packaging files on there need updating it seems. The last change https://bazaar.launchpad.net/~pygame/pygame/packaging/files is from 2013-01-04 15:19:22 UTC. It might make sense to import the new package from Debian... I dunno.

@illume
Copy link
Member Author

illume commented Feb 20, 2018

Thomas Karl Pietrowski has a PPA for pygame 1.9.3x on python 3 in ubuntu here: https://launchpad.net/~thopiekar

@illume
Copy link
Member Author

illume commented Feb 21, 2018

The docs are building on commits to github.com/pygame/pygame master for the pygame website again. The bitbucket webhook was still happening there. Now there is integration with github instead. Also, a few documentation updates (version number update, https links, work arounds for recent sphinx bugs). Also the launchpad build badge is updating properly again.

@illume
Copy link
Member Author

illume commented Feb 21, 2018

Raspberrypi builds binary wheels for itself now with the piwheels project: piwheels/piwheels#52

@bennuttall
Copy link

Raspberry Pi wheels for Pygame 1.9.3 are built: https://www.piwheels.hostedpi.com/simple/Pygame/

Assuming the build requirements for 1.9.4 will be the same, these will automatically get built by piwheels when it is released on PyPI.

@bennuttall
Copy link

Do you send Debian packages to the Raspbian team too?

@illume
Copy link
Member Author

illume commented Feb 21, 2018

Great. I'll have to dust off my boards and give it a go.

We've been trying to get packages up to Debian, which I guess will flow down eventually. 1.9.3 is already packaged by the Debian maintainer (@Natureshadow). I'm not sure who the Raspbian team is, or how to get in contact with them.

@bennuttall
Copy link

We can get it into Raspbian quicker than via Debian. Email me ben [at] raspberrypi dot org and I'll introduce you to the Raspbian maintainer.

@Natureshadow
Copy link
Contributor

Natureshadow commented Apr 3, 2018

Well, Raspbian is Debian, plus some unnecessarily rebuilt packages with bad QA. The Debian package will be up to date once 1.9.4 is out.

@takluyver
Copy link
Member

The manylinux2010 standard for binary wheels has been approved now, but it will take a while for it to actually be implemented across the ecosystem. There's a tracking issue for that: pypa/manylinux#179

@illume
Copy link
Member Author

illume commented May 15, 2018

There's an issue with the mac travis builds I'm trying to fix. Also pypy on appveyor is now broken because of some internal error. But once these two things are resolved, I'll mark it as a release candidate and ask for testers.

@hroncok
Copy link

hroncok commented Jun 27, 2018

Fedora issues are:

  • doesn't build with 3.7 (this release should fix it)
  • "we may re-enable tests again on ppc64le" (appears to be a downstream only thing now)

So AFAIK you can tick that checkbox.

@illume
Copy link
Member Author

illume commented Jul 14, 2018

Thanks @hroncok :)

I'm trying to push a release this weekend. Last chance for any fixes to go in.

I'm going to mark it RC1 and try and get travis to upload binary wheels for Mac first. I can download the windows files from Appveyor manually, and also do the linux builds manually.

@illume
Copy link
Member Author

illume commented Jul 14, 2018

I would be nice if someone has time to look into these two issues:

@illume
Copy link
Member Author

illume commented Jul 14, 2018

I setup python 3.7 builds on mac/win/linux with travis and appveyor, but it's failing on windows. So getting into debugging this now.

@illume
Copy link
Member Author

illume commented Jul 15, 2018

Fixed the windows python-3.7 issue. I'll start writing the announcement texts whilst I wait for github to start working again (builds aren't being triggered, diffs not showing).

The alpha issues appear not to be regressions.

@illume
Copy link
Member Author

illume commented Jul 15, 2018

The website news post, and mailing post will be the same as the draft on the releases page. https://github.com/pygame/pygame/releases/tag/untagged-378fa95601556f13fbec

@illume
Copy link
Member Author

illume commented Jul 15, 2018

Whilst github is broken, working on this 'pre release build' thingo. #409

Will also work on the 'contribute' page... add something about how to do a unit test, and link to the 'easy git issues', and put the 'awesome pygame' stuff somewhere on the website.

@illume
Copy link
Member Author

illume commented Jul 15, 2018

Got portmidi working on travis mac builders with the Formula here: https://github.com/pygame/homebrew-portmidi and used that in here: #467

Then, the upload to pypi seemed to work. Sent a message out asking for people to test the mac builds (like previously done with windows builds). Will do the manylinux wheels next.

Had to drop python 3.4 from the travis builds... because they don't have that on xenial it seems (but that supports 3.7). Doing Mac python3.6 builds on travis will be some sort of torture, so not doing that (I've had enough CI torture for now).

@illume
Copy link
Member Author

illume commented Jul 16, 2018

There is a scrap issue reported by Ian on the mailing list.

======================================================================
ERROR: test_scrap_put_text (pygame.tests.scrap_test.ScrapModuleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\dev\Python37\lib\site-packages\pygame\tests\scrap_test.py", line 133,
 in test_scrap_put_text
    scrap.put (pygame.SCRAP_TEXT, as_bytes("Another String"))
pygame.error: content could not be placed in clipboard.

@illume
Copy link
Member Author

illume commented Jul 16, 2018

There's some errors reported here by ntoll. https://gist.github.com/ntoll/893b3a58f21a48ef0cc94f1d58f80654 I think they are related to the virtual machine not having a sound device. The syntax error is odd... and I can't reproduce it. Perhaps something to do with when tests fail like that on python 3.7.

@takluyver
Copy link
Member

It looks like the test runner code is trying to eval some output which is meant to be a Python dictionary, but now includes a warning message as well.

@illume
Copy link
Member Author

illume commented Jul 16, 2018

Ah ok. Right. Thanks for looking into that.

I got travis building a mac python 3.6 wheel. #470

@illume
Copy link
Member Author

illume commented Jul 19, 2018

The release candidate 1.9.4rc1 has been uploaded to pypi. Real release in a couple of hours.

@illume
Copy link
Member Author

illume commented Jul 19, 2018

@illume illume closed this as completed Jul 19, 2018
@illume
Copy link
Member Author

illume commented Aug 2, 2018

As well, I added announcing on discourse.libsdl.org, ldjam.com, and raspberrypi.org to the release checklist.

@bennuttall
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants