diff --git a/pkgs/nixfiles/nixfiles-updated-inputs.sh b/pkgs/nixfiles/nixfiles-updated-inputs.sh index 282cef4..5399d0b 100755 --- a/pkgs/nixfiles/nixfiles-updated-inputs.sh +++ b/pkgs/nixfiles/nixfiles-updated-inputs.sh @@ -2,17 +2,34 @@ set -euo pipefail -NOW="$(date --utc --iso-8601=minutes)" +xgit() { + git -c "user.name=Flake Update Bot" -c "user.email=flake-update-bot@clerie.de" "$@" +} + +NOW="$(date --utc +%Y-%m-%d-%H-%M)" + +xgit status || xgit clone gitea@git.clerie.de:clerie/nixfiles.git . -git status || git clone gitea@git.clerie.de:clerie/nixfiles.git . echo "[!] Download changes" -git fetch --all -git checkout updated-inputs -git -c "user.name=Flake Update Bot" -c "user.email=flake-update-bot@clerie.de" merge -s ort -X theirs origin/master -m "Update from master ${NOW}" -echo "[!] Update inputs" -nix flake update +xgit fetch --all + +echo "[!] Chechout remote master" +xgit checkout origin/master + +UPDATE_BRANCH="update-inputs-${NOW}" +echo "[!] Create branch ${UPDATE_BRANCH}" +xgit checkout -b "${UPDATE_BRANCH}" + +echo "[!] Update nixpkgs" +nix flake lock --update-input nixpkgs + echo "[!] Commit changes" git add flake.lock -git -c "user.name=Flake Update Bot" -c "user.email=flake-update-bot@clerie.de" commit -m "Flake update ${NOW}" || true -echo "[!] Publish" -git push origin updated-inputs +xgit commit -m "Update nixpkgs ${NOW}" || true + +echo "[!] Merge ${UPDATE_BRANCH} into updated-inputs" +xgit checkout updated-inputs +xgit merge -s ort -X theirs "${UPDATE_BRANCH}" -m "Update from ${UPDATE_BRANCH}" + +echo "[!] Publish updated-inputs" +xgit push origin updated-inputs