]> source.dussan.org Git - nextcloud-server.git/commitdiff
Generate psalm-baseline.xml PR instead of requiring this from the PR author itself 22314/head
authorMorris Jobke <hey@morrisjobke.de>
Thu, 20 Aug 2020 07:06:32 +0000 (09:06 +0200)
committerMorris Jobke <hey@morrisjobke.de>
Thu, 20 Aug 2020 10:34:29 +0000 (12:34 +0200)
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
.github/workflows/static-code-analysis.yml
.github/workflows/update-psalm-baseline.yml [new file with mode: 0644]

index 184b58a7472ce8539e4f6c28f99141833981e955..8f1fd9a2a3097b982c678e40921a78cbeb2be222 100644 (file)
@@ -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 (file)
index 0000000..3822cbf
--- /dev/null
@@ -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 <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