Skip to content

Commit e2f09b6

Browse files
committed
chore(release): check deploy release ptypes
1 parent 1eee52a commit e2f09b6

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

rootfs/api/models/app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def save(self, *args, **kwargs):
151151
def ptypes(self):
152152
return list(self.structure.keys())
153153

154-
def check_ptypes(self, ptypes):
154+
def check_ptypes(self, ptypes: set):
155155
"""
156156
check available procfile types
157157
"""

rootfs/api/views.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,17 @@ def deploy(self, request, **kwargs):
623623
force_deploy = request.data.get("force", False)
624624
ptypes = set(
625625
[ptype for ptype in request.data.get("ptypes", "").split(",") if ptype])
626-
ptypes = latest_release.app.check_ptypes(ptypes)
626+
if not ptypes:
627+
ptypes = latest_release.ptypes
628+
else:
629+
previous_release = latest_release.previous()
630+
all_ptypes = latest_release.ptypes
631+
if previous_release:
632+
all_ptypes += previous_release.ptypes
633+
invalid_ptypes = ptypes.difference(all_ptypes)
634+
if len(invalid_ptypes) != 0:
635+
raise DryccException("process type {} is not exists".
636+
format(','.join(invalid_ptypes)))
627637
latest_release.deploy(ptypes, force_deploy)
628638
return Response(status=status.HTTP_204_NO_CONTENT)
629639

0 commit comments

Comments
 (0)