Author: | Dean Hall |
---|---|
Id: | HowToReleasePyMite.txt 268 2009-02-20 23:23:49Z dwhall |
This document describes how to make a package release of the PyMite project. In doing so, it is intended strictly for the PyMite release manager.
Creating a release of PyMite involves updating information in a number of places and performing some housekeeping actions, but it is a fairly straightforward process that can be accomplished by performing the following list of actions in the prescribed order:
Create a ticket in the issue tracking system
- Give the ticket a title like "Create release 03"
- Assign the ticket to the proper milestone
- Accept the ticket
Create a branch for the issue (there will be changes to files)
Edit the README file:
- Update the ":Release:" number near the top of the file
- Add thanks to anyone who gave helpful feedback
- In the "Release Notes" section, create a new entry for the release
- Add a line item into the entry for each ticket that went into this release.
Edit src/vm/pm.h, update the value for the definition, PM_RELEASE
Run GNU indent on src/vm using the command make indent
Perform all the standard builds to see that they complete without error
- make html
- make TAGS
- make check
- make clean; make TARGET=AT91SAM7
- cd src/sample/at91sam7; make
- cd ../../..; make clean; make TARGET=AVR
- cd src/sample/avr; make; cd ../../..
- Record the size of the AVR sample app in the ticket
Verify that a sample app runs on an AVR device; this can be done in one of the following ways:
- Download and run a known good app on an actual AVR device
- Build and run a known good app in Atmel's AvrStudio simulator
- Run a known good app on an AVR simulator
Verify that a sample app runs on an AT91SAM7 device; this can be done in one of the following ways:
Download and run a known good app on an actual AT91SAM7 device
make clean; make TARGET=AT91SAM7; cd src/sample/at91sam7; make
Connect the AT91SAM7S-EK to the computer via a USB cable
Apply a jumper to JP28 for 5 seconds to clear flash; remove the jumper
Apply a jumper to JP5 for 30 seconds to restore SAM-BA; remove the jumper
Disconnect, pause and reconnect the AT91SAM7S-EK's USB cable to reset the connection
Run sam7:
% sam7 found boot agent Chip Version: 0 Embedded Processor: ARM7TDMI NVRAM Region 1 Size: 64 K NVRAM Region 2 Size: 0 K SRAM Size: 16 K Series: AT91SAM7Sxx Page Size: 128 bytes Lock Regions: 16 sam7> unlock_regions unlocking region 0: done unlocking region 1: done sam7> flash sample.bin sam7> boot_from_flash sam7> <ctrl+c>Build and run a known good app in IAR's Embedded Workbench for Arm, Kickstart edition
Run a known good app on an ARM simulator
Check-in the branch and review
Mainline the branch
Tag the mainline:
% svn cp -m "Creating release RR" https://svn.pymite.python-hosting.com/trunk https://svn.pymite.python-hosting.com/tags/pymite-RRMake the distribution file:
% make dist PM_RELEASE=RRUpload the tar file to a public file server and link to it from the PyMite wiki front page. Get the MD5 hash so people can check the authenticity:
% md5 pymite-RR.tar.gzAnnounce the release on:
- The PyMite wiki front page
- The PyMite maillist
- comp.lang.python.announce