Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added builds against PHP nightly on Travis #3814

Merged
merged 8 commits into from Jan 18, 2020

Conversation

morozov
Copy link
Member

@morozov morozov commented Jan 8, 2020

Q A
Type improvement
BC Break no
  1. Backported Locked the PHP_CodeSniffer version to 3.5 for better compatibility with PHP 7.4 #3754 in order to enable PHP_CodeSniffer on PHP 7.4.
  2. Backported all CI updates between 3.0.x and master:
    $ git log --stat 3.0.x..master -- .appveyor .scrutinizer.yml .travis.yml tests/{appveyor,continuousphp,travis}
    
    commit f37a88ed99a342080650b969a4dbebea21ca6ab8 (origin/master)
    Merge: 3e735a819 706660115
    Author: Sergei Morozov <morozov@tut.by>
    Date:   Wed Jan 1 20:14:58 2020 -0800
    
        Merge branch '2.10'
    
    commit 51d5c87a971f5f90a0c72b1d53dfb07bfda6f725
    Author: Sergei Morozov <morozov@tut.by>
    Date:   Thu Dec 19 16:42:33 2019 -0800
    
        Switching Travis CI builds to Ubuntu Bionic Beaver
        
        According to the [documentation](https://docs.travis-ci.com/user/reference/trusty/#container-based-infrastructure), `sudo: false` is no longed needed since Trusty.
    
     .travis.yml | 9 ++++-----
     1 file changed, 4 insertions(+), 5 deletions(-)
    
    commit ff45edaefabbb802671405d9ad91dfa84944cefd
    Author: Sergei Morozov <morozov@tut.by>
    Date:   Mon Apr 22 18:48:35 2019 -0700
    
        Switching Travis CI builds to Ubuntu Xenial Xerus
    
     .travis.yml                                   | 32 +++++++++----------
     tests/travis/create-mysql-schema.sql          |  3 ++
     tests/travis/install-mariadb.sh               | 13 ++++++++
     tests/travis/install-sqlsrv-dependencies.sh   |  2 +-
     tests/travis/mariadb.docker.travis.xml        | 45 +++++++++++++++++++++++++++
     tests/travis/mariadb.mysqli.docker.travis.xml | 45 +++++++++++++++++++++++++++
     tests/travis/mariadb.mysqli.travis.xml        |  2 --
     7 files changed, 123 insertions(+), 19 deletions(-)
    
    commit 75cf1515ccfe00860cd3649926eea59d35cdc20d
    Author: Sergei Morozov <morozov@tut.by>
    Date:   Tue Dec 17 18:15:19 2019 -0800
    
        Test primarily against PHP 7.4 on Travis
    
     .travis.yml | 170 ++++++++++++++++++++++++++++++------------------------------
     1 file changed, 85 insertions(+), 85 deletions(-)
    
    commit 59728eb3501e888100b40daf9a67f4bf9188b400
    Author: Andrey Bolonin <andreybolonin@users.noreply.github.com>
    Date:   Mon Dec 16 09:34:01 2019 +0200
    
        Use PHP 7.4 instead of a snapshot on Travis
    
     .travis.yml | 16 ++++++++--------
     1 file changed, 8 insertions(+), 8 deletions(-)
    
    commit ed9eb002b0b8f8f725e31f1095aeb2997da0835b
    Merge: ab8889629 0a5790ba9
    Author: Sergei Morozov <morozov@tut.by>
    Date:   Mon Nov 25 13:09:51 2019 -0800
    
        Merge branch '2.10'
    
    commit 355d242f4cbc40f5d475c13a5bdbf85a44f35b89
    Author: Claudio Zizza <claudio@budgegeria.de>
    Date:   Thu Jun 13 23:11:19 2019 +0200
    
        Remove Postgres 9.3 and MariaDB 10.0 support
    
     .travis.yml | 19 +------------------
     1 file changed, 1 insertion(+), 18 deletions(-)
    
    commit f9b3e7908f548a96d4ec62a30c8cb9fed7f95c7f
    Author: Michael Moravec <me@majkl.me>
    Date:   Sat Aug 18 03:12:18 2018 +0200
    
        Enable PHPStan in tests
    
     tests/continuousphp/bootstrap.php | 2 ++
     1 file changed, 2 insertions(+)
    
    commit faefe46db39bb4c55f3c525443e1836a5413e70e
    Author: Michael Moravec <me@majkl.me>
    Date:   Fri Mar 16 18:30:16 2018 +0100
    
        Drop support for PostgreSQL <9.3
    
     .scrutinizer.yml | 2 +-
     .travis.yml      | 7 -------
     2 files changed, 1 insertion(+), 8 deletions(-)
    
  3. Added a section for PHP nightly in the build matrix derived from 7.3 (as a non-primary build version, Travis CI tests on PHP 7.3 #3347 (comment)) with added --ignore-platform-reqs and allow_failures.

@greg0ire
Copy link
Member

greg0ire commented Jan 8, 2020

I'm no longer sure there is value in nightly builds, see @Slamdunk 's first commit in https://github.com/doctrine/DoctrineModule/pull/672/files for reasons

@morozov
Copy link
Member Author

morozov commented Jan 8, 2020

Nightly is no longer PHP 7.4, it's 8.0-dev (build log).

@Slamdunk
Copy link
Contributor

Slamdunk commented Jan 8, 2020

Yeah, I know. What I mean is that for my experience it's not a real 8.0-dev, it's just a development version of PHP that can produce, or nor, any error without real consequences for what 8.0 version will be at release time. So why bothering?

@morozov
Copy link
Member Author

morozov commented Jan 8, 2020

What I mean is that for my experience it's not a real 8.0-dev, it's just a development version of PHP that can produce.

What is a real 8.0-dev and why isn't nightly a real one?

Here, the build log shows this very issue that needs to be fixed to address DBAL's compatibility with PHP 8 that necessitates the DBAL 3.0 release. And it got fixed by #3803.

So why bothering?

I want to make sure that the PHP maintainers are informed about the consequences of the breaking changes made to PHP. Some of them may be reverted based on the feedback (e.g. php/php-src@4a5e17f).

The otherwise is also true: if something new gets broken in PHP, I want to know if this needs to be addressed here.

This looks like a healthy relationship between the projects to me.

@Slamdunk
Copy link
Contributor

Slamdunk commented Jan 8, 2020

What is a real 8.0-dev and why isn't nightly a real one?

A month before 7.4 release a lot of projects I follow started having failing builds on nighlty while having manual test passing on a 7.4 custom compilation: this drove Nikita to push to Travis a separate 7.4snapshot tag in order to distinguish between a pre-release build and the pure development branch of PHP.
In that month the nightly tag gave a lot of false feedback while adding zero value to the CI process.

The feedback loop (in both direction) you described is very good and welcome, but only where maintainers know what they are doing.

So, because it seems you are so, I'm happy doctrine/dbal can be a step forward having nightly builds, but I discourage using it in smaller or slow-pace projects/libraries.

Copy link
Member

@lcobucci lcobucci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, just think you missed one small detail. Good job 👍

.travis.yml Show resolved Hide resolved
@morozov morozov added this to the 3.0.0 milestone Jan 16, 2020
@lcobucci lcobucci merged commit 8b9a320 into doctrine:3.0.x Jan 18, 2020
@lcobucci lcobucci self-assigned this Jan 18, 2020
@morozov morozov deleted the travis-php-nightly branch January 28, 2020 21:37
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants