In cross-lingual text classification, one seeks to exploit labeled data fromone language to train a text classification model that can then be applied to acompletely different language. Recent multilingual representation models havemade it much easier to achieve this. Still, there may still be subtledifferences between languages that are neglected when doing so. To addressthis, we present a semi-supervised adversarial training process that minimizesthe maximal loss for label-preserving input perturbations. The resulting modelthen serves as a teacher to induce labels for unlabeled target language samplesthat can be used during further adversarial training, allowing us to graduallyadapt our model to the target language. Compared with a number of strongbaselines, we observe significant gains in effectiveness on document and intentclassification for a diverse set of languages.