Updated the tagging script
This commit is contained in:
parent
96c061d580
commit
26ae425f9a
|
|
@ -4,22 +4,38 @@ import re
|
||||||
import stat
|
import stat
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
TAGS = {'latest': '11.5-5.1.9', 'ki6': 'ki6.0.7_Debian'}
|
CUR_VERSION = '1.3.0'
|
||||||
|
CUR_K5 = '5.1.9'
|
||||||
|
CUR_K6 = '6.0.7'
|
||||||
|
CUR_DEB = '11.5'
|
||||||
|
|
||||||
|
TAGS = {'latest': CUR_DEB+'-'+CUR_K5, 'ki6': 'ki'+CUR_K6+'_Debian'}
|
||||||
|
NEW_TAGS = {'latest': '-2_k'+CUR_K5+'_d'+CUR_DEB, 'ki6': '-2_k'+CUR_K6+'_d'+CUR_DEB}
|
||||||
|
NEW_DEB1 = {'latest': CUR_K5, 'ki6': CUR_K6}
|
||||||
|
NEW_DEB2 = {'latest': CUR_K5+'_d'+CUR_DEB, 'ki6': CUR_K6+'_d'+CUR_DEB}
|
||||||
IMAGES = ['kicad_debian', 'kicad_auto', 'kicad_auto_test']
|
IMAGES = ['kicad_debian', 'kicad_auto', 'kicad_auto_test']
|
||||||
|
NEW_NAMES = {'kicad_auto:latest': 'kicad5_auto',
|
||||||
|
'kicad_auto:ki6': 'kicad6_auto',
|
||||||
|
'kicad_auto_test:latest': 'kicad5_auto_full',
|
||||||
|
'kicad_auto_test:ki6': 'kicad6_auto_full'}
|
||||||
|
NEW_NAMES_D = {'kicad_debian:latest': 'kicad5_debian',
|
||||||
|
'kicad_debian:ki6': 'kicad6_debian'}
|
||||||
OWNER = 'setsoft'
|
OWNER = 'setsoft'
|
||||||
OWNER2= 'ghcr.io/inti-cmnb'
|
OWNER2 = 'ghcr.io/inti-cmnb'
|
||||||
|
DEBUG = False
|
||||||
|
|
||||||
|
|
||||||
def do_tag(name, hash, current):
|
def do_tag(name, hash, current):
|
||||||
cmd = ['docker', 'tag', hash, name]
|
cmd = ['docker', 'tag', hash, name]
|
||||||
print('{} -> {}'.format(current, cmd))
|
print('{} -> {}'.format(current, cmd))
|
||||||
subprocess.run(cmd, check=True)
|
if not DEBUG:
|
||||||
|
subprocess.run(cmd, check=True)
|
||||||
|
|
||||||
|
|
||||||
res = subprocess.run(['docker', 'images'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True)
|
res = subprocess.run(['docker', 'images'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True)
|
||||||
reg = re.compile(r'^(\S+)\s+(\S+)\s+([0-9a-z]+)\s+')
|
reg = re.compile(r'^(\S+)\s+(\S+)\s+([0-9a-z]+)\s+')
|
||||||
|
|
||||||
if 0:
|
if 1:
|
||||||
for ln in res.stdout.decode().split('\n'):
|
for ln in res.stdout.decode().split('\n'):
|
||||||
r = reg.search(ln)
|
r = reg.search(ln)
|
||||||
if r is None:
|
if r is None:
|
||||||
|
|
@ -34,9 +50,27 @@ if 0:
|
||||||
img = r1[1]
|
img = r1[1]
|
||||||
if img not in IMAGES:
|
if img not in IMAGES:
|
||||||
continue
|
continue
|
||||||
do_tag('{}/{}:{}'.format(OWNER, img, TAGS[tag]), r[2], r[0]+':'+r[1])
|
hash = r[2]
|
||||||
do_tag('{}/{}:{}'.format(OWNER2, img, TAGS[tag]), r[2], r[0]+':'+r[1])
|
current = r[0]+':'+tag
|
||||||
do_tag('{}/{}:{}'.format(OWNER2, img, tag), r[2], r[0]+':'+r[1])
|
do_tag('{}/{}:{}'.format(OWNER, img, TAGS[tag]), hash, current)
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, img, TAGS[tag]), hash, current)
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, img, tag), hash, current)
|
||||||
|
old_lu = img+':'+tag
|
||||||
|
try:
|
||||||
|
new_img = NEW_NAMES[old_lu]
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, new_img, 'latest'), hash, current)
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, new_img, CUR_VERSION), hash, current)
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, new_img, CUR_VERSION+NEW_TAGS[tag]), hash, current)
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
new_img = NEW_NAMES_D[old_lu]
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, new_img, 'latest'), hash, current)
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, new_img, NEW_DEB1[tag]), hash, current)
|
||||||
|
do_tag('{}/{}:{}'.format(OWNER2, new_img, NEW_DEB2[tag]), hash, current)
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
with open('push.sh', 'wt') as f:
|
with open('push.sh', 'wt') as f:
|
||||||
f.write('#!/bin/sh\n')
|
f.write('#!/bin/sh\n')
|
||||||
|
|
@ -44,4 +78,20 @@ with open('push.sh', 'wt') as f:
|
||||||
for i in IMAGES:
|
for i in IMAGES:
|
||||||
for t in TAGS.values():
|
for t in TAGS.values():
|
||||||
f.write('docker push {}/{}:{}\n'.format(o, i, t))
|
f.write('docker push {}/{}:{}\n'.format(o, i, t))
|
||||||
|
if o == OWNER2:
|
||||||
|
for i in IMAGES:
|
||||||
|
f.write('docker push {}/{}:latest\n'.format(o, i))
|
||||||
|
f.write('docker push {}/{}:ki6\n'.format(o, i))
|
||||||
|
if i == 'kicad_debian':
|
||||||
|
for t in TAGS.keys():
|
||||||
|
new_name = NEW_NAMES_D[i+':'+t]
|
||||||
|
f.write('docker push {}/{}:latest\n'.format(o, new_name))
|
||||||
|
f.write('docker push {}/{}:{}\n'.format(o, new_name, NEW_DEB1[t]))
|
||||||
|
f.write('docker push {}/{}:{}\n'.format(o, new_name, NEW_DEB2[t]))
|
||||||
|
else:
|
||||||
|
for t in TAGS.keys():
|
||||||
|
new_name = NEW_NAMES[i+':'+t]
|
||||||
|
f.write('docker push {}/{}:latest\n'.format(o, new_name))
|
||||||
|
f.write('docker push {}/{}:{}\n'.format(o, new_name, CUR_VERSION))
|
||||||
|
f.write('docker push {}/{}:{}\n'.format(o, new_name, CUR_VERSION+NEW_TAGS[t]))
|
||||||
os.chmod('push.sh', stat.S_IRWXU)
|
os.chmod('push.sh', stat.S_IRWXU)
|
||||||
|
|
|
||||||
24
push.sh
24
push.sh
|
|
@ -11,3 +11,27 @@ docker push ghcr.io/inti-cmnb/kicad_auto:11.5-5.1.9
|
||||||
docker push ghcr.io/inti-cmnb/kicad_auto:ki6.0.7_Debian
|
docker push ghcr.io/inti-cmnb/kicad_auto:ki6.0.7_Debian
|
||||||
docker push ghcr.io/inti-cmnb/kicad_auto_test:11.5-5.1.9
|
docker push ghcr.io/inti-cmnb/kicad_auto_test:11.5-5.1.9
|
||||||
docker push ghcr.io/inti-cmnb/kicad_auto_test:ki6.0.7_Debian
|
docker push ghcr.io/inti-cmnb/kicad_auto_test:ki6.0.7_Debian
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad_debian:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad_debian:ki6
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_debian:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_debian:5.1.9
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_debian:5.1.9_d11.5
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_debian:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_debian:6.0.7
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_debian:6.0.7_d11.5
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad_auto:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad_auto:ki6
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_auto:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_auto:1.3.0
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_auto:1.3.0-2_k5.1.9_d11.5
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_auto:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_auto:1.3.0
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_auto:1.3.0-2_k6.0.7_d11.5
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad_auto_test:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad_auto_test:ki6
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_auto_full:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_auto_full:1.3.0
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad5_auto_full:1.3.0-2_k5.1.9_d11.5
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_auto_full:latest
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_auto_full:1.3.0
|
||||||
|
docker push ghcr.io/inti-cmnb/kicad6_auto_full:1.3.0-2_k6.0.7_d11.5
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue