I have been using iCloud as my calendar sync for years, but since moving to Linux would rather use Runbox with mbsync to synchronise events between my phone and my machine.
I have exported my calendar from iCloud, but when I import into Runbox I only get a portion of the events (and not some of the recent ones). No errors come up, and it takes some time for the events to appear, but an hour and many refreshes later and the events still don’t show up.