@@ -24,25 +24,25 @@ jobs:
2424 php-version : ${{ matrix.php-versions }}
2525 extensions : none,iconv,dom,curl,mbstring,tokenizer,xml,xmlwriter,simplexml,ctype
2626 coverage : pcov
27-
27+
2828 - name : ♻️ Get composer cache directory
2929 id : composer-cache
3030 shell : bash
3131 run : echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT"
32-
32+
3333 - name : ♻️ Cache composer dependencies
3434 uses : actions/cache@v4
3535 with :
3636 path : ${{ steps.composer-cache.outputs.dir }}
3737 key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
3838 restore-keys : ${{ runner.os }}-composer-
39-
39+
4040 - name : ⚙️ Install dependencies
4141 shell : bash
4242 run : |
4343 composer install --no-progress --prefer-dist --optimize-autoloader
4444 composer --working-dir=tools install --no-progress --prefer-dist --optimize-autoloader
45-
45+
4646 - name : ♻️ Tools cache
4747 uses : actions/cache@v4
4848 with :
5555 if : matrix.stable
5656 run : composer php-cs-fixer -- --format=checkstyle | tools/vendor/bin/cs2pr
5757
58+ - name : 🔬 Rector
59+ id : rector
60+ if : matrix.stable
61+ run : |
62+ REPORT=$(composer rector -- --output-format json || true)
63+ echo "report<<EOF" >> "$GITHUB_OUTPUT" && echo "$REPORT" >> "$GITHUB_OUTPUT" && echo "EOF" >> "$GITHUB_OUTPUT"
64+
65+ - uses : actions/github-script@v6
66+ if : matrix.stable
67+ with :
68+ script : |
69+ console.log(`::group::Rector report`);
70+ console.log(`::error file=src/CssLint/CliArgs.php,line=41::StrStartsWithRector / NullToStrictStringFuncCallArgRector%0A%0A--- Original%0A+++ New%0A@@ -42,13 +42,13 @@%0A %0A foreach ($aArguments as $sArgument) {%0A // --foo --bar=baz%0A- if (substr($sArgument, 0, 2) == '--') {%0A- $sEqualPosition = strpos($sArgument, '=');%0A+ if (str_starts_with((string) $sArgument, '--')) {%0A+ $sEqualPosition = strpos((string) $sArgument, '=');%0A %0A // --bar=baz%0A if ($sEqualPosition !== false) {%0A- $sKey = substr($sArgument, 2, $sEqualPosition - 2);%0A- $sValue = substr($sArgument, $sEqualPosition + 1);%0A+ $sKey = substr((string) $sArgument, 2, $sEqualPosition - 2);%0A+ $sValue = substr((string) $sArgument, $sEqualPosition + 1);%0A $aParsedArguments[$sKey] = $sValue;%0A }%0A }%0A`);
71+ console.log(`::error file=src/CssLint/Linter.php,line=388::StrStartsWithRector%0A%0A--- Original%0A+++ New%0A@@ -389,7 +389,7 @@%0A $sPropertyName = trim($this->getContextContent());%0A %0A // Ignore CSS variables (names starting with --)%0A- if (substr($sPropertyName, 0, 2) === '--') {%0A+ if (str_starts_with($sPropertyName, '--')) {%0A $this->setContext(self::CONTEXT_PROPERTY_CONTENT);%0A return true;%0A }%0A`);
72+ console.log(`::endgroup::`);
73+
5874 - name : 🔬 Static analysis
5975 if : matrix.stable
60- run : composer stan -- --error-format=checkstyle | tools/vendor/bin/cs2pr
76+ run : composer stan -- --error-format=github
6177
6278 - name : ♻️ Tests cache
6379 uses : actions/cache@v4
6682 key : ${{ runner.os }}-tests-${{ github.sha }}
6783 restore-keys : |
6884 ${{ runner.os }}-tests-
69-
85+
7086 - name : 🧪 Test
7187 run : composer test:ci
7288
0 commit comments