Red Sox beat Astros 12-8