How to yearly schedule a project?

That can work - you can set up a monthly schedule and then check inside the project only for particular month. Failing is not necessary - you can use conditional branching. See Halt on condition without error.