This is a bug in Octopus Deploy version v2019.3.1 LTS
We are using GitLab for our CI/CD to test and build packages which is later uploaded to Octopus and then a deploy is started with Octo.exe.
Some projects are using curl to communicate with Octopus to upload the package and using the ** ?replace=true** flag to replace existing library item
curl --verbose -k -X POST https://octopus.diaverum.net/api/packages/raw?replace=true -H “X-Octopus-ApiKey: $Octopus-API-KEY” -F “file=@dcare-api.$VERSION.tar.gz”
This has been like this for quite some time. But since v2019.3.1 there is a bug in our Octopus installation at least where the packages gets uploaded, but the meta data in Octopus doesn’t.
So when entering the Library in Octopus and looking aht the specific file. All meta data is from the previons version Published and SHA1 hasn’t been updated (all the other fields should remain the same)
But if I choose to download the package by pressing “Download” I get the newest version which was uploaded.
And if you try to deploy. Octopus finds the file in the local cache, so it will check against the SHA1 I presume, which is the old one. So deploy doesn’t deploy latest version.
Attaching GitLab log of the upload if it helps:
gitlab.log (4.1 KB)