Update github-actions #9368
This file contains 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
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions | |
name: "Issue bot" | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths-ignore: | |
- 'compiler/**' | |
- 'apigen/**' | |
- 'changelog-generator/**' | |
push: | |
branches: | |
- "2.0.x" | |
paths-ignore: | |
- 'compiler/**' | |
- 'apigen/**' | |
- 'changelog-generator/**' | |
concurrency: | |
group: run-issue-bot-${{ github.head_ref || github.run_id }} # will be canceled on subsequent pushes in pull requests but not branches | |
cancel-in-progress: true | |
jobs: | |
download: | |
name: "Download data" | |
runs-on: "ubuntu-latest" | |
outputs: | |
matrix: ${{ steps.download-data.outputs.matrix }} | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.3" | |
- name: "Install Issue Bot dependencies" | |
working-directory: "issue-bot" | |
run: "composer install --no-interaction --no-progress" | |
- name: "Cache downloads" | |
uses: actions/cache@v4 | |
with: | |
path: ./issue-bot/tmp | |
key: "issue-bot-download-v6-${{ github.run_id }}" | |
restore-keys: | | |
issue-bot-download-v6- | |
- name: "Download data" | |
working-directory: "issue-bot" | |
id: download-data | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
run: echo "matrix=$(./console.php download)" >> $GITHUB_OUTPUT | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: playground-cache | |
path: issue-bot/tmp/playgroundCache.tmp | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: issue-cache | |
path: issue-bot/tmp/issueCache.tmp | |
analyse: | |
name: "Analyse" | |
needs: download | |
runs-on: "ubuntu-latest" | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJSON(needs.download.outputs.matrix) }} | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.3" | |
- name: "Install dependencies" | |
run: "composer install --no-interaction --no-progress --no-dev" | |
- name: "Install Issue Bot dependencies" | |
working-directory: "issue-bot" | |
run: "composer install --no-interaction --no-progress" | |
- uses: Wandalen/[email protected] | |
with: | |
action: actions/download-artifact@v4 | |
with: | | |
name: playground-cache | |
path: issue-bot/tmp | |
attempt_limit: 5 | |
attempt_delay: 1000 | |
- name: "Add level 10 config file" | |
run: "cp issue-bot/config.level10.neon conf/" | |
- name: "Run PHPStan" | |
working-directory: "issue-bot" | |
timeout-minutes: 5 | |
run: ./console.php run ${{ matrix.phpVersion }} ${{ matrix.playgroundExamples }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: results-${{ matrix.phpVersion }}-${{ matrix.chunkNumber }} | |
path: issue-bot/tmp/results-${{ matrix.phpVersion }}-*.tmp | |
evaluate: | |
name: "Evaluate results" | |
needs: analyse | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.3" | |
- name: "Install Issue Bot dependencies" | |
working-directory: "issue-bot" | |
run: "composer install --no-interaction --no-progress" | |
- uses: actions/download-artifact@v4 | |
with: | |
name: playground-cache | |
path: issue-bot/tmp | |
- uses: actions/download-artifact@v4 | |
with: | |
name: issue-cache | |
path: issue-bot/tmp | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: results-* | |
merge-multiple: true | |
path: issue-bot/tmp | |
- name: "List tmp" | |
run: "ls -lA issue-bot/tmp" | |
- name: "Evaluate results - pull request" | |
working-directory: "issue-bot" | |
if: github.event_name == 'pull_request' | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
run: ./console.php evaluate >> $GITHUB_STEP_SUMMARY | |
- name: "Evaluate results - push" | |
working-directory: "issue-bot" | |
if: "github.repository_owner == 'phpstan' && github.ref == 'refs/heads/2.0.x'" | |
env: | |
GITHUB_PAT: ${{ secrets.PHPSTAN_BOT_TOKEN }} | |
PHPSTAN_SRC_COMMIT_BEFORE: ${{ github.event.before }} | |
PHPSTAN_SRC_COMMIT_AFTER: ${{ github.event.after }} | |
run: ./console.php evaluate --post-comments >> $GITHUB_STEP_SUMMARY |