Skip to content

Commit

Permalink
Cirrus: Don't update last good commit if CI skipped
Browse files Browse the repository at this point in the history
For builds that are effectively skipped, since their tasks are all
skipped or not scheduled in the first place, we shouldn't update
CIRRUS_LAST_GREEN_CHANGE.

Unfortunately, Cirrus *does* update that for builds with no or
all-skipped tasks, for now. They may fix it in the future, we have a
feature request open for it. But for now, this is the workaround.
  • Loading branch information
DeeDeeG authored Sep 13, 2023
1 parent 4e55d8c commit 152b80e
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -263,3 +263,15 @@ silicon_mac_task:
# path: report.xml
# type: text/xml
# format: junit

silently_mark_skipped_or_no_scheduled_tasks_builds_as_failed_task:
skip_notifications: true
only_if: $CIRRUS_CRON == "" && $CIRRUS_TAG == ""
### !!! ^ Don't forget to update this appropriately if our `only_if:` or `skip:` logic changes for the other tasks! !!! ###
### !!! ^ We want this task to run [only] if all other tasks would have skipped. !!! ###
container:
image: alpine:latest
cpu: 1
clone_script: exit 0 # Shortest possible script that succeeds. Saves time vs actually cloning. Failing here triggers an automatic re-run, so don't do that!
mark_task_as_failed_script: exit 1 # Shortest possible script to mark a build as "failed". This protects CIRRUS_LAST_GREEN_CHANGE from being updated by builds that actually just skipped CI.
timeout_in: 6s

0 comments on commit 152b80e

Please sign in to comment.