SDCC 2.6.0 Release Plan - roybaer/sdcc-wiki GitHub Wiki

Table of Contents

Release manager

Borut Razem

Target platforms

SDCC will be built for the following platforms, in order of importance:

  1. Microsoft Windows 98 and above (win32)
  2. glibc based Linux (linux)
  3. Mac OS X 10.2 (darwin)
gcc and command line tools will be used to build ports on all platforms. Windows port will be cross-compiled on Linux host.

Processor targets

Some targets are not ready or are no longer maintained. Any mature targets must be included and must pass the regression tests. Any others may be disabled in the binary to meet the acceptance criteria.

  • Mature, on-going maintanance: mcs51, ds390, z80 and hc08
  • Preliminary, in development: pic14, pic16
  • No longer maintained: avr, gbz80
  • Unknown status: TININative, xa51, ds400

Deliverables

The final deliverables will be:

  • A source archive that can rebuild all binaries
  • An executable, NSIS based installer for Windows
  • A tarball that installs in /usr/local Linux
  • A tarball that installs in /Developer/SDCC for Mac OS X

Acceptance criteria

The release needs to at minimum:

  • Have an updated README
  • Compile without warnings or errors on all target platforms
  • Pass regression tests on all "Mature" targets: mcs51, ds390, z80 and hc08 on Linux, Windows and Mac OS X

Schedule

This schedule has no dates attached due to the volunteer nature of the project, however Borut will try to keep things moving.

The schedule and approximate timings are:

  1. Announce intention to do a release (DONE 2006-07-08)
  2. Take feedback and wishlist items
  3. Announce a code freeze (DONE 2006-07-12)
    1. Change the version number in .version, sdcc.spec, doc/sdccman.lyx and everywhere else it appers (DONE 2006-07-10)
    2. The release candidate RC1 svn tag will be created (DONE 2006-07-11)
    3. The release manager will make a release candidate RC1 (DONE 2006-07-12)
    4. RC1 deliverables will be released to the staging area so that people can test the installers. (DONE 2006-07-12, 2006-07-16)
    5. Bugs (packageing, docummentation, ...) found in RC1 will be fixed (DONE)
    6. The release candidate RC2 svn tag will be created (DONE 2006-07-28)
    7. The release manager will make a release candidate RC2 (DONE 2006-07-28)
    8. RC2 deliverables will be released to the staging area so that people can test the installers. (DONE 2006-07-28)
  4. The release svn tag will be created, probably from the same revision as RC2 (DONE 2006-07-31)
  5. The release manager will make the release deliverables, probably by renaming RC2 deliverables (DONE 2006-07-31)
  6. Quick test of the installers (DONE 2006-07-31)
  7. Deliverables will be blessed and released (DONE 2006-07-31)
  8. The release will be anounced on Sourceforge News, sdcc-devel and sdcc-user mailing lists (DONE 2006-07-31)

Tasks

Random set of tasks that someone might want to do:

  • Update the web page before and after the release (DONE 2006-07-12 - sdcc 2.6.0 RC1 announced, DONE 2006-07-28 - sdcc 2.6.0 RC2 announced, DONE 2006-07-31 - sdcc 2.6.0 Release announced)
  • Update the documentation (DONE 2006-07-10 - version changed to 2.6.0)
⚠️ **GitHub.com Fallback** ⚠️