chore(build): optimize monkey build with parallel execution and updat… #222
Workflow file for this run
This file contains hidden or 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
| name: Code Push | |
| on: | |
| - push | |
| - pull_request | |
| jobs: | |
| change_files: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| dockerChange: ${{ steps.docker-changed-files.outputs.any_changed }} | |
| qinglongChange: ${{ steps.qinglong-changed-files.outputs.any_changed }} | |
| monkeyChange: ${{ steps.monkey-changed-files.outputs.any_changed }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # #region Check changed files for qinglong files | |
| - id: qinglong-changed-files | |
| uses: tj-actions/changed-files@v45 | |
| with: | |
| files: | | |
| apps/qinglong/** | |
| packages/general/** | |
| packages/node/** | |
| packages/build-scripts/** | |
| packages/esbuild-plugin/** | |
| package*.json | |
| tsconfig.json | |
| - name: List all changed files | |
| if: steps.qinglong-changed-files.outputs.any_changed == 'true' | |
| env: | |
| ALL_CHANGED_FILES: ${{ steps.qinglong-changed-files.outputs.all_changed_files }} | |
| run: | | |
| for file in ${ALL_CHANGED_FILES}; do | |
| echo "$file was changed" | |
| done | |
| # #endregion Check changed files for qinglong files | |
| # #region Check changed files for monkey files | |
| - id: monkey-changed-files | |
| uses: tj-actions/changed-files@v45 | |
| with: | |
| files: | | |
| apps/monkey/** | |
| packages/general/** | |
| packages/browser/** | |
| packages/monkey/** | |
| packages/build-scripts/** | |
| packages/esbuild-plugin/** | |
| package*.json | |
| tsconfig.json | |
| - name: List all changed files | |
| if: steps.monkey-changed-files.outputs.any_changed == 'true' | |
| env: | |
| ALL_CHANGED_FILES: ${{ steps.monkey-changed-files.outputs.all_changed_files }} | |
| run: | | |
| for file in ${ALL_CHANGED_FILES}; do | |
| echo "$file was changed" | |
| done | |
| # #endregion Check changed files for monkey files | |
| # #region Check changed files for docker files | |
| - id: docker-changed-files | |
| uses: tj-actions/changed-files@v45 | |
| with: | |
| files: | | |
| apps/docker/** | |
| - name: List all changed files | |
| if: steps.docker-changed-files.outputs.any_changed == 'true' | |
| env: | |
| ALL_CHANGED_FILES: ${{ steps.docker-changed-files.outputs.all_changed_files }} | |
| run: | | |
| for file in ${ALL_CHANGED_FILES}; do | |
| echo "$file was changed" | |
| done | |
| # #endregion Check changed files for docker files | |
| code_check: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - change_files | |
| if: needs.change_files.outputs.qinglongChange == 'true' || needs.change_files.outputs.monkeyChange == 'true' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24.12.0 | |
| cache: npm | |
| cache-dependency-path: package-lock.json | |
| - name: Install dependencies | |
| run: npm ci --workspaces --include-workspace-root | |
| - name: Lint | |
| run: npm run lint | |
| - name: unit test | |
| run: npm run test | |
| monkey_actions: | |
| needs: | |
| - change_files | |
| - code_check | |
| if: needs.change_files.outputs.monkeyChange == 'true' | |
| permissions: | |
| contents: write | |
| uses: ./.github/workflows/monkey_push.yml | |
| qinglong_actions: | |
| needs: | |
| - change_files | |
| - code_check | |
| if: needs.change_files.outputs.qinglongChange == 'true' | |
| permissions: | |
| contents: write | |
| uses: ./.github/workflows/qinglong_push.yml | |
| docker_actions: | |
| needs: | |
| - change_files | |
| if: needs.change_files.outputs.dockerChange == 'true' | |
| uses: ./.github/workflows/docker_push.yml | |
| with: | |
| DOCKER_HUB_USERNAME: ${{ vars.DOCKERHUB_USERNAME }} | |
| secrets: | |
| DOCKER_HUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} |