mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 03:55:04 -05:00
chore: restore package watcher
- auto review PR to merge if the build goes well
This commit is contained in:
93
script/actions_utils/timestamp_check_compiler_package_update_container.sh
Executable file
93
script/actions_utils/timestamp_check_compiler_package_update_container.sh
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
set -e
|
||||
|
||||
FILE=
|
||||
COMPILER_RELEASE_ENDPOINT_URL=
|
||||
ENV_IMG_ENDPOINT_URL=
|
||||
TOKEN=
|
||||
ENV_DOCKERFILE=./docker/Dockerfile.concretefhe-env
|
||||
GITHUB_ENV_FILE=debug.txt
|
||||
|
||||
while [ -n "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
"--file" )
|
||||
shift
|
||||
FILE="$1"
|
||||
;;
|
||||
|
||||
"--compiler-release-endpoint-url" )
|
||||
shift
|
||||
COMPILER_RELEASE_ENDPOINT_URL="$1"
|
||||
;;
|
||||
|
||||
"--env_img_url" )
|
||||
shift
|
||||
ENV_IMG_ENDPOINT_URL="$1"
|
||||
;;
|
||||
|
||||
"--token" )
|
||||
shift
|
||||
TOKEN="$1"
|
||||
;;
|
||||
|
||||
"--github-env")
|
||||
shift
|
||||
GITHUB_ENV_FILE="$1"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown param : $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
ENV_JSON=$(curl \
|
||||
-X GET \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
-H "Authorization: token ${TOKEN}" \
|
||||
"${ENV_IMG_ENDPOINT_URL}")
|
||||
|
||||
LATEST_ENV_IMG_JSON=$(echo "${ENV_JSON}" | \
|
||||
jq -rc '.[] | select(.metadata.container.tags[] | contains("latest"))')
|
||||
|
||||
RELEASE_JSON=$(curl -H "Authorization: token ${TOKEN}" \
|
||||
-H "Accept: application/vnd.github.v3.raw" \
|
||||
"${COMPILER_RELEASE_ENDPOINT_URL}" | jq '.[0]')
|
||||
|
||||
echo "Release json:"
|
||||
echo "${RELEASE_JSON}"
|
||||
|
||||
ASSET_JSON=$(echo "${RELEASE_JSON}" | jq ".assets | map(select(.name | contains(\"${FILE}\")))[0]")
|
||||
|
||||
echo "Asset json:"
|
||||
echo "${ASSET_JSON}"
|
||||
|
||||
LATEST_ENV_IMG_TIMESTAMP=$(echo "${LATEST_ENV_IMG_JSON}" | jq -r '.updated_at')
|
||||
LATEST_COMPILER_PACKAGE_TIMESTAMP=$(echo "${ASSET_JSON}" | jq -r '.updated_at')
|
||||
|
||||
echo "Latest env image timestamp: ${LATEST_ENV_IMG_TIMESTAMP}"
|
||||
echo "Latest compiler package timestamp: ${LATEST_COMPILER_PACKAGE_TIMESTAMP}"
|
||||
|
||||
LATEST_ENV_IMG_EPOCH=$(date -d "${LATEST_ENV_IMG_TIMESTAMP}" +%s)
|
||||
LATEST_COMPILER_PACKAGE_EPOCH=$(date -d "${LATEST_COMPILER_PACKAGE_TIMESTAMP}" +%s)
|
||||
|
||||
echo "Latest env image epoch: ${LATEST_ENV_IMG_EPOCH}"
|
||||
echo "Latest compiler package epoch: ${LATEST_COMPILER_PACKAGE_EPOCH}"
|
||||
|
||||
if [[ "${LATEST_COMPILER_PACKAGE_EPOCH}" -gt "${LATEST_ENV_IMG_EPOCH}" ]]; then
|
||||
echo "Env image out of date, sending rebuild request."
|
||||
TMP_DOCKER_FILE="$(mktemp)"
|
||||
sed "s/\(# compiler timestamp: \)\(.*\)/\1${LATEST_COMPILER_PACKAGE_TIMESTAMP}/g" \
|
||||
"${ENV_DOCKERFILE}" > "${TMP_DOCKER_FILE}"
|
||||
cp -f "${TMP_DOCKER_FILE}" "${ENV_DOCKERFILE}"
|
||||
rm -f "${TMP_DOCKER_FILE}"
|
||||
echo "LATEST_COMPILER_PACKAGE_TIMESTAMP=${LATEST_COMPILER_PACKAGE_TIMESTAMP}" \
|
||||
>> "${GITHUB_ENV_FILE}"
|
||||
echo "New package timestamp: ${LATEST_COMPILER_PACKAGE_TIMESTAMP}"
|
||||
else
|
||||
echo "Image up to date, nothing to do."
|
||||
fi
|
||||
Reference in New Issue
Block a user