lkjdsalkjdsalkjads
This commit is contained in:
103
justfile
103
justfile
@@ -248,10 +248,10 @@ rebase-commits commit=`cd "$invokedir"; just _a_commit`:
|
||||
|
||||
[no-cd]
|
||||
_bump +$packages:
|
||||
#!/usr/bin/env -S bash -euo pipefail
|
||||
test -e .git
|
||||
#!/usr/bin/env -S bash -euo pipefail -x
|
||||
[[ -e .git && flake.nix ]]
|
||||
printf "%s.src\n" "$@" | xargs just _build_packages results-src-old ||: # TODO: unpack?
|
||||
config=(
|
||||
config=(env
|
||||
NIXPKGS_ALLOW_UNFREE=1
|
||||
NIXPKGS_ALLOW_BROKEN=1
|
||||
NIXPKGS_ALLOW_INSECURE=1
|
||||
@@ -281,59 +281,72 @@ _bump +$packages:
|
||||
$GIT diff
|
||||
printf "delta results-src-{old,new}/%s/.\n" "$@"
|
||||
|
||||
#fix package=`just _a_package`:
|
||||
|
||||
# ./mk-fix.sh "{{package}}"
|
||||
@fix $package=`just _a_package`:
|
||||
@fix +packages:
|
||||
[[ $# -gt 0 ]] || set -- $(just _some_packages); \
|
||||
cd "$(just _new_worktree fix "$(echo "$package" | rev | cut -d. -f1 | rev)")"; \
|
||||
just _fix "$package" && $SHELL
|
||||
|
||||
[no-cd]
|
||||
_fix $package:
|
||||
_fix +packages:
|
||||
#!/usr/bin/env -S bash -euo pipefail
|
||||
test -e .git
|
||||
nix-build . -A "$package".src --out-link result-src
|
||||
test -d $(readlink result-src) && {
|
||||
mkdir -p result-src-writeable
|
||||
rsync -rxL result-src/ result-src-writeable/
|
||||
chmod -R +w result-src-writeable
|
||||
} ||:
|
||||
test -f $(readlink result-src) && {
|
||||
mkdir result-src-writeable
|
||||
atool $(readlink result-src) --extract-to=result-src-writeable
|
||||
if test $(ls result-src-writeable | wc -l ) -eq 1 && test -d result-src-writeable/* ; then
|
||||
mv result-src-writeable{,-old}
|
||||
mv result-src-writeable-old/* result-src-writeable
|
||||
rmdir result-src-writeable-old
|
||||
fi
|
||||
} ||:
|
||||
test -d result-src-writeable && (
|
||||
cd result-src-writeable
|
||||
$GIT init
|
||||
$GIT add .
|
||||
$GIT commit -m "Base" >/dev/null
|
||||
)
|
||||
cat <<-"EOF" > build.nix
|
||||
#!/usr/bin/env -S nom build -f
|
||||
let pkgs = import ./. {}; in pkgs.{{ package }}.overrideAttrs { src = ./result-src-writeable; }
|
||||
EOF
|
||||
[[ -e .git && flake.nix ]]
|
||||
local packages=("$@")
|
||||
just _build_packages results-src "${packages[@]/%/.src}" ||:
|
||||
# TODO: make this rutine reuseable?
|
||||
mkdir -p result-src-writeable
|
||||
for result in results-src/*; do;
|
||||
result_writeable=result-src-writeable/$(basename "$result")
|
||||
mkdir -p "$result_writeable"
|
||||
if [[ -d $(readlink "$result") ]]; then
|
||||
rsync -rxL "$result/" "$result_writeable/" &&
|
||||
chmod -R +w "$result_writeable/" ||:
|
||||
elif [[ -f $(readlink "$result") ]]; then
|
||||
atool "$(readlink result-src)" --extract-to="$result_writeable/" ||:
|
||||
if [[ $(ls "$result_writeable" | wc -l ) -eq 1 && test -d "$result_writeable"/* ]]; then
|
||||
mv "$result_writeable"{,-old}
|
||||
mv "$result_writeable"-old/* "$result_writeable"
|
||||
rmdir "$result_writeable"-old
|
||||
fi
|
||||
fi
|
||||
(
|
||||
cd "$result_writeable"
|
||||
$GIT init
|
||||
$GIT add .
|
||||
$GIT commit -m "Base" >/dev/null
|
||||
) ||:
|
||||
done
|
||||
printf >build.nix "#!/usr/bin/env -S nom build -f\n"
|
||||
printf >build.nix "let pkgs = import ./. { }; in {\n%s\n}\n" "$(
|
||||
for package in "${packages[@]}"; do
|
||||
printf " %s = pkgs.%s.overrideAttrs { src = ./result-src-writeable/%s-src; };" "$package" "$package" "$package"
|
||||
done
|
||||
)"
|
||||
chmod +x build.nix
|
||||
NIXPKGS_ALLOW_UNFREE=1 just build-packages "$package" ||:
|
||||
if command -v bat >/dev/null;
|
||||
then bat build.nix
|
||||
else cat build.nix
|
||||
fi
|
||||
NIXPKGS_ALLOW_UNFREE=1 just build-packages "${packages[@]}" ||:
|
||||
echo "# $package"
|
||||
echo ' ./build.nix'
|
||||
echo ' ./results/_rerun.sh'
|
||||
echo " ./build.nix "${packages[*]/#/-A }"
|
||||
echo " ./results/_rerun.sh"
|
||||
|
||||
pr $number=`just _a_pr`:
|
||||
#!/usr/bin/env -S bash -euo pipefail
|
||||
number=$(just _sanitize_pr_url "$number")
|
||||
if test -d prs/pr-"$number"-* ; then
|
||||
cd prs/pr-"$number"-* && $SHELL
|
||||
if [[ -d prs/pr-"$number" ]]; then
|
||||
cd prs/pr-"$number"
|
||||
elif test -d prs/pr-"$number"-*; then
|
||||
cd prs/pr-"$number"-*
|
||||
else
|
||||
cd "$(just _new_worktree prs pr-{{ number }} "upstream/master" "")"
|
||||
gh pr checkout {{ number }}
|
||||
$GIT branch -D prs-$(basename "$PWD")
|
||||
$SHELL
|
||||
(cd master;
|
||||
$GIT worktree prune
|
||||
$GIT worktree add ../prs/pr-"$number"
|
||||
)
|
||||
cd prs/pr-"$number"
|
||||
gh pr checkout "$number"
|
||||
fi
|
||||
$SHELL
|
||||
|
||||
@pr-comment-diff:
|
||||
cd "$invokedir"; just _pr_post_diff comment
|
||||
@@ -414,7 +427,7 @@ _mk_worktree $name $dir $base="upstream/master" $onto="":
|
||||
$GIT worktree add ../"$dir" "$name"
|
||||
cd ../"$dir"
|
||||
$GIT pull "$remote" "$branch"
|
||||
test -z "$onto" || just rebase-onto HEAD "$onto"
|
||||
just rebase-onto HEAD "$onto"
|
||||
|
||||
pop-commits-to-new-worktree $commits=`cd "$invokedir"; just _some_commits`:
|
||||
#!/usr/bin/env -S bash -euo pipefail
|
||||
@@ -565,7 +578,7 @@ _packages_json:
|
||||
gum spin --show-output just list-packages | cut -f1 | fzf --sync --layout=reverse --height 15 | grep .
|
||||
|
||||
@_some_packages:
|
||||
gum spin --show-output just list-packages | cut -f1 | fzf --sync --layout=reverse --multi | grep .
|
||||
gum spin --show-output just list-packages | cut -f1 | fzf --sync --layout=reverse --height 15 --multi | grep .
|
||||
|
||||
@_a_pr:
|
||||
cd master; gh pr list --limit 1000 --json 'number,title' --state open | jq '.[]|"\(.number) - \(.title)"' -r | gum filter --placeholder "Pick PR..." --height 10 | cut -d' ' -f1
|
||||
|
||||
Reference in New Issue
Block a user