mirror of
https://github.com/9001/copyparty.git
synced 2026-01-12 15:52:39 -07:00
release-automation
This commit is contained in:
parent
5d96862c45
commit
f73742b6a4
|
|
@ -48,7 +48,7 @@ done
|
||||||
|
|
||||||
filt=
|
filt=
|
||||||
[ $clean ] && filt='/<none>/{print$$3}'
|
[ $clean ] && filt='/<none>/{print$$3}'
|
||||||
[ $hclean ] && filt='/localhost\/copyparty-|^<none>.*localhost\/alpine-/{print$3}'
|
[ $hclean ] && filt='/localhost\/(copyparty|alpine)-/{print$3}'
|
||||||
[ $purge ] && filt='NR>1{print$3}'
|
[ $purge ] && filt='NR>1{print$3}'
|
||||||
[ $filt ] && {
|
[ $filt ] && {
|
||||||
[ $purge ] && {
|
[ $purge ] && {
|
||||||
|
|
|
||||||
44
scripts/genhelp.sh
Executable file
44
scripts/genhelp.sh
Executable file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
[ -e make-sfx.sh ] || cd scripts
|
||||||
|
[ -e make-sfx.sh ] && [ -e deps-docker ] || {
|
||||||
|
echo cd into the scripts folder first
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
cd ../dist
|
||||||
|
|
||||||
|
kwds='-bind -accounts -auth -auth-ord -flags -handlers -hooks -idp -urlform -exp -ls -dbd -chmod -pwhash -zm'
|
||||||
|
|
||||||
|
html() {
|
||||||
|
for a in '' $kwds; do
|
||||||
|
echo "html$a" >&2
|
||||||
|
COLUMNS=140 ./copyparty-sfx.py --ansi --help$a 2>/dev/null
|
||||||
|
printf '\n\n\n%0139d\n\n'
|
||||||
|
done | aha -b --no-xml | sed -r '
|
||||||
|
s/color:black/color:#222/g;
|
||||||
|
s/color:dimgray\b/color:#606060/g;
|
||||||
|
s/color:red\b/color:#c75b79/g;
|
||||||
|
s/color:lime\b/color:#b8e346/g;
|
||||||
|
s/color:yellow\b/color:#ffa402/g;
|
||||||
|
s/color:#3333[Ff]{2}\b/color:#02a2ff/g;
|
||||||
|
s/color:fuchsia\b/color:#f65be3/g;
|
||||||
|
s/color:aqua\b/color:#3da698/g;
|
||||||
|
s/color:white\b/color:#fff/g;
|
||||||
|
s/style="filter:[^;]+/style="/g;
|
||||||
|
' |
|
||||||
|
HLPTXT=CAT python3 ../scripts/help2html.py
|
||||||
|
}
|
||||||
|
|
||||||
|
txt() {
|
||||||
|
(for a in '' $kwds; do
|
||||||
|
echo "txt$a" >&2
|
||||||
|
COLUMNS=9001 ./copyparty-sfx.py --help$a 2>/dev/null
|
||||||
|
printf '\n\n\n%0255d\n\n\n'
|
||||||
|
done;printf '\n\n\n') |
|
||||||
|
HLPTXT=CAT ../scripts/help2txt.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
html
|
||||||
|
txt
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
import socket
|
import socket
|
||||||
import subprocess as sp
|
import subprocess as sp
|
||||||
|
|
@ -21,6 +22,9 @@ def readclip():
|
||||||
"xclip -selection CLIPBOARD -o",
|
"xclip -selection CLIPBOARD -o",
|
||||||
"pbpaste",
|
"pbpaste",
|
||||||
]
|
]
|
||||||
|
if os.getenv("HLPTXT") == "CAT":
|
||||||
|
cmds = ["cat"]
|
||||||
|
|
||||||
for cmd in cmds:
|
for cmd in cmds:
|
||||||
try:
|
try:
|
||||||
return sp.check_output(cmd.split()).decode("utf-8")
|
return sp.check_output(cmd.split()).decode("utf-8")
|
||||||
|
|
@ -44,7 +48,7 @@ def cnv(src):
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
ln = next(src)
|
ln = next(src)
|
||||||
if "<font" in ln:
|
if "<font" in ln or "<span" in ln:
|
||||||
if not ln.startswith("<pre>"):
|
if not ln.startswith("<pre>"):
|
||||||
ln = "<pre>" + ln
|
ln = "<pre>" + ln
|
||||||
yield ln
|
yield ln
|
||||||
|
|
@ -53,12 +57,14 @@ def cnv(src):
|
||||||
for ln in src:
|
for ln in src:
|
||||||
ln = ln.rstrip()
|
ln = ln.rstrip()
|
||||||
t = ln
|
t = ln
|
||||||
if re.search(r"^<font[^>]+>copyparty v[0-9]", ln):
|
if re.search(r"^<(font|span)[^>]+>copyparty v[0-9]", ln):
|
||||||
in_sfx = 3
|
in_sfx = 3
|
||||||
if in_sfx:
|
if in_sfx:
|
||||||
in_sfx -= 1
|
in_sfx -= 1
|
||||||
if not skip_sfx:
|
if not skip_sfx:
|
||||||
yield ln
|
yield ln
|
||||||
|
elif not in_sfx:
|
||||||
|
yield "<span>"
|
||||||
continue
|
continue
|
||||||
if '">uuid:' in ln:
|
if '">uuid:' in ln:
|
||||||
ln = re.sub(r">uuid:[0-9a-f-]{36}<", ">autogenerated<", ln)
|
ln = re.sub(r">uuid:[0-9a-f-]{36}<", ">autogenerated<", ln)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
( xsel -ob | sed -r '
|
( ( HLPTXT=CAT && cat || xsel -ob ) | sed -r '
|
||||||
s`/home/ed/`~/`;
|
s`/home/ed/`~/`;
|
||||||
s/uuid:[0-9a-f-]{36}/autogenerated/;
|
s/uuid:[0-9a-f-]{36}/autogenerated/;
|
||||||
s/(-salt SALT.*default: )[0-9a-zA-Z/+]{24}\)/\124-character-autogenerated)/;
|
s/(-salt SALT.*default: )[0-9a-zA-Z/+]{24}\)/\124-character-autogenerated)/;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# if specified, keep the following sfx flags last: gz gzz fast
|
# usage: ./scripts/rls.sh 1.9.11 gzz 50 # create full release
|
||||||
|
# usage: ./scripts/rls.sh sfx gzz 10 # just create sfx.py + en.py + helptext
|
||||||
parallel=1
|
#
|
||||||
|
# if specified, keep the following sfx-args last: gz gzz xz nopk udep fast
|
||||||
|
#
|
||||||
|
# WARNING: when creating full release, will DELETE all of ../dist/,
|
||||||
|
# and all docker-images matching 'localhost/(copyparty|alpine)-'
|
||||||
|
|
||||||
[ -e make-sfx.sh ] || cd scripts
|
[ -e make-sfx.sh ] || cd scripts
|
||||||
[ -e make-sfx.sh ] && [ -e deps-docker ] || {
|
[ -e make-sfx.sh ] && [ -e deps-docker ] || {
|
||||||
|
|
@ -11,26 +15,24 @@ parallel=1
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
v=$1
|
v=$1; shift
|
||||||
|
[ "$v" = sfx ] &&
|
||||||
|
rls= || rls=1
|
||||||
|
|
||||||
[ "$v" = sfx ] || {
|
[ $rls ] && {
|
||||||
printf '%s\n' "$v" | grep -qE '^[0-9\.]+$' || exit 1
|
printf '%s\n' "$v" | grep -qE '^[0-9\.]+$' || exit 1
|
||||||
grep -E "(${v//./, })" ../copyparty/__version__.py || exit 1
|
grep -E "(${v//./, })" ../copyparty/__version__.py || exit 1
|
||||||
|
|
||||||
git push all
|
./make-sfx.sh nopk gz
|
||||||
|
../dist/copyparty-sfx.py --version >/dev/null
|
||||||
|
|
||||||
git tag v$v
|
git tag v$v
|
||||||
git push all --tags
|
|
||||||
|
|
||||||
rm -rf ../dist
|
rm -rf ../dist
|
||||||
|
|
||||||
./make-pypi-release.sh u
|
./make-pypi-release.sh u
|
||||||
(cd .. && python3 ./setup.py clean2)
|
|
||||||
|
|
||||||
./make-tgz-release.sh $v
|
./make-tgz-release.sh $v
|
||||||
}
|
}
|
||||||
|
|
||||||
rm -f ../dist/copyparty-sfx*
|
rm -rf /tmp/pe-copyparty* ../sfx ../dist/copyparty-sfx*
|
||||||
shift
|
|
||||||
./make-sfx.sh "$@"
|
./make-sfx.sh "$@"
|
||||||
../dist/copyparty-sfx.py --version >/dev/null
|
../dist/copyparty-sfx.py --version >/dev/null
|
||||||
mv ../dist/copyparty-{sfx,int}.py
|
mv ../dist/copyparty-{sfx,int}.py
|
||||||
|
|
@ -38,6 +40,9 @@ mv ../dist/copyparty-{sfx,int}.py
|
||||||
while [ "$1" ]; do
|
while [ "$1" ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
gz*) break;;
|
gz*) break;;
|
||||||
|
xz) break;;
|
||||||
|
nopk) break;;
|
||||||
|
udep) break;;
|
||||||
fast) break;;
|
fast) break;;
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
|
|
@ -49,4 +54,26 @@ done
|
||||||
mv ../dist/copyparty-{sfx,en}.py
|
mv ../dist/copyparty-{sfx,en}.py
|
||||||
mv ../dist/copyparty-{int,sfx}.py
|
mv ../dist/copyparty-{int,sfx}.py
|
||||||
|
|
||||||
|
./genhelp.sh
|
||||||
|
|
||||||
|
[ $rls ] || exit # ----------------------------------------------------
|
||||||
|
|
||||||
|
./prep.sh
|
||||||
|
git add ../contrib/package/arch/PKGBUILD ../contrib/package/makedeb-mpr/PKGBUILD ../contrib/package/nix/copyparty/pin.json
|
||||||
|
git commit -m "update pkgs to $v"
|
||||||
|
git log | head
|
||||||
|
|
||||||
|
( cd docker
|
||||||
|
#./make.sh purge
|
||||||
|
./make.sh hclean
|
||||||
|
./make.sh hclean
|
||||||
|
./make.sh hclean pull img push
|
||||||
|
)
|
||||||
|
|
||||||
|
git push
|
||||||
|
git push --all
|
||||||
|
git push --tags
|
||||||
|
git push all
|
||||||
|
git push all --all
|
||||||
|
git push all --tags
|
||||||
# git tag -d v$v; git push --delete origin v$v
|
# git tag -d v$v; git push --delete origin v$v
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue