SlideShare a Scribd company logo
Undestanding the
Pharo dev Process
Guille Polito, CNRS & Inria
@guillepolito
2
Open
Issue
Submit
Code
Validate

Code
Integrate
+
Build
Close
Issue
Pharo < 7
n+1
Change
n
3
:the new kid on the block
4
Pharo 7?
n n+1
Change
? 5
Pharo Repository
6
master
development
• master branch will point to latest stable release
• development branch with current development
V6.0
V6.1
Proposing a Change
7
’s Machine
Push
Fork
Pull Request
Commit
Clone
+ +
Proposing a Change?
• Do not commit a change to development
• Instead create a new branch named after the
issue:



e.g., 10271-Remove-Old-Compiler
• Issue the pull request 

new branch —> development
8
Maintaining your repo
9
’s Machine
Push
Pull
+ +
Multiple Images
10
’s Machine
+
HEAD=12b96fd7
HEAD=12b96fd7
Load, commit
HEAD=40121187HEAD=12b96fd7
What happens when a
fix is proposed?
11
A Git-centric process
Pull Request

Change
n+1
Build
12
Validate
• Jenkinsfile
• travis.yml like file
• describe the build process
The Build Process
13
1. Bootstrap















14
Build Dissected
10%
1. Bootstrap
2. Compiler











15
Build Dissected
Binary

Hermes
12%
1. Bootstrap
2. Compiler
3. Monticello







16
Build Dissected
Chunk files
14%
1. Bootstrap
2. Compiler
3. Monticello
4. Metacello



17
Build Dissected
Monticello
19%
1. Bootstrap
2. Compiler
3. Monticello
4. Metacello
5. Dev-Environment
18
Build Dissected
Metacello

Baselines
100%
• Ensure initial state!
• Allow complex changes that before required
staging
• e.g., changes in key-object layouts (Slots)
• e.g., changes in “in-use” objects (Compiler,
Monticello)
Building from sources
19
1. Bootstrap
2. Compiler
3. Monticello
4. Metacello
5. Dev-Environment
20
Build Dissected
Metacello

Baselines
100%
Thou Shalt Update the
21
Baselines
1. Bootstrap
2. Compiler
3. Monticello
4. Metacello
5. Dev-Environment
22
Build Dissected
Metacello

Baselines
100%
• Build once, validate many times
• All tests * #(win,unix,mac)
• Staged tests (sunit only so far) * #(win,unix,mac)
• Future: Lint Rules? others?
Validations
23
What happens when
an issue is integrated?
24
A Git-centric process
Change
n+1
Build
25
files.pharo.org/image/70
26
Tooling
27
Setting up Iceberg
28
The Pharo Plugin
29
The Github Plugin
30
Validating Issues
31
Integration
32
A glimpse from
the future
33
Managing External Projects
34
Pull / Push
Fork
Pull Request
Further Work
• Issue tracker integration
• Notifications
• Evaluate using Github issue tracker
• Expect modularisations and changes
35
Conclusion
Push
n+1
Build
36
’s Machine
Push
Pull
+ +
Tx Christophe, Pavel, and all the Pharo community
• Travis
• OSX is slow
• For windows we would need appveyor…
• Less freedom to design our process
• Jenkins: we have full control (and responsibility) on it
37

More Related Content

PDF
An Introduction to Git
PPTX
Git presentation, Viktor Pyskunov
PDF
Git introduction workshop for scientists
PPT
B4usolution git git-hub
PPTX
Git ritesh venture_pact
PDF
Brief tutorial on Git
PPTX
Introduction to Git and GitHub Part 1
PDF
A Practical Introduction to git
An Introduction to Git
Git presentation, Viktor Pyskunov
Git introduction workshop for scientists
B4usolution git git-hub
Git ritesh venture_pact
Brief tutorial on Git
Introduction to Git and GitHub Part 1
A Practical Introduction to git

What's hot (18)

PDF
Building a raku module
PPT
Git workflow libre semikov
PDF
How we scaled git lab for a 30k employee company
PDF
Git 101: Git and GitHub for Beginners
PPTX
Introduction to git & GitHub
PPT
Introduction to Git and Github
PDF
Git and github 101
PPTX
Introduction to git and github
PDF
Learning git
PPTX
Intro to git and git hub
PPTX
Git and github fundamentals
PDF
GitLab as an Alternative Development Platform for Github.com
PDF
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
PDF
Introduction to GitHub
PPT
Introduction to Git Commands and Concepts
PPTX
Git 101
PDF
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Building a raku module
Git workflow libre semikov
How we scaled git lab for a 30k employee company
Git 101: Git and GitHub for Beginners
Introduction to git & GitHub
Introduction to Git and Github
Git and github 101
Introduction to git and github
Learning git
Intro to git and git hub
Git and github fundamentals
GitLab as an Alternative Development Platform for Github.com
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Introduction to GitHub
Introduction to Git Commands and Concepts
Git 101
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Ad

Similar to Understanding the Pharo dev Process (20)

PDF
Contributing to Pharo
PDF
Pharo Consortium: A roadmap to solid evolution
PDF
Pharo: A roadmap to solid evolution.
PDF
Pharo: a booming ecosystem by Esteban Lorenzano
PDF
Pharo 8.0 (alpha) and more
PDF
Pharo 10 and beyond
PDF
What is (not) Pharo 8?
PDF
Present and Future of the Pharo VM: Headless and Beyond
PDF
Iceberg
PDF
2013 lecture-01-introduction
PDF
Pharo 11: A stabilization release
PDF
Contributing to Pharo 18
PDF
Pharo Update
PDF
Pharo Update
PDF
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
PDF
A Taste of Pharo 7.0
PDF
Pharo Status
PDF
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
PDF
Pharo
PDF
Pharo GitLab Example: This is a simple Pharo Smalltalk pipeline example
Contributing to Pharo
Pharo Consortium: A roadmap to solid evolution
Pharo: A roadmap to solid evolution.
Pharo: a booming ecosystem by Esteban Lorenzano
Pharo 8.0 (alpha) and more
Pharo 10 and beyond
What is (not) Pharo 8?
Present and Future of the Pharo VM: Headless and Beyond
Iceberg
2013 lecture-01-introduction
Pharo 11: A stabilization release
Contributing to Pharo 18
Pharo Update
Pharo Update
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
A Taste of Pharo 7.0
Pharo Status
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
Pharo
Pharo GitLab Example: This is a simple Pharo Smalltalk pipeline example
Ad

More from Guille Polito (9)

PDF
Run-Fail-Grow: Creating Tailored Object Oriented Runtimes
PDF
PADR - Engineering for Reseach
PDF
First-class undefined classes for Pharo
PDF
Oz Object Spaces - Uqbar Workshop 2013 (spanish)
PDF
Going Native With DBXTalk - Smalltalks 2013
PDF
Virtual Smalltalk Images - IWST - ESUG 2013
PDF
Where am I in my Phd - October 2012
PDF
Bootstrapping a Smalltalk - Smalltalks 2012
PDF
DBXTalk - Smalltalks 2011
Run-Fail-Grow: Creating Tailored Object Oriented Runtimes
PADR - Engineering for Reseach
First-class undefined classes for Pharo
Oz Object Spaces - Uqbar Workshop 2013 (spanish)
Going Native With DBXTalk - Smalltalks 2013
Virtual Smalltalk Images - IWST - ESUG 2013
Where am I in my Phd - October 2012
Bootstrapping a Smalltalk - Smalltalks 2012
DBXTalk - Smalltalks 2011

Recently uploaded (20)

PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
"Secure File Sharing Solutions on AWS".pptx
PDF
Types of Token_ From Utility to Security.pdf
PPTX
Tech Workshop Escape Room Tech Workshop
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PDF
Website Design Services for Small Businesses.pdf
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
iTop VPN Crack Latest Version Full Key 2025
PPTX
Cybersecurity: Protecting the Digital World
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PDF
Cost to Outsource Software Development in 2025
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
MCP Security Tutorial - Beginner to Advanced
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Autodesk AutoCAD Crack Free Download 2025
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
"Secure File Sharing Solutions on AWS".pptx
Types of Token_ From Utility to Security.pdf
Tech Workshop Escape Room Tech Workshop
Oracle Fusion HCM Cloud Demo for Beginners
How Tridens DevSecOps Ensures Compliance, Security, and Agility
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Website Design Services for Small Businesses.pdf
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
iTop VPN Crack Latest Version Full Key 2025
Cybersecurity: Protecting the Digital World
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
Cost to Outsource Software Development in 2025
Why Generative AI is the Future of Content, Code & Creativity?
MCP Security Tutorial - Beginner to Advanced

Understanding the Pharo dev Process