diff --git a/.github/workflows/phpcs.yml b/.github/workflows/phpcs.yml index 011df25..9ffa406 100644 --- a/.github/workflows/phpcs.yml +++ b/.github/workflows/phpcs.yml @@ -1,44 +1,21 @@ +# Run PHP Code Sniffer (PHPCS) and comment on the pull request with any issues. +# # This file is managed in https://github.com/happyprime/projects name: PHPCS (Default, PHP 8.3) 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: - phpcs: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: '8.3' - coverage: none - tools: composer, cs2pr - - - name: Cache Composer - id: cache-composer - run: | - echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - uses: actions/cache@v4 - with: - path: ${{ steps.cache-composer.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: | - ${{ runner.os }}-composer- - - - name: Install dependencies - run: | - composer install --prefer-dist --no-progress - - - name: Detect coding standard violations - run: vendor/bin/phpcs -q --report=checkstyle . | cs2pr --notices-as-warnings + call-workflow: + uses: happyprime/workflows/.github/workflows/phpcs.yml@trunk + with: + php-version: '8.3' 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