Merge pull request #326716 from mogeko/rke2
rke2: fix the update script
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user