name: Auto update data on: schedule: - cron: '0 3-10 * * *' jobs: auto-update: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Fetch data version run: | curl -sL https://github.com/Kengxxiao/ArknightsGameData/commits/master.atom | grep -m1 "CN UPDATE" > version/data if [ -n "$(git status --porcelain)" ]; then echo "::set-env name=UPDATE::1" fi - uses: actions/setup-python@v1 if: env.UPDATE==1 with: python-version: '3.7' architecture: 'x64' - name: Update data and prepare push if: env.UPDATE==1 run: | pip install requests NEWCH=$(python ./tools/extractMaterials.py) NEWST=$(python ./tools/extractStages.py) [[ $NEWCH ]] || [[ $NEWST ]] && COMB=$NEWCH$NEWST [[ $NEWCH ]] && [[ $NEWST ]] && COMB=$NEWCH"\ &\ "$NEWST echo "::set-env name=UPDATE::0" if [[ $COMB ]]; then echo "::set-env name=UPDATE::1" sed -i -e '/id="updates".*/a \ \ \ \ \ \ \ \
'$(date +"%Y.%m.%d")' '$COMB'
' src/app/main/main.component.html git config --global user.name "Neko Bot" git config --global user.email "graueneko@gmail.com" git checkout "${GITHUB_REF:11}" git commit -am "数据更新" fi - name: Push to Github if: env.UPDATE==1 run: | git remote set-url origin https://x-access-token:$TOKEN@$REPO git push env: TOKEN: ${{ secrets.GH_TOKEN }} REPO: github.com/graueneko/aktools.git env: CI: true UPDATE: 0