Menu

Home

Rony G. Flatscher Rene Vincent Jansen

This is the wiki with the roadmap and attention points for the 5.00 Release. Feel free to add to it.

ooRexx 5.00 beta release
1. The mac installer
2. Branch for BETA

ooRexx 5.00 GA release

2022-12-15, Release Steps for ooRexx 5.0.0 as a role model

  • create a branch for 5.0.0 using current trunk (if no show stopper errors occur
    running the ooRexx testsuite) for
    main/trunk to main/branches and
    test/trunk to test/branches,
    not yet for the docs (see below)

here the svn command for code and test (replace "userId" with yours)

  svn copy --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/main/trunk svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/main/branches/5.0.0  -m "Creating code branch 5.0.0 to prepare release."
  svn copy --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/test/trunk svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/test/branches/5.0.0 -m "Creating test branch 5.0.0 to prepare release."
  • update the ooRexx version related information in trunk to 5.1.0

cf. https://sourceforge.net/p/oorexx/code-0/12539/#diff-1 changes to:

  main/trunk/CMakeLists.txt   -- update the release version information to the next release.
  main/trunk/platform/windows/rexx32.exe.manifest
  main/trunk/platform/windows/rexx64.exe.manifest

and cf. http://sourceforge.net/p/oorexx/code-0/12540

  main/trunk/api/oorexxapi.h  -- Add a new version identifier define for the new release.
  • before creating the docs branches/5.0.0, the necessary steps:

  • make sure all authors who have committed in the meantime are listed in their appropriate
    ${book}/en-US/Author_Group.xml; to detect one can use tools/listAuthorsAsOfLate.rex

  • make sure that ${book}/revision_info.txt has the latest revision information
    of real updates to ${book}/en-US/*.xml files; one approach to update that file
    is to first delete it, then run updateEntityValues.rex -y 2022 -e "2022.12.25" -r 99999 ..
    which will recreate ${book}/revision_info.txt

  • make sure that all copyright texts are updated (you can use tools/updateCopyright.rex)

    • commit the copyright change, note the revision number and enter it on a separate line in tools/ignoreRevisions.txt (which will cuase tools\updateEntityValues.rex to ingore that particular revision as it does not constitute a technical change in the book content)
  • NOTE: copyright of main/branches/5.0.0/ReleaseNotes needs to be adjusted as well!

  • create the docs branch for 5.0.0 using current docs/trunk to docs/branches/5.0.0

here the svn command for code, documentation and test (replace "userId" with yours)

  svn copy --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/docs/trunk svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/docs/branches/5.0.0 -m "Creating docs branch 5.0.0 to prepare release."
  • Suggestion for a time table:

    • t0: if the tests on Jenkins show no show-stopper errors from the latest trunk, then create the branch: ASAP

    • t1: apply the necessary changes in the branch (version information update, release information update): < =(t0+7 days)

    • t2: create the installation packages from the branch and upload them to a staged directory 5.0.0: after a week (t1+1)

    • t3: communicate the availability: t2+1

  • create the following directories in files area on Sourceforge:

    oorexx/files/5.1.0beta        ... to receive the new builds from trunk
    oorexx/oorexx-docs/5.1.0beta  ... to receive the new documentation from trunk
    
    oorexx/files/5.0.0_Release_Candidate        ... to receive the tested builds from branches/5.0.0
    oorexx/oorexx-docs/5.0.0_Release_Candidate  ... to receive the new documentation from trunk
    
  • adjust the build scripts on Jenkins and feed the 5.0.0_Release_Candidate and the 5.1.0beta folders
    for code and documentation

  • release information:

    • update branches/5.0.0/NOTICES (a text file) to reflect the current copyright year

    • update branches/5.0.0./CHANGES (a text file) to document all changes from the last release for

      • Bugs
      • Feature-requests
      • Documentation
      • Patches

    1.all items with the status accepted need to be checked to see whether they
    have been worked on such that they can be changed to pending.
    accepted generally means code changes have been made, so these should be
    included in the changes.
    A decision needs to be made on whether the incomplete portions of the item
    (generally doc or test work) need to be completed prior to the release.

    2.all items with the status pending and accepted get included in CHANGES
    (the text file located in trunk), the script
    main/trunk/support/sourceForge/processedTickets.rex
    queries the four categories on SourceForge and creates the text for the entries
    to be added to CHANGES

    3.change all tickets with the status pending and accepted with no pending work items
    to closed using bulk-edit:
    - for each ticket category choose Searches in the left column towards the bottom
    - search/query for pending tickets, enter the following value in the search field:
    * category: Bugs, Feature-requests
    status:pending or (status:accepted AND _pending_work_items:none)
    * category: Documentation, Patches
    status:pending or status:accepted
    - if there are more than 25 hits, choose the maximum of 250
    - in the upper right hand corner choose bulk-edit
    - change status to closed
    - click the check box in the title underneath to select all tickets
    - click Save
    - repeat, if more than 250 hits

    4.Milestone 5.1.0 and 5.0.1 (for potential buf fix releases) needs to be
    created, here the steps needed for Bugs:

    • pick Administration

    • click on the lock icon in the upper hand corner

    • click on the Tickets menu and then on the changed config "icon"
      left of the text Bugs

    • choose Field Management

    • add 5.1.0 and 5.0.1 to Milestones which represents ooRexx
      version numbers offered when new bugs get created; to take effect
      one needs to press the Save button underneath the visual frame

      Note: this option page would allow to delete Milestones (e.g. if no
      no tickets registered) and to declare Milestones to be "completed"
      by checking the respective box; deleted and completed Milestones
      will cause them to not be shown in the "Groups" frame on the left
      hand side.

  • release

  • rename the folders from 5.0.0_Release_Candidate to 5.0.0

  • Update the SourceForge default download links to point to the new releases

  • announce the new release on the ooRexx related e-mail lists,
    RexxLA e-mail list, BSF4ooRexx related e-mail lists, Open Object Rexx Facebook page,
    comp.lang.rexx

    • ask the reader to forward the announcement to related e-mail lists
      they participate (like the various IBM e-mail lists, other related
      open-source e-mail lists and projects)
  • add a release entry in the SourceForge project's "News" section using
    the link: https://sourceforge.net/p/oorexx/news/

  • use "svn move" to move main/branches/5.0.0 to main/releases/5.0.0, do the same
    for the documentation (docs/branches/5.0.0 to docs/releases/5.0.0) and tests

    svn move --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/main/branches/5.0.0 svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/main/releases/5.0.0 -m "Creating main/releases/5.0.0 to conclude release process."
    svn move --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/docs/branches/5.0.0 svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/docs/releases/5.0.0 -m "Creating docs/releases/5.0.0 to conclude release process."
    svn move --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/test/branches/5.0.0 svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/test/releases/5.0.0 -m "Creating test/releases/5.0.0 to conclude release process."
    
  • change into docs/trunk/tools and run

    updateEntityValues.rex -y 2023 -v "5.0.0 -> 5.1.0" -e "2023.01.01" -r 99999 ..
    
  • update the ooRexx documentation in trunk to not show CHG and NEW for 50 anymore by
    setting the replacement text to the empty string "", from

    <!ENTITY added50 "*NEW* ">
    <!ENTITY changed50 "*CHG* ">
    

    to

    <!ENTITY added50 "">
    <!ENTITY changed50 "">
    

    and to add for new additions and changes in the documentation

    <!ENTITY added51 " *NEW* ">
    <!ENTITY changed51 " *CHG* ">
    

    in the files: rexxapi/en-US/rexxapi.ent, rexxpg/en-US/rexxpg.ent, rexxref/en-US/rexxref.ent,
    winextensions/en-US/winextensions.ent

  • change into main/trunk, edit CHANGES to remove all changes documented for
    5.0.0, keep the headings

  • change into main/trunk, edit ReleaseNotes to remove all changes documented for
    5.0.0, adjust copyright year and version (change from 5.0.0 to 5.1.0 and
    4.2.0 to 5.0.0)

  • overall timetable estimate:

  • t0: if the tests on Jenkins show no show-stopper errors from the latest
    trunk, then create the branch

  • t1: create the installation packages from the branch and upload them to a
    staged directory 5.0.0

  • t2: apply the necessary changes in the branch (version information update,
    release information update): within (t0+7) days the longest

  • t3: communicate the availability: t2+1

  • t4: once the release has been finalized, create a x.x.(n+1) branch from the release branche
    to be used for potential bug fix releases. This includes updating the release number information
    in the build.
    move the main|docs|test"/branches/5.0.0 to main|docs|test"/releases/5.0.0

  • in the case that updates are needed to the release version one needs to create
    appropriate the branches: branches/5.0.1 for main, docs, test to work in

    svn copy --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/main/releases/5.0.0 svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/main/branches/5.0.1 -m "Creating code branch 5.0.1."
    svn copy --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/docs/releases/5.0.0 svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/docs/branches/5.0.1 -m "Creating docs branch 5.0.1."
    svn copy --username=userId svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/test/releases/5.0.0 svn+ssh://orexx@svn.code.sf.net/p/oorexx/code-0/test/branches/5.0.1 -m "Creating test branch 5.0.1."
    

Helpful SourceForge resources:


The wiki uses Markdown syntax.