Skip to content

Commit d98ab55

Browse files
authored
Deploy all shouldn't error if a challenge image is null/empty (#192)
* Challenges without an image key will not be considered as a failed deploy and will be considered a skipped deploy
1 parent 826d1e6 commit d98ab55

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

ctfcli/cli/challenges.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -711,14 +711,14 @@ def deploy(
711711
else:
712712
challenges = self._resolve_all_challenges()
713713

714-
deployable_challenges, failed_deployments, failed_syncs = [], [], []
714+
deployable_challenges, failed_deployments, skipped_deployments, failed_syncs = [], [], [], []
715715

716716
# get challenges which can be deployed (have an image)
717717
for challenge_instance in challenges:
718718
if challenge_instance.get("image"):
719719
deployable_challenges.append(challenge_instance)
720720
else:
721-
failed_deployments.append(challenge_instance)
721+
skipped_deployments.append(challenge_instance)
722722

723723
config = Config()
724724
with click.progressbar(deployable_challenges, label="Deploying challenges") as challenges:
@@ -815,9 +815,14 @@ def deploy(
815815

816816
click.secho("Success!\n", fg="green")
817817

818+
if len(skipped_deployments) > 0:
819+
click.secho("Deployment skipped (no image specified) for:",fg="yellow")
820+
for challenge_instance in skipped_deployments:
821+
click.echo(f" - {challenge_instance}")
822+
818823
if len(failed_deployments) == 0 and len(failed_syncs) == 0:
819824
click.secho(
820-
"Success! All challenges deployed and installed or synced.",
825+
"Success! All deployable challenges deployed and installed or synced.",
821826
fg="green",
822827
)
823828
return 0

0 commit comments

Comments
 (0)