Page MenuHomePhabricator

Enlightenment Releases
Updated 383 Days AgoPublic

This document describes the procedure in order to successfully release a stable version of Enlightenment.

  1. Apply backports from master (ping @zmike)
  2. Check if translation comments need updating git clean -fxd; autogen.sh Then commit if there are changes
  3. commit: cherry-pick+edit previous commit to configure.ac and meson.build to bump the release version (eg. 0.20.0 -> 0.20.1)
  4. commit: Import git shortlog v$previous_version..HEAD~1 to top of NEWS under new version number (HEAD~1 to exclude the configure.ac commit)
  5. tag: git tag -a v$version
  6. Run the python3 script at the end to generate table entries from addressed tickets:
  7. make distcheck
  8. Test compile+run against minimum required version of efl
  9. If significant build changes have occurred, send test tarballs to enlightenment-release@lists.sourceforge.net and wait 24-48 hours for packagers to test
  10. Go to https://www.enlightenment.org/news and click edit for the last stable release announcement to get the full markup text
  11. Scroll all the way down https://www.enlightenment.org/news and use the link there to add a new article
    • Try to pick urls in the form of e$MAJOR_$MINOR_release
  12. Replace content from previous release with updated content (copy/paste from NEWS)
  13. Copy tarballs to download.enlightenment.org (/srv/web/download.enlightenment.org/public_html/rel/apps/enlightenment/) (ping @zmike or @raster or @stefan_schmidt if you don't have access)
  14. Copy/replace previous release mail text (eg. https://www.mail-archive.com/enlightenment-devel@lists.sourceforge.net/msg80765.html)
  15. Re-read mail text for accuracy
  16. Send mail to release@lists.enlightenment.org
  17. Push commits and tag to repo git push --follow-tags
  18. Change IRC topic
  19. Update downloads link on enlightenment.org/download
#!/usr/bin/python3
import argparse
import re
import subprocess
import time

from phabricator import Phabricator

phab = Phabricator()
phab.update_interfaces()

parser = argparse.ArgumentParser(description='Find Tickets. Run this from the enlightenment git repo')
parser.add_argument('Range', help='a range to pass to git eg \"v0.21.9..HEAD\"')

args = parser.parse_args()

git = subprocess.run(["git", "log", args.Range], stdout=subprocess.PIPE)

commits = re.findall("T[0-9][0-9][0-9][0-9]", str(git.stdout))
# list(set(X)) makes it unique
task_list = sorted(list(set(commits)))

print(str(task_list))

for t in task_list:
    result = str(phab.maniphest.info(task_id=int(t[1:])))[1:-1]

    items = result.split(",")
    for i in items:
        if "\'title\':" in i:
            title = i[i.index(":")+3:-1]
            print ("| [[ https://phab.enlightenment.org/" + t + "|"+ t +" ]] |" + title + " |")
            
            
    # sleep to stop killing phab
    time.sleep(0.1)
Last Author
simotek
Last Edited
Nov 28 2017, 12:48 AM
Projects
Subscribers
raster, stefan_schmidt, zmike, simotek