From fc04b2ed05907f26e6696371520c90cc7bfc71b3 Mon Sep 17 00:00:00 2001 From: Nyholm Date: Wed, 24 Feb 2021 14:03:45 +0100 Subject: [PATCH 1/4] Add Psalm baseline and update it automatically --- .github/workflows/psalm-baseline.yml | 88 ++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .github/workflows/psalm-baseline.yml diff --git a/.github/workflows/psalm-baseline.yml b/.github/workflows/psalm-baseline.yml new file mode 100644 index 0000000000000..0005b8131238d --- /dev/null +++ b/.github/workflows/psalm-baseline.yml @@ -0,0 +1,88 @@ +name: Update psalm baseline + +on: + schedule: + - cron: '0 6 1 * *' + +jobs: + psalm: + name: Psalm baselne + runs-on: Ubuntu-20.04 + strategy: + fail-fast: false + matrix: + branch: ['4.4', '5.x'] + + steps: + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.0' + extensions: "json,memcached,mongodb,redis,xsl,ldap,dom" + ini-values: "memory_limit=-1" + coverage: none + + - name: Checkout code + uses: actions/checkout@v2 + with: + ref: ${{ matrix.branch }} + + - name: Configure composer + run: | + COMPOSER_HOME="$(composer config home)" + ([ -d "$COMPOSER_HOME" ] || mkdir "$COMPOSER_HOME") && cp .github/composer-config.json "$COMPOSER_HOME/config.json" + echo "COMPOSER_ROOT_VERSION=$(grep -m1 SYMFONY_VERSION .travis.yml | grep -o '[0-9.x]*').x-dev" >> $GITHUB_ENV + + - name: Determine composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: Cache composer dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: composer-${{ github.base_ref }} + restore-keys: composer- + + - name: Install dependencies + run: | + echo "::group::modify composer.json" + cp composer.json composer.json.backup + composer remove symfony/phpunit-bridge --no-interaction --no-update + composer require psalm/phar --no-update + composer require --no-update phpunit/phpunit php-http/discovery psr/event-dispatcher + echo "::endgroup::" + echo "::group::composer update" + composer update --no-progress --ansi + echo "::endgroup::" + echo "::group::restore composer.json" + rm composer.json + cp composer.json.backup composer.json + echo "::endgroup::" + + - name: Generate Psalm baseline + run: /vendor/bin/psalm.phar --set-baseline=.github/psalm/psalm.baseline.xml --no-progress + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.CARSONBOT_GITHUB_TOKEN }} + push-to-fork: carsonbot/symfony + author: carsonbot + committer: carsonbot + commit-message: Update psalm baseline + title: Update psalm baseline - ${{ matrix.branch }} + body: | + | Q | A + | ------------- | --- + | Branch? | ${{ matrix.branch }} + | Bug fix? | no + | New feature? | no + | Deprecations? | no + | Tickets | + | License | MIT + | Doc PR | + + The psalm baseline have changed for branch ${{ matrix.branch }}. + branch: psalm-baseline-${{ matrix.branch }} + base: ${{ matrix.branch }} From e34cb3cd6c938cf1ff461dd38c1181a887d5753d Mon Sep 17 00:00:00 2001 From: Nyholm Date: Fri, 26 Feb 2021 08:15:12 +0100 Subject: [PATCH 2/4] Sync with 4.4 --- .github/workflows/psalm-baseline.yml | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/.github/workflows/psalm-baseline.yml b/.github/workflows/psalm-baseline.yml index 0005b8131238d..6ad3bb67a7d3a 100644 --- a/.github/workflows/psalm-baseline.yml +++ b/.github/workflows/psalm-baseline.yml @@ -4,6 +4,10 @@ on: schedule: - cron: '0 6 1 * *' +defaults: + run: + shell: bash + jobs: psalm: name: Psalm baselne @@ -33,32 +37,17 @@ jobs: ([ -d "$COMPOSER_HOME" ] || mkdir "$COMPOSER_HOME") && cp .github/composer-config.json "$COMPOSER_HOME/config.json" echo "COMPOSER_ROOT_VERSION=$(grep -m1 SYMFONY_VERSION .travis.yml | grep -o '[0-9.x]*').x-dev" >> $GITHUB_ENV - - name: Determine composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache composer dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.base_ref }} - restore-keys: composer- - - name: Install dependencies run: | echo "::group::modify composer.json" - cp composer.json composer.json.backup - composer remove symfony/phpunit-bridge --no-interaction --no-update - composer require psalm/phar --no-update - composer require --no-update phpunit/phpunit php-http/discovery psr/event-dispatcher + composer remove --no-interaction --no-update symfony/phpunit-bridge + composer require psalm/phar phpunit/phpunit php-http/discovery psr/event-dispatcher --no-update echo "::endgroup::" echo "::group::composer update" composer update --no-progress --ansi + git checkout composer.json echo "::endgroup::" - echo "::group::restore composer.json" - rm composer.json - cp composer.json.backup composer.json - echo "::endgroup::" + ./vendor/bin/psalm.phar --version - name: Generate Psalm baseline run: /vendor/bin/psalm.phar --set-baseline=.github/psalm/psalm.baseline.xml --no-progress From bf320641001428e7f15edb0b6ea0773b32b10824 Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Fri, 26 Feb 2021 09:40:31 +0100 Subject: [PATCH 3/4] Update .github/workflows/psalm-baseline.yml Co-authored-by: Ben Davies --- .github/workflows/psalm-baseline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/psalm-baseline.yml b/.github/workflows/psalm-baseline.yml index 6ad3bb67a7d3a..bac24821584d5 100644 --- a/.github/workflows/psalm-baseline.yml +++ b/.github/workflows/psalm-baseline.yml @@ -72,6 +72,6 @@ jobs: | License | MIT | Doc PR | - The psalm baseline have changed for branch ${{ matrix.branch }}. + The psalm baseline has changed for branch ${{ matrix.branch }}. branch: psalm-baseline-${{ matrix.branch }} base: ${{ matrix.branch }} From 70e0fe59e39b6526eca80b76859e51c230c29725 Mon Sep 17 00:00:00 2001 From: Nyholm Date: Fri, 26 Feb 2021 13:22:48 +0100 Subject: [PATCH 4/4] Typo --- .github/workflows/psalm-baseline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/psalm-baseline.yml b/.github/workflows/psalm-baseline.yml index bac24821584d5..7959d14e4f8b2 100644 --- a/.github/workflows/psalm-baseline.yml +++ b/.github/workflows/psalm-baseline.yml @@ -10,7 +10,7 @@ defaults: jobs: psalm: - name: Psalm baselne + name: Psalm baseline runs-on: Ubuntu-20.04 strategy: fail-fast: false