Where is the rust? I'm guessing either around the marker lights, around the windshield, or the channels that hold water.
All of these are moisture retention areas. Somewhere the paint and primer was compromised, thus you got rust. Ultimately to fix it and ensure it doesn't come back, you need to strip the entire roof, cut out the rusted-through portion, and see how much of the structure is rusted. Rust is like an iceberg, you only see a portion of what is really there.
If you don't fix the underlying rust, it's going to eat from the inside and reoccur. Guaranteed. Also, if you have moisture retention in that adhesive foam that OEMs use to separate panels and reduce noise transfer (and I'm pretty sure GM uses it under the roof skin, been years since I did a roof skin or anyone in the shop did one on a GM truck), it's all got to be removed, and the source of moisture removed.