From 76a8147a4e217bd62cc2bf3465215b96253a72d7 Mon Sep 17 00:00:00 2001 From: ddaodan <40017293+ddaodan@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:20:12 +0800 Subject: [PATCH] Create build.yml --- .github/workflows/build.yml | 55 +++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..41a713c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,55 @@ +# 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