Slide 1

Slide 1 text

From contribs to releases The Making of Symfony @nicolasgrekas

Slide 2

Slide 2 text

components framework + =

Slide 3

Slide 3 text

github.com/ symfony/symfony + 46 synchronized git repositories =

Slide 4

Slide 4 text

@nicolasgrekas symfony.com/releases Release end of support +8 months +14 months +36 months +48 months end of security support end of security support end of support Standard Releases (3.0, 3.1) LTS Releases (2.3, 2.7, 2.8)

Slide 5

Slide 5 text

The Continuous Upgrade Path

Slide 6

Slide 6 text

@nicolasgrekas The Symfony Core Team Wish!

Slide 7

Slide 7 text

@nicolasgrekas • o • o • o Semantic Versioning

Slide 8

Slide 8 text

@nicolasgrekas 3. @internal @api The Backward Compatibility Promise http://symfony.com/bc

Slide 9

Slide 9 text

@nicolasgrekas • • • • • @trigger_error(…, E_USER_DEPRECATED);

Slide 10

Slide 10 text

@nicolasgrekas • • Sustainability of the CUP

Slide 11

Slide 11 text

@nicolasgrekas Travis Matrix

Slide 12

Slide 12 text

@nicolasgrekas Appveyor for Windows

Slide 13

Slide 13 text

Contributions The tip of the iceberg

Slide 14

Slide 14 text

@nicolasgrekas Pull requests template

Slide 15

Slide 15 text

@nicolasgrekas Pull requests submission

Slide 16

Slide 16 text

@nicolasgrekas Pull requests testing

Slide 17

Slide 17 text

@nicolasgrekas Pull requests voting

Slide 18

Slide 18 text

Merging Underside of the iceberg

Slide 19

Slide 19 text

@nicolasgrekas Pull requests triage

Slide 20

Slide 20 text

@nicolasgrekas Pull requests merging

Slide 21

Slide 21 text

@nicolasgrekas Branch merging

Slide 22

Slide 22 text

Releasing Underside of the iceberg

Slide 23

Slide 23 text

@nicolasgrekas • • • • Predictability is king!

Slide 24

Slide 24 text

@nicolasgrekas A patch release

Slide 25

Slide 25 text

@nicolasgrekas • • • • • Hidden steps

Slide 26

Slide 26 text

@nicolasgrekas • • • • • Hidden steps

Slide 27

Slide 27 text

composer update

Slide 28

Slide 28 text

Merci ! @nicolasgrekas