feature: the name server's domains have wan.local_fqdn and dns.secondary as their name servers, and a site with dns router gets records of the router's public, internal or external address.
Release / release (push) Successful in 35s
Release / release (push) Successful in 35s
This commit is contained in:
1 parent
c2c33cfca0
commit
7f85a1a2e5
16 files changed
+497
-304
No files matched your search
+18
-11
@@ -32,19 +32,26 @@ def git(*args):
|
||||
|
||||
|
||||
def summary():
|
||||
"""The summary line of the first changelog entry, or None when it has none.
|
||||
"""The summary of the first changelog entry joined into one line, or None when it has none.
|
||||
|
||||
The summary is the entry's first text line: indented by two spaces, not a "*" item,
|
||||
with a blank line between it and the header and a blank line after it.
|
||||
The summary is the entry's first paragraph: lines indented by exactly two spaces, the
|
||||
first not a "*" item, with a blank line between it and the header and a blank line after it.
|
||||
"""
|
||||
lines = CHANGELOG.read_text(encoding='utf-8').splitlines()
|
||||
if len(lines) < 4 or lines[1].strip() or lines[3].strip():
|
||||
if len(lines) < 4 or lines[1].strip():
|
||||
return None
|
||||
line = lines[2]
|
||||
text = line.strip()
|
||||
if not line.startswith(' ') or line.startswith(' ') or not text or text.startswith('*') or line.startswith(' -- '):
|
||||
paragraph = []
|
||||
for line in lines[2:]:
|
||||
if not line.strip():
|
||||
break
|
||||
if not line.startswith(' ') or line.startswith(' ') or line.startswith(' -- '):
|
||||
return None
|
||||
paragraph.append(line.strip())
|
||||
else:
|
||||
return None
|
||||
return text
|
||||
if not paragraph or paragraph[0].startswith('*'):
|
||||
return None
|
||||
return ' '.join(paragraph)
|
||||
|
||||
|
||||
def version():
|
||||
@@ -61,7 +68,7 @@ def version():
|
||||
def main():
|
||||
global DRY_RUN
|
||||
parser = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
||||
parser.add_argument('-m', '--message', help='commit message; default: the summary line of the newest changelog entry, a line without "*" between blank lines right after its header')
|
||||
parser.add_argument('-m', '--message', help='commit message; default: the summary of the newest changelog entry, a paragraph not starting with "*" between blank lines right after its header')
|
||||
parser.add_argument('-n', '--dry-run', action='store_true', help='print the git commands instead of running them')
|
||||
parser.add_argument('--no-push', action='store_true', help='commit and tag, but do not push')
|
||||
args = parser.parse_args()
|
||||
@@ -69,8 +76,8 @@ def main():
|
||||
|
||||
message = args.message or summary()
|
||||
if not message:
|
||||
sys.exit(f'no commit message: pass -m, or start the newest entry of {CHANGELOG} with a summary line '
|
||||
'without "*", indented by two spaces, with a blank line above and below it')
|
||||
sys.exit(f'no commit message: pass -m, or start the newest entry of {CHANGELOG} with a summary paragraph '
|
||||
'not starting with "*", indented by two spaces, with a blank line above and below it')
|
||||
tag = version()
|
||||
if subprocess.run(['git', 'rev-parse', '-q', '--verify', f'refs/tags/{tag}'], cwd=ROOT,
|
||||
capture_output=True).returncode == 0:
|
||||
|
||||
Reference in new issue
Block a user