(release_version: str, release_candidate_number: Optional[int])
| 284 | |
| 285 | |
| 286 | def package_source(release_version: str, release_candidate_number: Optional[int]) -> None: |
| 287 | # 0. Write input version to VERSION file |
| 288 | version = write_version(release_version) |
| 289 | |
| 290 | # 1. Git commit and tag |
| 291 | git = find_command('git', msg='git is required for source packaging') |
| 292 | run(git, 'commit', '-a', '-m', f'release: prepare source release apache-kvrocks-{version}') |
| 293 | if release_candidate_number is None: |
| 294 | run(git, 'tag', '-a', f'v{version}', '-m', f'release: copy for tag v{version}') |
| 295 | else: |
| 296 | run(git, 'tag', '-a', f'v{version}-rc{release_candidate_number}', '-m', f'release: copy for tag v{version}-rc{release_candidate_number}') |
| 297 | |
| 298 | # 2. Create the source tarball |
| 299 | folder = f'apache-kvrocks-{version}-src' |
| 300 | tarball = f'apache-kvrocks-{version}-src.tar.gz' |
| 301 | run(git, 'archive', '--format=tar.gz', f'--output={tarball}', f'--prefix={folder}/', 'HEAD') |
| 302 | |
| 303 | # 3. GPG Sign |
| 304 | gpg = find_command('gpg', msg='gpg is required for source packaging') |
| 305 | run(gpg, '--detach-sign', '--armor', tarball) |
| 306 | |
| 307 | # 4. Generate sha512 checksum |
| 308 | shasum = find_command('shasum', msg='shasum is required for source packaging') |
| 309 | with open(f'{tarball}.sha512', 'w+') as f: |
| 310 | run(shasum, '-a', '512', tarball, stdout=f) |
| 311 | |
| 312 | |
| 313 | def test_cpp(dir: str, rest: List[str]) -> None: |
nothing calls this directly
no test coverage detected