diff --git a/.github/workflows/ComposerLockDiff.yml b/.github/workflows/ComposerLockDiff.yml index 6f42fedcc..b99fb5076 100644 --- a/.github/workflows/ComposerLockDiff.yml +++ b/.github/workflows/ComposerLockDiff.yml @@ -3,10 +3,9 @@ name: "Composer Lock Diff" on: pull_request: types: [opened, synchronize, reopened] - workflow_dispatch: + workflow_call: inputs: pr-number: - description: 'Pull request number' required: true type: string @@ -16,7 +15,50 @@ concurrency: jobs: Composer-Lock-Diff: - uses: ./scaffold/github/workflows/ComposerLockDiff.yml - with: - pr-number: ${{ inputs.pr-number || github.event.number }} - secrets: inherit + runs-on: ubuntu-22.04 + permissions: + contents: read + pull-requests: write + steps: + - uses: actions/checkout@v4 + + - name: Check if composer.lock was changed + id: composer-lock-changed + uses: tj-actions/changed-files@v44 + with: + files: 'composer.lock' + + - name: Delete sticky pull request comment + uses: marocchino/sticky-pull-request-comment@v2 + with: + header: composer-lock-diff + number: ${{ inputs.pr-number || github.event.number }} + delete: true + + - uses: actions/cache@v4 + if: ${{ steps.composer-lock-changed.outputs.any_changed == 'true' }} + with: + path: ${{ github.workspace }}/.ddev/.drainpipe-composer-cache + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-composer- + + - name: Generate composer diff + if: ${{ steps.composer-lock-changed.outputs.any_changed == 'true' }} + id: composer-diff + uses: IonBazan/composer-diff-action@v1 + with: + base: ${{ github.base_ref || github.ref_name }} + with-platform: true + with-links: true + + - name: Post sticky pull request comment + if: ${{ steps.composer-lock-changed.outputs.any_changed == 'true' }} + uses: marocchino/sticky-pull-request-comment@v2 + with: + header: composer-lock-diff + number: ${{ inputs.pr-number || github.event.number }} + message: | + ### Composer package changes + ${{ (steps.composer-diff.outcome != 'success' && 'Review any changes to composer.lock manually.') || steps.composer-diff.outputs.composer_diff || 'No changes found' }} + diff --git a/scaffold/github/workflows/ComposerLockDiff.yml b/scaffold/github/workflows/ComposerLockDiff.yml index b086f1367..0b85b5c60 100644 --- a/scaffold/github/workflows/ComposerLockDiff.yml +++ b/scaffold/github/workflows/ComposerLockDiff.yml @@ -3,9 +3,10 @@ name: "Composer Lock Diff" on: pull_request: types: [opened, synchronize, reopened] - workflow_call: + workflow_dispatch: inputs: pr-number: + description: 'Pull request number' required: true type: string @@ -15,49 +16,7 @@ concurrency: jobs: Composer-Lock-Diff: - runs-on: ubuntu-22.04 - permissions: - contents: read - pull-requests: write - steps: - - uses: actions/checkout@v4 - - - name: Check if composer.lock was changed - id: composer-lock-changed - uses: tj-actions/changed-files@v44 - with: - files: 'composer.lock' - - - name: Delete sticky pull request comment - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: composer-lock-diff - number: ${{ inputs.pr-number || github.event.number }} - delete: true - - - uses: actions/cache@v4 - if: ${{ steps.composer-lock-changed.outputs.any_changed == 'true' }} - with: - path: ${{ github.workspace }}/.ddev/.drainpipe-composer-cache - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: | - ${{ runner.os }}-composer- - - - name: Generate composer diff - if: ${{ steps.composer-lock-changed.outputs.any_changed == 'true' }} - id: composer-diff - uses: IonBazan/composer-diff-action@v1 - with: - base: ${{ github.base_ref || github.ref_name }} - with-platform: true - with-links: true - - - name: Post sticky pull request comment - if: ${{ steps.composer-lock-changed.outputs.any_changed == 'true' }} - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: composer-lock-diff - number: ${{ inputs.pr-number || github.event.number }} - message: | - ### Composer package changes - ${{ (steps.composer-diff.outcome != 'success' && 'Review any changes to composer.lock manually.') || steps.composer-diff.outputs.composer_diff || 'No changes found' }} + uses: Lullabot/drainpipe/.github/workflows/ComposerLockDiff.yml@composer-lock-diff-sticky-pr-comment + with: + pr-number: ${{ inputs.pr-number || github.event.number }} + secrets: inherit