From 50784a7c51a3bd740d666857c463b9c15bd4b25e Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Thu, 20 Aug 2020 09:06:32 +0200 Subject: [PATCH] Generate psalm-baseline.xml PR instead of requiring this from the PR author itself Signed-off-by: Morris Jobke --- .github/workflows/static-code-analysis.yml | 4 +- .github/workflows/update-psalm-baseline.yml | 43 +++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/update-psalm-baseline.yml diff --git a/.github/workflows/static-code-analysis.yml b/.github/workflows/static-code-analysis.yml index 184b58a7472..8f1fd9a2a30 100644 --- a/.github/workflows/static-code-analysis.yml +++ b/.github/workflows/static-code-analysis.yml @@ -20,6 +20,6 @@ jobs: 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)" diff --git a/.github/workflows/update-psalm-baseline.yml b/.github/workflows/update-psalm-baseline.yml new file mode 100644 index 00000000000..3822cbf1cc1 --- /dev/null +++ b/.github/workflows/update-psalm-baseline.yml @@ -0,0 +1,43 @@ +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 + author: Nextcloud-PR-Bot + 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 -- 2.39.5