|
@@ -1,8 +1,12 @@
|
|
#!/usr/bin/env bash
|
|
#!/usr/bin/env bash
|
|
-# This script returns the current BuildKit ref being used in moby.
|
|
|
|
|
|
+# This script returns the current BuildKit ref and source repository being used.
|
|
|
|
+# This script will only work with a BuildKit repository hosted on GitHub.
|
|
|
|
+# If BUILDKIT_REF is already set in the environment, it will be returned as-is.
|
|
|
|
+#
|
|
|
|
+# The output of this script may be valid shell script, but is intended for use with
|
|
|
|
+# GitHub Actions' $GITHUB_ENV.
|
|
|
|
|
|
-: "${BUILDKIT_REPO=moby/buildkit}"
|
|
|
|
-: "${BUILDKIT_REF=}"
|
|
|
|
|
|
+buildkit_pkg=github.com/moby/buildkit
|
|
|
|
|
|
if [ -n "$BUILDKIT_REF" ]; then
|
|
if [ -n "$BUILDKIT_REF" ]; then
|
|
echo "$BUILDKIT_REF"
|
|
echo "$BUILDKIT_REF"
|
|
@@ -10,16 +14,18 @@ if [ -n "$BUILDKIT_REF" ]; then
|
|
fi
|
|
fi
|
|
|
|
|
|
# get buildkit version from vendor.mod
|
|
# get buildkit version from vendor.mod
|
|
-BUILDKIT_REF=$(./hack/with-go-mod.sh go list -mod=mod -modfile=vendor.mod -u -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' "github.com/${BUILDKIT_REPO}")
|
|
|
|
-BUILDKIT_REPO=$(./hack/with-go-mod.sh go list -mod=mod -modfile=vendor.mod -u -m -f '{{if .Replace}}{{.Replace.Path}}{{else}}{{.Path}}{{end}}' "github.com/${BUILDKIT_REPO}")
|
|
|
|
-BUILDKIT_REPO=${BUILDKIT_REPO#github.com/}
|
|
|
|
|
|
+buildkit_ref=$(./hack/with-go-mod.sh go list -mod=mod -modfile=vendor.mod -u -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' "$buildkit_pkg")
|
|
|
|
+buildkit_repo=$(./hack/with-go-mod.sh go list -mod=mod -modfile=vendor.mod -u -m -f '{{if .Replace}}{{.Replace.Path}}{{else}}{{.Path}}{{end}}' "$buildkit_pkg")
|
|
|
|
+buildkit_repo=${buildkit_repo#github.com/}
|
|
|
|
|
|
-if [[ "${BUILDKIT_REF}" == *-*-* ]]; then
|
|
|
|
|
|
+if [[ "${buildkit_ref}" == *-*-* ]]; then
|
|
# if pseudo-version, figure out just the uncommon sha (https://github.com/golang/go/issues/34745)
|
|
# if pseudo-version, figure out just the uncommon sha (https://github.com/golang/go/issues/34745)
|
|
- BUILDKIT_REF=$(echo "${BUILDKIT_REF}" | awk -F"-" '{print $NF}' | awk 'BEGIN{FIELDWIDTHS="7"} {print $1}')
|
|
|
|
|
|
+ buildkit_ref=$(awk -F"-" '{print $NF}' <<< "$buildkit_ref" | awk 'BEGIN{FIELDWIDTHS="7"} {print $1}')
|
|
# use github api to return full sha to be able to use it as ref
|
|
# use github api to return full sha to be able to use it as ref
|
|
- BUILDKIT_REF=$(curl -s "https://api.github.com/repos/${BUILDKIT_REPO}/commits/${BUILDKIT_REF}" | jq -r .sha)
|
|
|
|
|
|
+ buildkit_ref=$(curl -s "https://api.github.com/repos/${buildkit_repo}/commits/${buildkit_ref}" | jq -r .sha)
|
|
fi
|
|
fi
|
|
|
|
|
|
-echo "BUILDKIT_REPO=$BUILDKIT_REPO"
|
|
|
|
-echo "BUILDKIT_REF=$BUILDKIT_REF"
|
|
|
|
|
|
+cat << EOF
|
|
|
|
+BUILDKIT_REPO=$buildkit_repo
|
|
|
|
+BUILDKIT_REF=$buildkit_ref
|
|
|
|
+EOF
|