I recently updated Jetbrains Team City to version 2020.2.2. I use it to build my project whenever I check code into my source repository. I use the TeamCity API to DownloadAll in order to retrieve an Artifacts.zip that contains all the files generated by the build.
The recent update has a bug in it which is corrupting the Artifacts.zip file that is downloaded.
I am now getting an InvalidDataException "A local file header is corrupt." when My program calls System.IO.Compression.ZipFile.ExtractToDirectory()
on the Artifacts.zip file.
I am able to right click on this very same file and unzip it using the built in windows "Extract All" and also with 7-Zip extract to folder. No problems with those, but for some reason, my program throws the above exception.
I use the following command on the Team City API to get the file: https://{myserver}/httpAuth/repository/downloadAll/{myrepository}/{buildId}:id/artifacts.zip
Does anybody know why this would have just started happening on February 1, 2021?
I wrote up a bug on the JetBrains Team City site describing the above problem. They responded this morning with a fix. This appears to have been introduced with TeamCity Enterprise 2020.2.2 (build 85899):
Please add an internal property: (Click blue link to the left for instructions on how)
We applied the above property, and the problem was immediately resolved. No reboot of TeamCity was necessary.
Here is a LINK to the bug/solution on the JetBrains TeamCity site.