Cruz hits 30th homer, Mariners beat Rockies 8-7