@@ -11,10 +11,6 @@ trap "rm -rf ${WORKDIR}" EXIT
1111NIXPKGS_ROOT=" $( git rev-parse --show-toplevel) " /
1212NIXPKGS_K3S_PATH=$( cd $( dirname ${BASH_SOURCE[0]} ) ; pwd -P) /
1313OLD_VERSION=" $( nix-instantiate --eval -E " with import $NIXPKGS_ROOT . {}; k3s_1_${MINOR_VERSION} .version or (builtins.parseDrvName k3s_1_${MINOR_VERSION} .name).version" | tr -d ' "' ) "
14- cd ${NIXPKGS_K3S_PATH}
15-
16- cd 1_${MINOR_VERSION}
17-
1814
1915LATEST_TAG_RAWFILE=${WORKDIR} /latest_tag.json
2016curl --silent -f ${GITHUB_TOKEN: +-u " :$GITHUB_TOKEN " } \
@@ -31,18 +27,24 @@ K3S_COMMIT=$(curl --silent -f ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
3127 https://api.github.com/repos/k3s-io/k3s/git/refs/tags \
3228 | jq -r " map(select(.ref == \" refs/tags/${LATEST_TAG_NAME} \" )) | .[0] | .object.sha" )
3329
34- K3S_REPO_SHA256=$( nix-prefetch-url --quiet --unpack https://github.com/k3s-io/k3s/archive/refs/tags/${LATEST_TAG_NAME} .tar.gz)
35-
36- FILE_SCRIPTS_DOWNLOAD=${WORKDIR} /scripts-download
37- curl --silent -f https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT} /scripts/download > $FILE_SCRIPTS_DOWNLOAD
30+ PREFETCH_META=$( nix-prefetch-url --unpack --print-path https://github.com/k3s-io/k3s/archive/refs/tags/${LATEST_TAG_NAME} .tar.gz)
31+ K3S_STORE_PATH=${PREFETCH_META#* $' \n ' }
32+ K3S_REPO_SHA256=${PREFETCH_META% $' \n ' * }
3833
39- FILE_SCRIPTS_VERSION=${WORKDIR} /scripts-version.sh
40- curl --silent -f https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT} /scripts/version.sh > $FILE_SCRIPTS_VERSION
34+ cd " $K3S_STORE_PATH "
35+ # Set the DRONE variables as they are expected to be set in version.sh
36+ DRONE_TAG=" $LATEST_TAG_NAME "
37+ DRONE_COMMIT=" $K3S_COMMIT "
38+ source " ${K3S_STORE_PATH} /scripts/version.sh"
4139
42- FILE_TRAEFIK_MANIFEST=${WORKDIR} /traefik.yml
43- curl --silent -f -o " $FILE_TRAEFIK_MANIFEST " https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT} /manifests/traefik.yaml
40+ K3S_ROOT_SHA256=$( nix-prefetch-url --quiet --unpack \
41+ " https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT} /k3s-root-amd64.tar" )
42+ CNIPLUGINS_SHA256=$( nix-prefetch-url --quiet --unpack \
43+ " https://github.com/rancher/plugins/archive/refs/tags/${VERSION_CNIPLUGINS} .tar.gz" )
44+ CONTAINERD_SHA256=$( nix-prefetch-url --quiet --unpack \
45+ " https://github.com/k3s-io/containerd/archive/refs/tags/${VERSION_CONTAINERD} .tar.gz" )
4446
45- CHART_FILES=( $( yq eval --no-doc .spec.chart " $FILE_TRAEFIK_MANIFEST " | xargs -n1 basename) )
47+ CHART_FILES=( $( yq eval --no-doc .spec.chart " ${K3S_STORE_PATH} /manifests/traefik.yaml " | xargs -n1 basename) )
4648# These files are:
4749# 1. traefik-crd-20.3.1+up20.3.0.tgz
4850# 2. traefik-20.3.1+up20.3.0.tgz
@@ -53,6 +55,8 @@ if [[ "${#CHART_FILES[@]}" != "2" ]]; then
5355 exit 1
5456fi
5557
58+ cd " ${NIXPKGS_K3S_PATH} /1_${MINOR_VERSION} "
59+
5660CHARTS_URL=https://k3s.io/k3s-charts/assets
5761# Get metadata for both files
5862rm -f chart-versions.nix.update
@@ -95,39 +99,6 @@ while read -r name url; do
9599 ' {$name: {"url": $url, "sha256": $sha256}}'
96100done <<< " ${IMAGES_ARCHIVES}" | jq --slurp ' reduce .[] as $item ({}; . * $item)' > images-versions.json
97101
98- FILE_GO_MOD=${WORKDIR} /go.mod
99- curl --silent https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT} /go.mod > $FILE_GO_MOD
100-
101-
102- K3S_ROOT_VERSION=$( grep ' VERSION_ROOT=' ${FILE_SCRIPTS_VERSION} \
103- | cut -d' =' -f2 | sed -e ' s/"//g' -e ' s/^v//' )
104- K3S_ROOT_SHA256=$( nix-prefetch-url --quiet --unpack \
105- " https://github.com/k3s-io/k3s-root/releases/download/v${K3S_ROOT_VERSION} /k3s-root-amd64.tar" )
106-
107- CNIPLUGINS_VERSION=$( grep ' VERSION_CNIPLUGINS=' ${FILE_SCRIPTS_VERSION} \
108- | cut -d' =' -f2 | sed -e ' s/"//g' -e ' s/^v//' )
109- CNIPLUGINS_SHA256=$( nix-prefetch-url --quiet --unpack \
110- " https://github.com/rancher/plugins/archive/refs/tags/v${CNIPLUGINS_VERSION} .tar.gz" )
111-
112- # mimics https://github.com/k3s-io/k3s/blob/v1.26.5%2Bk3s1/scripts/version.sh#L25
113- CONTAINERD_VERSION=$( grep github.com/containerd/containerd ${FILE_GO_MOD} \
114- | head -n1 | awk ' {print $4}' | sed -e ' s/^v//' )
115- CONTAINERD_SHA256=$( nix-prefetch-url --quiet --unpack \
116- " https://github.com/k3s-io/containerd/archive/refs/tags/v${CONTAINERD_VERSION} .tar.gz" )
117-
118- # The repository of "cri-tools" changes for 1.31.x, this can likely be removed in future releases
119- if [ " $MINOR_VERSION " -gt 30 ]; then
120- CRI_CTL_REPO=sigs.k8s.io
121- else
122- CRI_CTL_REPO=github.com/kubernetes-sigs
123- fi
124- CRI_CTL_VERSION=$( grep " $CRI_CTL_REPO /cri-tools" ${FILE_GO_MOD} \
125- | head -n1 | awk ' {print $4}' | sed -e ' s/"//g' -e ' s/^v//' )
126-
127- setKV () {
128- sed -i " s|$1 = \" .*\" |$1 = \" ${2:- } \" |" ${NIXPKGS_K3S_PATH} default.nix
129- }
130-
131102FAKE_HASH=" sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" ;
132103
133104cat > versions.nix << EOF
@@ -138,13 +109,13 @@ cat >versions.nix <<EOF
138109 k3sVendorHash = "${FAKE_HASH} ";
139110 chartVersions = import ./chart-versions.nix;
140111 imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
141- k3sRootVersion = "${K3S_ROOT_VERSION } ";
112+ k3sRootVersion = "${VERSION_ROOT : 1 } ";
142113 k3sRootSha256 = "${K3S_ROOT_SHA256} ";
143- k3sCNIVersion = "${CNIPLUGINS_VERSION } ";
114+ k3sCNIVersion = "${VERSION_CNIPLUGINS : 1 } ";
144115 k3sCNISha256 = "${CNIPLUGINS_SHA256} ";
145- containerdVersion = "${CONTAINERD_VERSION } ";
116+ containerdVersion = "${VERSION_CONTAINERD : 1 } ";
146117 containerdSha256 = "${CONTAINERD_SHA256} ";
147- criCtlVersion = "${CRI_CTL_VERSION } ";
118+ criCtlVersion = "${VERSION_CRICTL : 1 } ";
148119}
149120EOF
150121
0 commit comments