1
1
#!/usr/bin/env python3
2
2
3
+ import argparse
3
4
import json
4
5
import os
5
6
import re
@@ -20,26 +21,33 @@ def version_key(version_string):
20
21
return key
21
22
22
23
23
- def main (args ):
24
+ def main ():
24
25
if subprocess .check_output (['git' , 'status' , '--porcelain' ], cwd = root_dir ).strip ():
25
26
print ('tree is not clean' )
26
27
sys .exit (1 )
27
28
29
+ parser = argparse .ArgumentParser ()
30
+ parser .add_argument ('-r' , '--release-hash' )
31
+ parser .add_argument ('-a' , '--asserts-hash' )
32
+ parser .add_argument ('-v' , '--new-version' )
33
+ parser .add_argument ('--gh-action' , action = 'store_true' )
34
+ options = parser .parse_args ()
35
+
28
36
release_info = emsdk .load_releases_info ()
29
- new_version = version_key (release_info ['aliases' ]['latest' ])[0 ]
30
- new_version [- 1 ] += 1
37
+ if options .new_version :
38
+ new_version = options .new_version
39
+ else :
40
+ new_version = version_key (release_info ['aliases' ]['latest' ])[0 ]
41
+ new_version [- 1 ] += 1
42
+ new_version = '.' .join (str (part ) for part in new_version )
31
43
32
- new_version = '.' .join (str (part ) for part in new_version )
33
44
asserts_hash = None
34
- is_github_runner = False
35
- if args :
36
- new_hash = args [0 ]
37
- if len (args ) > 1 :
38
- asserts_hash = args [1 ]
39
- if len (args ) > 2 and args [2 ] == '--action' :
40
- is_github_runner = True
45
+ if options .release_hash :
46
+ new_hash = options .release_hash
47
+ asserts_hash = options .asserts_hash
41
48
else :
42
49
new_hash = emsdk .get_emscripten_releases_tot ()
50
+
43
51
print ('Creating new release: %s -> %s' % (new_version , new_hash ))
44
52
release_info ['releases' ][new_version ] = new_hash
45
53
if asserts_hash :
@@ -62,7 +70,7 @@ def main(args):
62
70
63
71
branch_name = 'version_' + new_version
64
72
65
- if is_github_runner : # For GitHub Actions workflows
73
+ if options . gh_action : # For GitHub Actions workflows
66
74
with open (os .environ ['GITHUB_ENV' ], 'a' ) as f :
67
75
f .write (f'RELEASE_VERSION={ new_version } ' )
68
76
else : # Local use
@@ -81,4 +89,4 @@ def main(args):
81
89
82
90
83
91
if __name__ == '__main__' :
84
- sys .exit (main (sys . argv [ 1 :] ))
92
+ sys .exit (main ())
0 commit comments