smalltalkCI A Continuous Integration Framework for Smalltalk Projects Fabio Niephaus Hasso Plattner Institute University of Potsdam, Germany [email protected]Dale Henrichs GemTalk Systems [email protected]Marcel Taeumel Hasso Plattner Institute University of Potsdam, Germany [email protected]Tobias Pape Hasso Plattner Institute University of Potsdam, Germany [email protected]Tim Felgentreff Hasso Plattner Institute University of Potsdam, Germany [email protected]Robert Hirschfeld Hasso Plattner Institute University of Potsdam, Germany [email protected]IWST 2016, Prague, Czech Republic 08/23/2016
23
Embed
smalltalkCI: A Continuous Integration Framework for Smalltalk Projects
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
smalltalkCIA Continuous Integration Framework for Smalltalk Projects
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
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Toolchain For Students
5
LocalRepository
RemoteRepository
TravisCIrunning
builderCI
Metacello Package Manager
Squeak Project
FileTree
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
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Smalltalk Support on TravisCI
7
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
EXAMPLE PROJECT
8
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
9
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.
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Example .travis.yml
11
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Seaside On TravisCI
12
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Seaside On TravisCI
13
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Build Failure Example
14
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Projects Using smalltalkCI
15
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
FUTURE WORK
16
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Try Out More CI Services
17
GitLab CI
…
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present
smalltalkCI – Paper Presentation – IWST ‘16
Add More Smalltalk Images
18
Moose
…
Cuis Etoys
Software Architecture Group (www.hpi.uni-potsdam.de/swa) 2006-present