Citation: 2C_630/2017 E. C

A.________ gelangt mit Beschwerde vom 10. Juli 2017 in öffentlich-rechtlichen Angelegenheiten und subsidiärer Verfassungsbeschwerde an das Bundesgericht. Er beantragt, das Urteil des Verwaltungsgerichts sei vollumfänglich aufzuheben und ihm die Niederlassungsbewilligung zu belassen. Für das kantonale Rekurs- und das Verwaltungsgerichtsbeschwerdeverfahren sei ihm eine Prozessentschädigung zuzusprechen. Der Beschwerdeführer ersucht um unentgeltliche Rechtspflege und Verbeiständung. Der Abteilungspräsident legte der Beschwerde am 12. Juli 2017 antragsgemäss aufschiebende Wirkung bei. Das Verwaltungsgericht, die Sicherheitsdirektion des Kantons Zürich und das Staatssekretariat für Migration verzichten auf eine Vernehmlassung. Das Migrationsamt reicht keine Stellungnahme ein.