Node.js CI #87
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs | |
name: Node.js CI | |
on: | |
push: | |
branches: [ "main" ] | |
schedule: | |
- cron: '0 3 * * 1' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
# Give the default GITHUB_TOKEN write permission to commit and push the | |
# added or changed files to the repository. | |
contents: write | |
strategy: | |
matrix: | |
node-version: [18.x] | |
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install pnpm | |
run: npm install -g pnpm | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'pnpm' | |
- name: pnpm install | |
run: pnpm install | |
- name: npm install tsx | |
run: npm install --global tsx | |
- name: Run main.ts with tsx | |
run: tsx main.ts | |
- name: Checkout release | |
uses: actions/checkout@v4 | |
with: | |
ref: release | |
path: git | |
# - uses: stefanzweifel/git-auto-commit-action@v5 | |
# with: | |
# commit_message: Auto Update Data | |
# create_branch: true | |
# branch: release | |
# add_options: '-f' | |
# file_pattern: 'data/' | |
# skip_dirty_check: true | |
- name: Git push assets to release branch | |
run: | | |
if [ -d "git/bangumi-data" ]; then | |
rm -r git/bangumi-data | |
mkdir git/bangumi-data | |
else | |
mkdir git/bangumi-data | |
fi | |
cp -f ./original-data/bangumi-data/data.d.ts ./git/bangumi-data/data.d.ts | |
cp -rf ./data/* ./git/ | |
cd git | |
sed -i 's#./original-data/bangumi-data/data.d.ts#./bangumi-data/data.d.ts#' ./data.d.ts | |
git config --local user.name "My GitHub Actions Bot" | |
git config --local user.email "[email protected]" | |
git add . | |
git diff-index --quiet HEAD || git commit -m "Auto Update Data" | |
git push -f |