Citation: 2C_615/2017 E. C

A.C.________ gelangt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten und Verfassungsbeschwerde an das Bundesgericht. Er beantragt, die Verfügung des Migrationsamtes des Kantons Zürich vom 30. April 2014, der Rekursentscheid der Sicherheitsdirektion vom 3. März 2017 sowie das Urteil des Verwaltungsgerichts des Kantons Zürich vom 31. Mai 2017 bzw. der Widerruf seiner Aufenthaltsbewilligung sei aufzuheben. Eventualiter sei das angefochtene Urteil der Vorinstanz zur Neubeurteilung zurückzuweisen. Der Beschwerdeführer ersucht um unentgeltliche Prozessführung und Verbeiständung. Das Verwaltungsgericht und die Sicherheitsdirektion des Kantons Zürich verzichten auf eine Vernehmlassung. Das Migrationsamt und das Staatssekretariat für Migration reichen keine Stellungnahme ein.