fscarmen【Sing-box 全家桶】
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
test/.github/workflows/nezha.yml

51 lines
2.1 KiB

on:
workflow_dispatch:
push:
branches:
- main
schedule:
- cron: 0 16 * * *
jobs:
fetch-from-images:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4.0.0
- name: Check and fetch app
run: |
[ -e app/README.md ] && NOW=$(cat app/README.md)
LATEST=$(sudo wget -qO- https://raw.githubusercontent.com/naiba/nezha/master/README.md | grep -oP '(?<=master&label=Dash%20)[^&]*')
if [ "$NOW" != "$LATEST" ]; then
ARCH=("x86_64" "aarch64")
PLATFORM=("amd64" "arm64")
[ ! -d app ] && mkdir -p app
for ((i=0; i<${#ARCH[*]}; i++)); do
unset DIR
mkdir -p ${PLATFORM[i]}_dir
[ -e app/app-${ARCH[i]} ] && sudo rm -f app/app-${ARCH[i]}
TAG[i]=$(wget -qO- https://github.com/naiba/nezha/pkgs/container/nezha-dashboard | grep -A 5 "linux/${PLATFORM[i]}" | grep -oP '(?<=ghcr.io/naiba/nezha-dashboard:)[^"]*')
sudo docker pull ghcr.io/naiba/nezha-dashboard:${TAG[i]}
sudo docker save -o ${PLATFORM[i]}_dir/${PLATFORM[i]}.tar ghcr.io/naiba/nezha-dashboard:${TAG[i]}
sudo tar xvf ${PLATFORM[i]}_dir/${PLATFORM[i]}.tar -C ${PLATFORM[i]}_dir/
DIR=($(ls -d ${PLATFORM[i]}_dir/*/layer.tar))
TAR_FILE[i]=$(for j in ${DIR[@]}; do tar -tf $j | grep -q 'dashboard/app' && echo $j && break; done)
sudo tar xvf ${TAR_FILE[i]} -C ${PLATFORM[i]}_dir --strip-components=1 dashboard/app
sudo mv ${PLATFORM[i]}_dir/app app/app-${ARCH[i]}
sudo rm -rf ${PLATFORM[i]}_dir
sudo md5sum app/app-${ARCH[i]}
done
ls app/app* | xargs md5sum
DATE=$(date "+%Y/%m/%d")
echo "$DATE" >> $GITHUB_ENV
echo "VERSION=$LATEST" >> $GITHUB_ENV
fi
- name: Upload to repository
uses: stefanzweifel/git-auto-commit-action@v4.16.0
if: ${{ env.VERSION != '' }}
with:
commit_message: Sync app ${{ env.VERSION }} by Github Actions, ${{ env.DATE }}