compile pipeline