Pekingin olympialaisissa 2008 Rupp sijoittui 10 000 metrillä kolmanneksitoista. Lontoon olympialaisissa 2012 hän saavutti 10 000 metrillä olympiahopeaa ajalla 27.30,90. Hän hävisi harjoittelukumppanilleen Mohamed Farahille puolisen sekuntia. 5 000 metrillä hän oli seitsemäs. Rio de Janeiron olympialaisissa 2016 Rupp saavutti pronssia maratonilla ja oli viides 10 000 metrillä. MM-kilpailuissa Rupp on sijoittunut 5 000 metrin juoksussa yhdeksänneksi Daegussa 2011, kahdeksanneksi Moskovassa 2013 ja viidenneksi Pekingissä 2015 sekä 10 000 metrin juoksussa yhdenneksitoista Osakassa 2007, kahdeksanneksi Berliinissä 2009, seitsemänneksi Daegussa 2011, neljänneksi Moskovassa 2013 ja viidenneksi Pekingissä 2015. Sisäratojen MM-kilpailuissa hän sijoittui 3 000 metrillä viidenneksi Dohassa 2010 ja neljänneksi Sopotissa 2014. Istanbulissa 2012 hän karsiutui alkuerässä 1 500 metrin juoksussa.