Justin Trudeau promises to resign as PM