run coverage locally and on ci. thanks @fredwu