mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-27 02:43:15 +00:00
113 lines
3.3 KiB
YAML
113 lines
3.3 KiB
YAML
name: "Handbook"
|
|
|
|
on:
|
|
workflow_dispatch: ~
|
|
push:
|
|
paths:
|
|
- "src/handbook/**.tsx"
|
|
branches:
|
|
- "development"
|
|
- "unstable"
|
|
pull_request:
|
|
paths:
|
|
- "src/handbook/**.tsx"
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
- reopened
|
|
|
|
jobs:
|
|
Lint-Code:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '17'
|
|
- name: Cache node modules
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.npm
|
|
~/.cache
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- name: Install dependencies
|
|
working-directory: src/handbook
|
|
run: npm install --force
|
|
- name: Run linter
|
|
working-directory: src/handbook
|
|
run: npm run lint
|
|
|
|
- run: git config --global user.name "github-actions"
|
|
- run: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
- run: git stash
|
|
- run: git checkout unstable && git pull
|
|
- run: git stash pop || true
|
|
- name: Commit changes
|
|
if: ${{ github.event_name == 'push' }}
|
|
run: git add -u && git commit -m "Lint Code [skip actions]" || true
|
|
- name: Push changes
|
|
if: ${{ github.event_name == 'push' }}
|
|
run: git push --set-upstream --force origin unstable
|
|
|
|
Build-Handbook:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '17'
|
|
- name: Cache node modules
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.npm
|
|
~/.cache
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- name: Install dependencies
|
|
working-directory: src/handbook
|
|
run: npm install --force
|
|
|
|
- name: Download Avatar Data
|
|
uses: suisei-cn/actions-download-file@v1.4.0
|
|
with:
|
|
url: https://api.grasscutter.io/static/avatars.csv
|
|
target: src/handbook/data/
|
|
- name: Download Command Data
|
|
uses: suisei-cn/actions-download-file@v1.4.0
|
|
with:
|
|
url: https://api.grasscutter.io/static/commands.json
|
|
target: src/handbook/data/
|
|
- name: Download Entity Data
|
|
uses: suisei-cn/actions-download-file@v1.4.0
|
|
with:
|
|
url: https://api.grasscutter.io/static/entities.csv
|
|
target: src/handbook/data/
|
|
- name: Download Item Data
|
|
uses: suisei-cn/actions-download-file@v1.4.0
|
|
with:
|
|
url: https://api.grasscutter.io/static/items.csv
|
|
target: src/handbook/data/
|
|
- name: Download Scene Data
|
|
uses: suisei-cn/actions-download-file@v1.4.0
|
|
with:
|
|
url: https://api.grasscutter.io/static/scenes.csv
|
|
target: src/handbook/data/
|
|
|
|
- name: Build handbook
|
|
working-directory: src/handbook
|
|
run: npm run build
|
|
- name: Upload build
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: Handbook
|
|
path: src/handbook/dist/*.html
|