Successfully reported this slideshow.
Your SlideShare is downloading. ×

smalltalkCI: A Continuous Integration Framework for Smalltalk Projects

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
smalltalkCI
A Continuous Integration Framework for Smalltalk Projects
Fabio Niephaus
Hasso Plattner Institute
University o...
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Our Moti...
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
GitHub
•...

YouTube videos are no longer supported on SlideShare

View original on YouTube

Check these out next

1 of 24 Ad
Advertisement

More Related Content

Similar to smalltalkCI: A Continuous Integration Framework for Smalltalk Projects (20)

More from ESUG (20)

Advertisement

Recently uploaded (20)

smalltalkCI: A Continuous Integration Framework for Smalltalk Projects

  1. 1. smalltalkCI A Continuous Integration Framework for Smalltalk Projects Fabio Niephaus Hasso Plattner Institute University of Potsdam, Germany fabio.niephaus@student.hpi.de Dale Henrichs GemTalk Systems dale.henrichs@gemtalksystems.com Marcel Taeumel Hasso Plattner Institute University of Potsdam, Germany marcel.taeumel@hpi.de Tobias Pape Hasso Plattner Institute University of Potsdam, Germany tobias.pape@hpi.de Tim Felgentreff Hasso Plattner Institute University of Potsdam, Germany tim.felgentreff@hpi.de Robert Hirschfeld Hasso Plattner Institute University of Potsdam, Germany robert.hirschfeld@hpi.de IWST 2016, Prague, Czech Republic 08/23/2016
  2. 2. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Our Motivation SWE lectures • Student teams work on a project in Squeak/Smalltalk • Introduction to: – Version Control Management Systems – Continuous Integration 2
  3. 3. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 GitHub • Hosting platform for Git repositories • Features – Issue tracking – Wiki – Markdown – Pull Requests and Forking – Integrations (e.g. Slack, Trello, ...) – … 3
  4. 4. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 TravisCI • Hosted, distributed continuous integration service for project hosted at GitHub • Features – Builds project after each code push – Free for public repositories – Supports a broad range of programming languages (including Smalltalk) and build environments – Notifications via Email/Slack/IRC/Webhooks/… – Automatic deployment after successful builds – … 4
  5. 5. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Toolchain For Students 5 Local Repository Remote Repository TravisCI running builderCI Metacello Package Manager Squeak Project FileTree
  6. 6. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Some Design Goals And Decisions • Compatible to different Smalltalk dialects • Fast feedback loop • Lightweight – Few dependencies – Small bootstrapping code base and total file size • Reliable – Self-contained (minimum number of external resources) – Perform self-tests (“Eat your own dog food”) – Dedicated config file (similar to Gemfile or package.json) • Extensible – Easy to add features and support other dialects/environments • Debuggable – Various debug options – Reproducible builds 6
  7. 7. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Smalltalk Support on TravisCI 7
  8. 8. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 EXAMPLE PROJECT 8
  9. 9. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 9
  10. 10. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Example .smalltalk.ston 10 For full documentation, check out smalltalkCI’s README.md.
  11. 11. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Example .travis.yml 11
  12. 12. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Seaside On TravisCI 12
  13. 13. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Seaside On TravisCI 13
  14. 14. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Build Failure Example 14
  15. 15. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Projects Using smalltalkCI 15
  16. 16. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 FUTURE WORK 16
  17. 17. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Try Out More CI Services 17 GitLab CI …
  18. 18. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Add More Smalltalk Images 18 Moose … Cuis Etoys
  19. 19. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Support for Different VMs 19 SqueakJS RSqueak/VMOpenSmalltalkVM (e.g. latest + stable) …
  20. 20. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Improve Tooling For Git • Get rid of two-commit workflow • Use metadata-less FileTree by default 20
  21. 21. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Simplify First Steps • Uniform way to load projects from GitHub • One-click tryout in browser via SqueakJS 21
  22. 22. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Conclusion smalltalkCI… • makes it easy to CI test Smalltalk projects • enables easy access to free CI services • runs locally and provides various debugging options • is already used by more than 100 projects on GitHub 22
  23. 23. Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present smalltalkCI – Paper Presentation – IWST ‘16 Contribute! Questions? Ideas? 23

×