pkgs/nixfiles: rename nixfiles-updated-inputs to clerie-update-nixfiles
This commit is contained in:
12
pkgs/clerie-update-nixfiles/clerie-update-nixfiles.nix
Normal file
12
pkgs/clerie-update-nixfiles/clerie-update-nixfiles.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
pkgs.writeShellApplication {
|
||||
name = "clerie-update-nixfiles";
|
||||
text = builtins.readFile ./clerie-update-nixfiles.sh;
|
||||
runtimeInputs = with pkgs; [
|
||||
git
|
||||
nix
|
||||
openssh
|
||||
];
|
||||
}
|
||||
|
49
pkgs/clerie-update-nixfiles/clerie-update-nixfiles.sh
Executable file
49
pkgs/clerie-update-nixfiles/clerie-update-nixfiles.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
xgit() {
|
||||
git -c "user.name=Flake Update Bot" -c "user.email=flake-update-bot@clerie.de" -c "core.pager=cat" "$@"
|
||||
}
|
||||
|
||||
NOW="$(date --utc +%Y-%m-%d-%H-%M)"
|
||||
|
||||
xgit status || xgit clone gitea@git.clerie.de:clerie/nixfiles.git .
|
||||
|
||||
echo "[!] Download changes"
|
||||
xgit fetch --all
|
||||
|
||||
echo "[!] Chechout remote master"
|
||||
xgit checkout origin/master
|
||||
|
||||
UPDATE_BRANCH="updated-inputs-${NOW}"
|
||||
echo "[!] Create branch ${UPDATE_BRANCH}"
|
||||
xgit checkout -b "${UPDATE_BRANCH}"
|
||||
|
||||
echo "[!] Update nixpkgs"
|
||||
nix flake lock --update-input nixpkgs
|
||||
|
||||
echo "[!] Commit changes"
|
||||
xgit add flake.lock
|
||||
|
||||
xgit commit -m "Update nixpkgs ${NOW}" || true
|
||||
|
||||
xgit diff --name-status origin/updated-inputs "${UPDATE_BRANCH}"
|
||||
|
||||
echo "[!] biep"
|
||||
if xgit diff --quiet origin/updated-inputs "${UPDATE_BRANCH}"
|
||||
then
|
||||
echo "[!] Nothing changed, removing branch"
|
||||
xgit branch -D "${UPDATE_BRANCH}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "[!] Publish ${UPDATE_BRANCH}"
|
||||
xgit push --set-upstream origin "${UPDATE_BRANCH}"
|
||||
|
||||
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
|
Reference in New Issue
Block a user