Add verification step for Docker images before releasing them.
PS: I didn't add this to the build step because the risk is high that it would fail silently without anyone noticing.
Why?
To ensure we release the right binary for each platform.
Checklist
Closes
How was this tested:
Running from terminal:
Pass
DST_REPO=temporalio SRC_REPO=temporaliotest PASSWORD=wrong USERNAME=wrong IMAGES=server TAG=dummy COMMIT=bc8c2cd1928c4a6dd3330b48a370cf2c10672968 go run src/image_copy/main.go
verifying binaries in '/usr/local/bin' from 'temporaliotest/server:sha-bc8c2cd' for platform 'linux/arm64' are 'ARM'
Unable to find image 'temporaliotest/server:sha-bc8c2cd' locally
sha-bc8c2cd: Pulling from temporaliotest/server
Digest: sha256:aefb7a40c9bb176e96fb4611c3349631afe61a48b6094be551f2e475d9dccdd6
Status: Downloaded newer image for temporaliotest/server:sha-bc8c2cd
/usr/local/bin/dockerize is ARM
/usr/local/bin/tctl is ARM
/usr/local/bin/tctl-authorization-plugin is ARM
/usr/local/bin/temporal is ARM
/usr/local/bin/temporal-server is ARM
verifying binaries in '/usr/local/bin' from 'temporaliotest/server:sha-bc8c2cd' for platform 'linux/amd64' are 'x86'
Unable to find image 'temporaliotest/server:sha-bc8c2cd' locally
sha-bc8c2cd: Pulling from temporaliotest/server
Digest: sha256:aefb7a40c9bb176e96fb4611c3349631afe61a48b6094be551f2e475d9dccdd6
Status: Downloaded newer image for temporaliotest/server:sha-bc8c2cd
/usr/local/bin/dockerize is x86
/usr/local/bin/tctl is x86
/usr/local/bin/tctl-authorization-plugin is x86
/usr/local/bin/temporal is x86
/usr/local/bin/temporal-server is x86
Fail
DST_REPO=temporalio SRC_REPO=temporaliotest PASSWORD=wrong USERNAME=wrong IMAGES=server TAG=dummy COMMIT=e3ae365 go run src/image_copy/main.go
verifying binaries in '/usr/local/bin' from 'temporaliotest/server:sha-e3ae365' for platform 'linux/arm64' are 'ARM'
/usr/local/bin/dockerize is ARM
/usr/local/bin/tctl is ARM
/usr/local/bin/tctl-authorization-plugin is ARM
/usr/local/bin/temporal is ARM
/usr/local/bin/temporal-server is not ARM
/usr/local/bin/temporal-server: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=zYjsJtF6wN_KxfTbdu3M/JvdfsrR994VzMaLyzT7r/zPP_QXPvSn-BxercUyWN/93737e5xSZZUcGmDZcrc, with debug_info, not stripped
2024/06/21 13:50:04 exit status 1
exit status 1
What was changed
Add verification step for Docker images before releasing them.
PS: I didn't add this to the build step because the risk is high that it would fail silently without anyone noticing.
Why?
To ensure we release the right binary for each platform.
Checklist
Closes
How was this tested:
Running from terminal:
Pass
Fail