Update nezha.yml

main
fscarmen 2 years ago committed by GitHub
parent bc2a2140c8
commit 5cd9b770e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 69
      .github/workflows/nezha.yml

@ -1,5 +1,3 @@
name: "Renew nezha dash app"
on:
workflow_dispatch:
push:
@ -9,58 +7,45 @@ on:
- cron: 0 16 * * *
jobs:
job1-arm64:
runs-on: self-hosted
steps:
- name: checkout
uses: actions/checkout@v3.5.3
- name: Check and download app
run: |
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
[ -e app/app-$(arch) ] && sudo rm -f app/app-$(arch)
sudo docker container create --name nezha_app ghcr.io/naiba/nezha-dashboard
sudo docker container cp nezha_app:/dashboard/app app/app-$(arch)
sudo docker rm -f nezha_app
sudo docker rmi -f ghcr.io/naiba/nezha-dashboard
sudo md5sum app/app-$(arch)
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.LATEST }} by Github Actions.
job2-amd64:
fetch-from-images:
runs-on: ubuntu-latest
needs: job1-arm64
steps:
- name: checkout
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.0.0
- name: Check and download app
- name: Check and fetch app
run: |
NOW=$(cat app/README.md)
[ -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
[ -e app/app-$(arch) ] && sudo rm -f app/app-$(arch)
sudo docker container create --name nezha_app ghcr.io/naiba/nezha-dashboard
sudo docker container cp nezha_app:/dashboard/app app/app-$(arch)
sudo docker rm -f nezha_app
sudo docker rmi -f ghcr.io/naiba/nezha-dashboard
sudo md5sum app/app-$(arch)
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
echo "$LATEST" > app/README.md
fi
- name: Upload to repository
uses: stefanzweifel/git-auto-commit-action@v4.16.0
if: ${{ env.VERSION != '' }}
with:
commit_message: Sync app ${{ env.LATEST }} by Github Actions.
commit_message: Sync app ${{ env.VERSION }} by Github Actions, ${{ env.DATE }}

Loading…
Cancel
Save