mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-28 12:59:21 +00:00
127 lines
3.9 KiB
YAML
127 lines
3.9 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: Extract branch name
|
||
|
shell: bash
|
||
|
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
|
||
|
id: extract_branch
|
||
|
- 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 ${{ steps.extract_branch.outputs.branch }} && 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 ${{ steps.extract_branch.outputs.branch }}
|
||
|
|
||
|
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: Download Quest Data
|
||
|
uses: suisei-cn/actions-download-file@v1.4.0
|
||
|
with:
|
||
|
url: https://api.grasscutter.io/static/quests.csv
|
||
|
target: src/handbook/data/
|
||
|
- name: Download Main Quest Data
|
||
|
uses: suisei-cn/actions-download-file@v1.4.0
|
||
|
with:
|
||
|
url: https://api.grasscutter.io/static/mainquests.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
|