compile artifact