uses: docker://jakzal/phpqa:php7.4-alpine
with:
args: psalm --monochrome --no-progress --output-format=text --update-baseline || ( git diff && exit 1 )
- - name: Check for changes in Psalm baseline
+ - name: Show potential changes in Psalm baseline
run: |
- bash -c "[[ ! \"`git status --porcelain build/psalm-baseline.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml && exit 1 )"
+ bash -c "[[ ! \"`git status --porcelain build/psalm-baseline.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
--- /dev/null
+name: Update Psalm baseline
+
+on:
+ schedule:
+ - cron: '5 6 * * *'
+
+jobs:
+ update-psalm-baseline:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Checkout submodules
+ shell: bash
+ run: |
+ auth_header="$(git config --local --get http.https://github.com/.extraheader)"
+ git submodule sync --recursive
+ git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
+ - name: Remove composer.json
+ shell: bash
+ run: rm composer.json composer.lock
+ - name: Psalm
+ uses: docker://jakzal/phpqa:php7.4-alpine
+ with:
+ args: psalm --monochrome --no-progress --output-format=text --update-baseline
+ - name: Reset composer.json and composer.lock
+ run: |
+ git checkout -- composer.json composer.lock
+ - name: Create Pull Request
+ uses: peter-evans/create-pull-request@v3
+ with:
+ token: ${{ secrets.MACHINE_USER_PAT }}
+ push-to-fork: nextcloud-pr-bot/server
+ commit-message: Update psalm baseline
+ committer: GitHub <noreply@github.com>
+ author: Nextcloud-PR-Bot <nextcloud-pr-bot@users.noreply.github.com>
+ signoff: true
+ branch: automated/noid/psalm-baseline-update
+ title: '[Automated] Update psalm-baseline.xml'
+ body: |
+ Auto-generated update psalm-baseline.xml with fixed psalm warnings
+ labels: |
+ automated pr
+ reviewers: rullzer, morrisjobke, kesselb