Newer
Older
#!nix-shell -i sh -p nixUnstable git curl
set -eux -o pipefail
TARGET_BRANCH="nixpkgs-upgrade-$(date +%Y-%m-%d)"
echo '{}' > morph/grid/local/public-keys/users.nix
# nix-build -A morph -o result-before
git checkout "${TARGET_BRANCH}" || git checkout -b "${TARGET_BRANCH}"
# Spawn *another* nix-shell that has the *other* update-nixpkgs tool. Should
# sort out this mess sooner rather than later...
nix-shell ./shell.nix --run update-nixpkgs
# nix-build -A morph -o result-after
diff=$(nix --extra-experimental-features nix-command store diff-closures ./result-before/ ./result-after/)
git commit -am "bump nixpkgs version"
git push origin "${TARGET_BRANCH}:${TARGET_BRANCH}"
BODY="{
\"id\": ${CI_PROJECT_ID},
\"source_branch\": \"${CI_COMMIT_REF_NAME}\",
\"target_branch\": \"${TARGET_BRANCH}\",
\"remove_source_branch\": true,
\"title\": \"WIP: ${CI_COMMIT_REF_NAME}\",
\"assignee_id\":\"jcalderone"
}";
curl -X POST --data "${BODY}" --header "Content-Type: application/json" --header "PRIVATE-TOKEN: ${UPDATE_NIXPKGS_PRIVATE_TOKEN}" "${HOST}/api/v4/projects/merge_requests"