# 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: Build repo.json on: push: branches: [ "main" ] paths: - 'repo/**' - 'build/build.js' - '.github/workflows/**' workflow_dispatch: inputs: force_update: description: '强制执行全量更新' required: false type: boolean default: false jobs: build: # Skip this job if the repository is a fork if: github.repository_owner == 'ddaodan' runs-on: ubuntu-latest permissions: # Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository. contents: write strategy: matrix: node-version: [18.x] steps: - name: Configure Git for long paths run: sudo git config --system core.longpaths true - uses: actions/checkout@v4 with: ref: ${{ github.head_ref }} fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Build repo.json run: | if [ "${{ github.event.inputs.force_update }}" = "true" ]; then echo "执行强制全量更新" node ./build/build.js --force else echo "执行增量更新" node ./build/build.js fi - uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: update repo.json