Add php-syntax workflow
authorTim Düsterhus <duesterhus@woltlab.com>
Wed, 21 Oct 2020 10:52:13 +0000 (12:52 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Wed, 21 Oct 2020 10:52:24 +0000 (12:52 +0200)
.github/php-syntax.json [new file with mode: 0644]
.github/workflows/php-syntax.yml [new file with mode: 0644]
.travis.yml

diff --git a/.github/php-syntax.json b/.github/php-syntax.json
new file mode 100644 (file)
index 0000000..dd45f79
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "problemMatcher": [
+      {
+          "owner": "php -l",
+          "pattern": [
+              {
+                  "regexp": "^\\s*(PHP\\s+)?([a-zA-Z\\s]+):\\s+(.*)\\s+in\\s+(\\S+)\\s+on\\s+line\\s+(\\d+)$",
+                  "file": 4,
+                  "line": 5,
+                  "message": 3
+              }
+          ]
+      }
+  ]
+}
diff --git a/.github/workflows/php-syntax.yml b/.github/workflows/php-syntax.yml
new file mode 100644 (file)
index 0000000..3c469d4
--- /dev/null
@@ -0,0 +1,31 @@
+name: PHP Syntax Check
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  check:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        php:
+        - '7.0'
+        - '7.1'
+        - '7.2'
+        - '7.3'
+        - '7.4'
+        - '8.0'
+    steps:
+    - name: Set up PHP
+      uses: shivammathur/setup-php@v2
+      with:
+        php-version: ${{ matrix.php }}
+    - uses: actions/checkout@v2
+    - run: echo "::add-matcher::.github/php-syntax.json"
+    - name: Remove files to be ignored
+      run: |
+        true
+    - run: |
+        ! find . -type f -name '*.php' -exec php -l '{}' \; 2>&1 |grep -v '^No syntax errors detected'
index fe07869eb041befd39855353daf9fe2f0ff3d493..aea7d620807023c2c5e7027198aa3266e550c17d 100644 (file)
@@ -10,5 +10,4 @@ before_install:
 before_script:
   - git clone --branch=master --depth=1 --quiet git://github.com/WoltLab/WCF.git WCF
 script:
-  - find files -type f -name '*.php' |xargs -I file php -l file
   - phpcs -p --extensions=php --standard="`pwd`/WCF/CodeSniff/WCF" files