feat: add some scripts
This commit is contained in:
parent
96fa629984
commit
097a50d0f3
110
bin/asf-check
Executable file
110
bin/asf-check
Executable file
|
@ -0,0 +1,110 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
check() {
|
||||
URL=$1
|
||||
RELEASE=$(basename $URL)
|
||||
WORKDIR=/tmp/apache-devlake-asf-check/$RELEASE
|
||||
mkdir -p $WORKDIR
|
||||
|
||||
# Get files information
|
||||
METAFILE=$WORKDIR/meta
|
||||
if [ ! -f "$METAFILE" ]; then
|
||||
curl $URL | grep -oP 'href="\K(apache.+?)(?=")' > "$METAFILE"
|
||||
cat "$METAFILE"
|
||||
fi
|
||||
|
||||
ARCHIVE=$(awk 'FNR == 1 {print}' $METAFILE)
|
||||
GPG_SIGN=$ARCHIVE.asc
|
||||
SHA_SUM=$ARCHIVE.sha512
|
||||
|
||||
echo ARCHIVE: "$ARCHIVE"
|
||||
echo GPG_SIGN: "$GPG_SIGN"
|
||||
echo SHA_SUM: "$SHA_SUM"
|
||||
|
||||
# Download files
|
||||
for FILE in "$ARCHIVE" "$GPG_SIGN" "$SHA_SUM"; do
|
||||
LOCAL_PATH=$WORKDIR/$FILE
|
||||
if [ ! -f "$LOCAL_PATH" ]; then
|
||||
FILE_URL=${URL%%/}/$FILE
|
||||
echo "Downloading from $FILE_URL"
|
||||
curl -o "$LOCAL_PATH" $FILE_URL
|
||||
else
|
||||
echo "$LOCAL_PATH exists"
|
||||
fi
|
||||
done
|
||||
|
||||
# Uncompress archive
|
||||
ARCHIVE_PATH=$WORKDIR/$ARCHIVE
|
||||
SRC=$WORKDIR/${ARCHIVE%%.tar.gz}
|
||||
rm -rf $SRC
|
||||
tar xvf "$ARCHIVE_PATH" -C "$WORKDIR"
|
||||
echo SRC: "$SRC"
|
||||
|
||||
# Checksums and signatures
|
||||
echo "** VERIFY CHECKSUM **"
|
||||
(cd $WORKDIR && sha512sum -c "$SHA_SUM" 1>&2)
|
||||
echo
|
||||
echo "** VERIFY SINGUATURES **"
|
||||
GPG_SIGN_PATH=$WORKDIR/$GPG_SIGN
|
||||
gpg --verify $GPG_SIGN_PATH $ARCHIVE_PATH 1>&2
|
||||
echo
|
||||
|
||||
# LICENSE/NOTICE/DISCLAIMER files exist
|
||||
echo "** CHECK LICENSE NOTICE DISCLAIMER **"
|
||||
DISCLAIMER=DISCLAIMER
|
||||
test -s $SRC/LICENSE 1>&2 && echo LICENSE exists
|
||||
test -s $SRC/NOTICE 1>&2 && echo NOTICE exists
|
||||
if test -s $SRC/DISCLAIMER-WIP 1>&2 && echo DISCLAIMER-WIP exists; then
|
||||
DISCLAIMER=DISCLAIMER-WIP
|
||||
! test -s $SRC/DISCLAIMER
|
||||
else
|
||||
test -s $SRC/DISCLAIMER 1>&2 && echo DISCLAIMER exists
|
||||
fi
|
||||
echo
|
||||
|
||||
|
||||
# check unexpected binary files
|
||||
echo "** CHECK UNEXPRECTED BINARY FILES **"
|
||||
UNEXPRECTED_BIN_FILES="$(find $SRC -type f ! -size 0 ! -name '*.png' ! -name '*.ico' -exec grep -IL . '{}' \;)"
|
||||
if [ -n "$UNEXPRECTED_BIN_FILES" ]; then
|
||||
printf "Found unexpected binary files: \n%s\n" "$UNEXPRECTED_BIN_FILES"
|
||||
else
|
||||
echo "no unexpected files"
|
||||
fi
|
||||
echo
|
||||
|
||||
# check headers
|
||||
echo "** CHECK ASF HEADER **"
|
||||
HEADER="$(cat $SRC/.golangci-goheader.template)"
|
||||
test -n "$HEADER"
|
||||
for FN in $(find -name '*.go'); do
|
||||
if ! grep -qF "$HEADER" $FN; then
|
||||
echo $FN has no ASF header
|
||||
exit -1
|
||||
fi
|
||||
done
|
||||
for FN in $(find -name '*.js' -not -path './config-ui/node_modules/*'); do
|
||||
if ! cut -c4- $FN | grep -qF "$HEADER"; then
|
||||
echo $FN has no ASF header
|
||||
exit -1
|
||||
fi
|
||||
done
|
||||
echo "All *.go *.js contains ASF headers"
|
||||
|
||||
|
||||
echo "
|
||||
+1
|
||||
|
||||
I checked these items:
|
||||
- Download links are valid.
|
||||
- Checksums and signatures.
|
||||
- LICENSE/NOTICE/$DISCLAIMER files exist
|
||||
- No unexpected binary files
|
||||
- All source files have ASF headers (**.go and **.js)
|
||||
" | xsel -b
|
||||
echo "All checks passed, the +1 mail body is copied to clipboard"
|
||||
}
|
||||
|
||||
check $1
|
11
bin/autosink
Executable file
11
bin/autosink
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
PREFERRED="bluez hdmi analog"
|
||||
|
||||
for KEYWORD in bluez hdmi analog; do
|
||||
SINK=$(pactl list short sinks | awk '$2~"'$KEYWORD'"{print $2}')
|
||||
if [ -n "$SINK" ]; then
|
||||
pactl set-default-sink "$SINK"
|
||||
break
|
||||
fi
|
||||
done
|
25
bin/gpr
Executable file
25
bin/gpr
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
|
||||
# github pr helper
|
||||
# push current branch to ORIGIN and create a PR on UPSTREAM
|
||||
# UPSTREAM must be a https github url
|
||||
|
||||
BRANCH=$(git branch --show-current)
|
||||
ORIGIN_URL=$(git remote get-url origin)
|
||||
case "$ORIGIN_URL" in
|
||||
git@github.com:*)
|
||||
ORIGIN_ORG=$(printf "$ORIGIN_URL" | sed -E 's#^.+:([^/]+).+$#\1#')
|
||||
# ORIGIN=$(printf "$ORIGIN_URL" | grep -oP 'git@github.com:\K.+(?=\.git$)')
|
||||
;;
|
||||
esac
|
||||
UPSTREAM_URL=$(git remote get-url upstream)
|
||||
UPSTREAM_URL=$(echo "$UPSTREAM_URL" | sed 's/.git$//')
|
||||
echo ORIGIN_ORG: $ORIGIN_ORG
|
||||
echo UPSTREAM_URL: $UPSTREAM_URL
|
||||
git push -f -u origin $BRANCH
|
||||
x-open "$UPSTREAM_URL/compare/main...merico-dev:$BRANCH?expand=1"
|
||||
sleep 2
|
||||
command -v awesome-client && awesome-client '
|
||||
local awful = require("awful")
|
||||
awful.client.urgent.jumpto()
|
||||
'
|
47
bin/wl
Executable file
47
bin/wl
Executable file
|
@ -0,0 +1,47 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# assuming we are composing worklog at the end of the day for tomorrow's standup
|
||||
# and OFFSET for opening previous worklog: `wl -1` to open working composed on yesterday
|
||||
|
||||
format_date() {
|
||||
date -d "$1" +%Y-%m-%d
|
||||
}
|
||||
|
||||
THIS_DATE=$1
|
||||
if [ "$THIS_DATE" -eq "$THIS_DATE" ] 2>/dev/null; then # pure number, enter workday offsetting mode
|
||||
COUNT=$THIS_DATE
|
||||
STEP=+1
|
||||
[ "$COUNT" -gt 0 ] && STEP=-1
|
||||
THIS_DATE=$(format_date)
|
||||
while [ "$COUNT" -ne 0 ]; do
|
||||
THIS_DATE=$(format_date "$THIS_DATE - 1 day")
|
||||
while holiday "$THIS_DATE"; do
|
||||
THIS_DATE=$(format_date "$THIS_DATE - 1 day")
|
||||
done
|
||||
COUNT=$(echo "$COUNT $STEP" | bc)
|
||||
done
|
||||
fi
|
||||
while holiday "$THIS_DATE"; do
|
||||
THIS_DATE=$(format_date "$THIS_DATE - 1 day")
|
||||
done
|
||||
|
||||
|
||||
NEXT_DATE=$(format_date "$THIS_DATE + 1 day")
|
||||
while holiday "$NEXT_DATE"; do
|
||||
NEXT_DATE=$(format_date "$NEXT_DATE + 1 day")
|
||||
done
|
||||
|
||||
# create or open worklog file
|
||||
LOGPATH=$(date -d "$NEXT_DATE" +%Y-%m-%d).md
|
||||
THIS_DATE=$(date -d "$THIS_DATE" +%m/%d)
|
||||
NEXT_DATE=$(date -d "$NEXT_DATE" +%m/%d)
|
||||
cd ~/Documents/worklog/
|
||||
if [ ! -f $LOGPATH ]; then
|
||||
echo $THIS_DATE > $LOGPATH
|
||||
echo >> $LOGPATH
|
||||
echo $NEXT_DATE >> $LOGPATH
|
||||
fi
|
||||
x-open $LOGPATH
|
||||
#Typora $LOGPATH
|
Loading…
Reference in New Issue
Block a user