Add php-syntax workflow
authorTim Düsterhus <duesterhus@woltlab.com>
Wed, 21 Oct 2020 10:54:52 +0000 (12:54 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Wed, 21 Oct 2020 10:54:52 +0000 (12:54 +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..e58370d
--- /dev/null
@@ -0,0 +1,29 @@
+name: PHP Syntax Check
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  check:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        php:
+        - '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..894dd50fc22129b1d4fd47d8f7cf6a892b8f0147 100644 (file)
@@ -1,8 +1,8 @@
 language: php
 sudo: false
 php:
+  - 7.4
   - 7.2
-  - 7.0
 before_install:
   - export PATH="$PATH:$(composer global config bin-dir --absolute)"
   - composer global require "squizlabs/php_codesniffer=3.*"
@@ -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