def clone(repo): com.cmd("git clone --recurse-submodules " + upstream(repo)) os.chdir("./" + repo) com.cmd("git checkout master") com.cmd("git remote update origin --prune") com.cmd("git pull origin --tags") os.chdir("..")
def merge_dev_to_master(): os.chdir("./lvgl") com.cmd("git checkout master") com.cmd("git merge dev") com.push("origin master") os.chdir("../") os.chdir("./docs") com.cmd("git checkout dev -- " ) #'dev' sometimes is not recognized so switch to it first com.cmd("git checkout latest --") com.cmd("git merge dev -X theirs --no-edit;") com.push("origin latest") os.chdir("../")
def clone(repo): com.cmd("git clone --recurse-submodules https://github.com/lvgl/" + repo) os.chdir("./" + repo) com.cmd("git checkout master") com.cmd("git remote update origin --prune") com.cmd("git pull origin --tags") os.chdir("..")
def lv_drivers_release(ver): print("Release lv_drivers") os.chdir("./lv_drivers") release_br = "release/v" + str(ver[0]) ver_str = com.ver_format(ver) com.update_version(ver) com.cmd('git commit -am "Release ' + ver_str + '"') com.cmd("git tag -a " + ver_str + " -m 'Release " + ver_str + "' ") com.push('origin master') com.push('origin --tags') update_release_branch(release_br) os.chdir("../")
def blog_release(ver, release_note): os.chdir("./blog/_posts") ver_str = com.ver_format(ver) post = "---\nlayout: post\ntitle: " + ver_str + " is released\nauthor: \"kisvegabor\"\ncover: /assets/release_cover.png\n---\n\n" post += release_note today = date.today() d = today.strftime("%Y-%m-%d") f = open(d + "-release_" + ver_str + ".md", "w") f.write(post) f.close() com.cmd("git add .") com.cmd("git commit -am 'Add " + ver_str + " release post'") com.push('origin master') os.chdir("../../")
def docs_update_ver(ver, br): os.chdir("./docs") com.cmd("git checkout " + br + " --") com.update_version(ver) com.cmd("git commit -am 'Update " + br + " version'") com.push("origin " + br) com.cmd("git checkout master --") os.chdir("../")
def lvgl_update_ver(ver, br): os.chdir("./lvgl") com.cmd("git checkout " + br) com.update_version(ver) com.cmd("git commit -am 'Update " + br + " version'") com.push("origin " + br) com.cmd("git checkout master") os.chdir("../")
def lv_examples_release(ver): print("Release lv_examples") os.chdir("./lv_examples") release_br = "release/v" + str(ver[0]) ver_str = com.ver_format(ver) com.update_version(ver) com.cmd("sed -i -r 's/LV_VERSION_CHECK\([0-9]+, *[0-9]+, *[0-9]+\)/"+ "LV_VERSION_CHECK(" + str(ver[0]) + ", " + str(ver[1]) + ", " + str(ver[2]) + ")/' lv_examples.h") com.cmd('git commit -am "Release ' + ver_str + '"') com.cmd("git tag -a " + ver_str + " -m 'Release " + ver_str + "' ") com.push('origin master') com.push('origin --tags') os.chdir("../")
def update_release_branch(release_br, master_br = "master"): com.cmd("git checkout " + release_br) com.cmd("git pull origin " + release_br) com.cmd("git merge "+ master_br +" -X ours"); com.push("origin " + release_br); com.cmd("git checkout master");
def lvgl_release(ver): print("Release lvgl") ver_str = com.ver_format(ver) release_br = "release/v" + str(ver[0]) os.chdir("./lvgl") com.define_set("./lvgl.h", "LVGL_VERSION_INFO", '\"\"') # Run some scripts os.chdir("./scripts") com.cmd("./code-format.sh") com.cmd("./lv_conf_checker.py") com.cmd("doxygen") os.chdir("../") com.update_version(ver) #update CHANGLELOG new_content = "" f = open("./CHANGELOG.md", "r") release_note = "" note_state = 0 for i in f.read().splitlines(): if note_state == 0: r = re.search(r'^## ' + ver_str, i) if r: i = i.replace("planned on ", "") note_state+=1 elif note_state == 1: r = re.search(r'^## ', i) if r: note_state+=1 else: release_note += i + '\n' new_content += i + '\n' f.close() f = open("./CHANGELOG.md", "w") f.write(new_content) f.close() com.cmd('git commit -am "Release ' + ver_str + '"') com.cmd('git checkout dev') com.cmd("git merge master -X ours") com.cmd("git add .") com.cmd("git commit -am 'Merge master'", False) com.push('origin dev') com.cmd('git checkout master') com.cmd("git tag -a " + ver_str + " -m 'Release " + ver_str + "' ") com.push('origin master') com.push('origin --tags') update_release_branch(release_br) os.chdir("../") return release_note
def docs_release(ver): print("Release docs") os.chdir("./docs") release_br = "release/v" + str(ver[0]) ver_str = com.ver_format(ver) com.cmd("git co latest --") com.cmd("rm -rf xml"); com.cmd("cp -r ../lvgl/docs/api_doc/xml ."); com.cmd("git add xml"); com.update_version(ver) com.cmd('git commit -am "Release ' + ver_str + '"') com.cmd("git tag -a " + ver_str + " -m 'Release " + ver_str + "' ") com.push('origin master') com.push('origin --tags') update_release_branch(release_br, "latest") os.chdir("../")
def cleanup(): os.chdir("../") com.cmd("rm -fr " + workdir)
def make(repo_path, auto_push = False): os.chdir("./" + repo_path) com.cmd('git checkout master') print("Update lvgl"); os.chdir("./lvgl") com.cmd("git checkout master") com.cmd("git pull origin --tags") out = subprocess.Popen(['git', 'tag', '--sort=-creatordate'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) stdout,stderr = out.communicate() ver_str = stdout.decode("utf-8").split('\n')[0] release_br = ver_str[1:] #trim "v" release_br = release_br.split('.')[0] # get the first number release_br = "release/v" + release_br com.cmd("git checkout " + release_br + "; git pull origin " + release_br) os.chdir("..") com.cmd("cp -f lvgl/lv_conf_template.h lv_conf.h") com.cmd("sed -i -r 's/#if 0/#if 1/' lv_conf.h") # Enable lv_conf.h with open("confdef.txt") as f: for line in f: (key, val) = line.rstrip().split('\t') com.define_set("lv_conf.h", str(key), str(val)) if os.path.exists("lv_examples"): print("Update lv_examples"); com.cmd("cd lv_examples; git co " + release_br + "; git pull origin " + release_br) if os.path.exists("lv_drivers"): print("update lv_drivers"); com.cmd("cd lv_drivers " + release_br + "; git pull origin " + release_br) msg = 'Update to ' + ver_str com.cmd("git add .") com.cmd('git commit -am "' + msg + '"') com.cmd("git tag -a " + ver_str + " -m '" + msg + "' " ) if auto_push: com.push("origin --tags") com.push("origin master") os.chdir("../")
branches = branches.replace("'", "") branches = branches.replace("origin/", "") branches = branches.replace(" ", " ") branches = branches.replace("\\n", "") branches = branches.split(" ") branches = list(filter(len, branches)) commits = [] with open('../commits.txt') as f: for line in f: commits.insert(0, line) print(commits) for br in branches: com.cmd("git checkout " + br) print("Applying commits") for c in commits: h = c.split(" ") com.cmd("git cherry-pick " + h[0]) ver = com.get_lvgl_version(br) ver_new = ver.copy() ver_new[2] = str(int(ver_new[2]) + 1) print("Updating branch '" + br + "' from '" + com.ver_format(ver) + "' to '" + com.ver_format(ver_new) + "'") com.update_version(ver_new) com.cmd("git tag -a " + com.ver_format(ver_new) + "-m \"Release " + com.ver_format(ver_new) + "\"")