Skip to content

Commit 923b6ee

Browse files
committed
Cleanup binary tag releases to reduce repo size.
Close #242.
1 parent 0561896 commit 923b6ee

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ integration-test-docker:
3434
cd /root/.config/nvim && \
3535
make integration-test"
3636

37+
cleanup-binary-tags:
38+
ci/cleanup-binary-tags.py
39+
3740
clean:
3841
cargo clean
3942
rm -rf bin/languageclient

ci/cleanup-binary-tags.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env python3
2+
3+
import subprocess
4+
import re
5+
import semver
6+
7+
8+
def tag_to_version(tag):
9+
version = re.sub(r'binary-', '', tag)
10+
version = re.sub(r'-[x86|i686].*', '', version)
11+
return version
12+
13+
subprocess.check_call('git pull --tags', shell=True)
14+
tags = subprocess.check_output('git tag --list | grep binary', shell=True).decode('UTF-8').splitlines()
15+
versions = sorted(list(set([tag_to_version(tag) for tag in tags])), key=semver.parse_version_info)
16+
versions_to_delete = versions[:-3]
17+
18+
cmd_delete_local = 'git tag --delete'
19+
cmd_delete_remote = 'git push --delete origin'
20+
for tag in tags:
21+
if tag_to_version(tag) in versions_to_delete:
22+
cmd_delete_local += ' ' + tag
23+
cmd_delete_remote += ' ' + tag
24+
25+
if not cmd_delete_local.endswith('delete'):
26+
subprocess.check_call(cmd_delete_local, shell=True)
27+
if not cmd_delete_remote.endswith('origin'):
28+
subprocess.check_call(cmd_delete_remote, shell=True)

0 commit comments

Comments
 (0)