Merge pull request #326716 from mogeko/rke2

rke2: fix the update script
This commit is contained in:
Peder Bergebakken Sundt
2024-07-28 21:56:11 +02:00
committed by GitHub
@@ -5,7 +5,9 @@ set -x -eu -o pipefail
CHANNEL_NAME="${1:?Must provide a release channel, like 'stable', as the only argument}"
mkdir --parents --verbose ./${CHANNEL_NAME}
WORKDIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd -P)
mkdir --parents --verbose "${WORKDIR}/${CHANNEL_NAME}"
LATEST_TAG_NAME=$(curl --silent --fail https://update.rke2.io/v1-release/channels | \
yq eval ".data[] | select(.id == \"${CHANNEL_NAME}\").latest" - | \
@@ -35,9 +37,9 @@ KUBERNETES_EOL=$(curl --silent --fail \
https://endoflife.date/api/kubernetes/${KUBERNETES_CYCLES}.json | \
yq eval ".eol" -)
FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
cat > ./${CHANNEL_NAME}/versions.nix << EOF
cat << EOF > "${WORKDIR}/${CHANNEL_NAME}/versions.nix"
{
rke2Version = "${RKE2_VERSION}";
rke2RepoSha256 = "${RKE2_REPO_SHA256}";
@@ -54,15 +56,13 @@ cat > ./${CHANNEL_NAME}/versions.nix << EOF
}
EOF
NIXPKGS_ROOT=$(git rev-parse --show-toplevel)
set +e
RKE2_VENDOR_HASH=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} \
"{ sha256 }: (import ${NIXPKGS_ROOT}/. {}).rke2_${CHANNEL_NAME}.goModules.overrideAttrs (_: { vendorHash = sha256; })")
RKE2_VENDOR_HASH=$(nix-prefetch -I nixpkgs=$(git rev-parse --show-toplevel) \
"{ sha256 }: rke2_${CHANNEL_NAME}.goModules.overrideAttrs (_: { vendorHash = sha256; })")
set -e
if [ -n "${RKE2_VENDOR_HASH:-}" ]; then
sed -i "s#${FAKE_HASH}#${RKE2_VENDOR_HASH}#g" ./${CHANNEL_NAME}/versions.nix
sed -i "s#${FAKE_HASH}#${RKE2_VENDOR_HASH}#g" ${WORKDIR}/${CHANNEL_NAME}/versions.nix
else
echo "Update failed. 'RKE2_VENDOR_HASH' is empty."
exit 1
@@ -70,17 +70,15 @@ fi
# Implement commit
# See: https://nixos.org/manual/nixpkgs/stable/#var-passthru-updateScript-commit
OLD_VERSION=$(nix-instantiate --eval -E \
"with import ${NIXPKGS_ROOT}/. {}; rke2.version or (builtins.parseDrvName rke2.name).version" | \
tr -d '"')
cat << EOF
[{
"attrPath": "rke2_${CHANNEL_NAME}",
"oldVersion": "${OLD_VERSION}",
"newVersion": "${RKE2_VERSION}",
"files": [
"${PWD}/${CHANNEL_NAME}/versions.nix"
]
}]
[
{
"attrPath": "rke2_${CHANNEL_NAME}",
"oldVersion": "${UPDATE_NIX_OLD_VERSION}",
"newVersion": "${RKE2_VERSION}",
"files": [
"${WORKDIR}/${CHANNEL_NAME}/versions.nix"
]
}
]
EOF