mirror of
https://github.com/certbot/certbot.git
synced 2025-08-08 04:02:10 +03:00
Create a release pipeline on Azure for Windows installer (#7441)
This PR creates a pipeline triggered on tag push matching v0.* (eg. v0.40.0). Once triggered, this pipeline will build the windows installer, and run integration tests on it, like for the pipeline run nightly. I also add a simple script to extract from CHANGELOG.md file to extract the relevant part to put it in the body of the GitHub release. I believe it makes things nicer. * Create release pipeline * Relax condition on tags * Put beta keyword * Update job name * Fix release pipeline
This commit is contained in:
committed by
Brad Warren
parent
0f31d9b7ac
commit
2dbe47f3a7
41
tools/extract_changelog.py
Executable file
41
tools/extract_changelog.py
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import os
|
||||
import re
|
||||
|
||||
|
||||
CERTBOT_ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
||||
|
||||
NEW_SECTION_PATTERN = re.compile(r'^##\s*[\d.]+\s*-\s*[\d-]+$')
|
||||
|
||||
|
||||
def main():
|
||||
version = sys.argv[1]
|
||||
|
||||
section_pattern = re.compile(r'^##\s*{0}\s*-\s*[\d-]+$'
|
||||
.format(version.replace('.', '\\.')))
|
||||
|
||||
with open(os.path.join(CERTBOT_ROOT, 'CHANGELOG.md')) as file_h:
|
||||
lines = file_h.read().splitlines()
|
||||
|
||||
changelog = []
|
||||
|
||||
i = 0
|
||||
while i < len(lines):
|
||||
if section_pattern.match(lines[i]):
|
||||
i = i + 1
|
||||
while i < len(lines):
|
||||
if NEW_SECTION_PATTERN.match(lines[i]):
|
||||
break
|
||||
changelog.append(lines[i])
|
||||
i = i + 1
|
||||
i = i + 1
|
||||
|
||||
changelog = [entry for entry in changelog if entry]
|
||||
|
||||
print('\n'.join(changelog))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Reference in New Issue
Block a user