diff --git a/.github/workflows/verify-build.yml b/.github/workflows/verify-build.yml index b03ec25..a8e03cd 100644 --- a/.github/workflows/verify-build.yml +++ b/.github/workflows/verify-build.yml @@ -1,82 +1,19 @@ # This file is managed in https://github.com/happyprime/projects name: Verify build (Node 20) -on: [ pull_request ] +on: pull_request -# The GITHUB_TOKEN used by Dependabot has read-only permissions -# by default, so we provide write permissions to this workflow -# so that comments can be left on the pull request. -# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#changing-github_token-permissions +# The GITHUB_TOKEN used by Dependabot has read-only permissions by default. We +# provide write permissions to this workflow so that comments can be left on +# the pull request. +# +# @see https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#changing-github_token-permissions permissions: contents: read pull-requests: write jobs: - build: - name: Check built files - - runs-on: ubuntu-latest - - steps: - - name: Checkout project - uses: actions/checkout@v4 - with: - fetch-depth: 2 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: 'npm' - - - name: Verify Node dependency cache - uses: actions/cache@v4 - with: - path: ./node_modules - key: node-dependencies-${{ hashFiles('package-lock.json') }} - restore-keys: node-dependencies- - - - name: Install Node dependencies - run: npm install - - - name: Build - run: npm run build - - - name: Capture Git status - id: git - shell: bash - run: | - echo 'changes<> $GITHUB_OUTPUT - echo "$(git status --porcelain --untracked-files=all)" >> $GITHUB_OUTPUT - echo 'EOF' >> $GITHUB_OUTPUT - echo "nodeVersion=$(node --version)" >> $GITHUB_OUTPUT - echo "npmVersion=$(npm --version)" >> $GITHUB_OUTPUT - - - name: Fail if changes detected - shell: bash - run: | - if [[ -n "${{ steps.git.outputs.changes }}" ]]; then - exit 1 - fi - - - name: Comment on pull request - if: failure() - uses: actions/github-script@v7 - with: - script: | - const output = `Changed files were detected after build. Please run project build workflows and check \`git status\` for any missed changes. - - \`\`\` - ${{ steps.git.outputs.changes }} - \`\`\` - - You may need to update your local NPM configuration if different than below: - * Node ${{ steps.git.outputs.nodeVersion }} - * NPM ${{ steps.git.outputs.npmVersion }} - `; - - github.rest.issues.createComment({ - ...context.repo, - issue_number: context.payload.pull_request.number, - body: output - }) + call-workflow: + uses: happyprime/workflows/.github/workflows/verify-build.yml@trunk + with: + node-version: 20