SlideShare a Scribd company logo
Ignacio Burgueño
Lua Workshop 2015
Stockholm, Sweden
About Me
Ignacio Burgueño
Software Developer at inConcert
@iburgueno
https://github.com/ignacio
What will be talking about?
● Improving your code using known techniques and
free tools
● Testing on different platforms and with different
configurations
● ...without working too much
"Continuous Integration is a software
development practice where members of a team
integrate their work frequently ... verified by an
automated build (including test) to detect
integration errors"
- Martin Fowler
Build Automation
● Source code repository
● Script to drive the Build
● Script to run the Tests
Source code repository
A script to drive the build
“Build processes are boring and monotonous
and anytime a task becomes boring and
monotonous it's ripe for humans to screw it
up as our brains turn of and our mind drifts.”
- Ron Gilbert
A script to drive the tests
./run_the_tests.sh
● LuaUnit
● Busted
● Telescope
● Lua-TestMore
● assert
Why Automate?
Why?
Maybe?
Should I…?
I definitely should...
Automate!
Continuous Integration as a Service
Always be testing
Always be testing
Always be testing
Always be testing
Always be testing
Always be testing
We'll focus on two
Pull request integration?
For regular commits too...
How do they work?
Example .travis.yml
Example appveyor.yml
Supported Languages
What about Lua?
lua-travis-example
(by Alexey Melnichuk)
https://github.com/moteus/lua-travis-example
lua-appveyor-example
(by yours truly)
https://github.com/ignacio/lua-appveyor-example/
Case study: elasticsearch-lua
https://github.com/DhavalKapil/elasticsearch-lua
Case study: elasticsearch-lua
Case study: elasticsearch-lua
https://github.com/DhavalKapil/elasticsearch-lua/pull/6/files
https://travis-ci.org/DhavalKapil/elasticsearch-lua/builds/81672970
Case study: lua-rapidjson
https://ci.appveyor.com/project/ignacio/lua-rapidjson
Useful guides
Continuous Integration for Lua with Travis (Pierre Chapuis)
http://blog.separateconcerns.com/2015-03-08-travis-lua.html
Testing is fun, CI even more so (Peter Aronoff)
http://ithaca.arpinum.org/2015/07/14/lua-bitbucket-ci-droneio.html
Always be testing
Thanks!
Ignacio Burgueño
Lua Workshop 2015
Stockholm, Sweden

More Related Content

PDF
How to approach building GUIs using PyQT
PDF
PyQt: rapid application development
ODP
PyQt Application Development On Maemo
PPTX
Introduction of programming tips site
ODP
Avoiding common pitfalls of datetime from a webapp's perspective
PPT
icebreakerwithdevops-150218112943-conversion-gate02
PDF
Eric tucker - Eliminating "Over the Fence"
PDF
Going to library with angular
How to approach building GUIs using PyQT
PyQt: rapid application development
PyQt Application Development On Maemo
Introduction of programming tips site
Avoiding common pitfalls of datetime from a webapp's perspective
icebreakerwithdevops-150218112943-conversion-gate02
Eric tucker - Eliminating "Over the Fence"
Going to library with angular

What's hot (20)

PDF
Designing functional and fluent API: application to some GoF patterns
PPTX
Prototype4Production Presented at FOSSASIA2015 at Singapore
PPTX
Pair programming
PDF
PHP vs Node.js
PPTX
Me&g@home
ODP
Behaviour Driven Development Hands-on
PDF
DevOps Anti-Patterns
PDF
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
ODP
Test Driven Development (TDD) with Windows PowerShell
PDF
VN Tech Seminor Vol.3 Hubot Tutorial
PDF
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
PPTX
ChatBots for self-service DevOps
ODP
What's unique to Qt
PDF
LF_APIStrat17_Developer Portals - When Docs Become DX
PDF
Using twig as rendering system for your Joomla extensions
PDF
Introduction to Python
ODP
Beginning python programming
PPTX
Typescript kata The TDD style 2 edition
PPTX
How do we test nodejs apps?
PPTX
Develop faster on Magento 2 using code generation tools
Designing functional and fluent API: application to some GoF patterns
Prototype4Production Presented at FOSSASIA2015 at Singapore
Pair programming
PHP vs Node.js
Me&g@home
Behaviour Driven Development Hands-on
DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
Test Driven Development (TDD) with Windows PowerShell
VN Tech Seminor Vol.3 Hubot Tutorial
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
ChatBots for self-service DevOps
What's unique to Qt
LF_APIStrat17_Developer Portals - When Docs Become DX
Using twig as rendering system for your Joomla extensions
Introduction to Python
Beginning python programming
Typescript kata The TDD style 2 edition
How do we test nodejs apps?
Develop faster on Magento 2 using code generation tools
Ad

Similar to Always be testing (20)

ODP
Lighning Talk: PHP build process
PPTX
What is dev ops?
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
PDF
Python Django Intro V0.1
PDF
Services, tools & practices for a software house
PDF
Agile Development: Key to smart software development
PDF
Continuous Integration In Php
PDF
Continuous integration (eng)
ODP
DevOps presentation
PDF
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
PDF
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
PDF
Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automa...
ODP
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
PDF
Stop Sucking at Building Stuff!
PDF
Survival of the Continuist
ODP
Build and Deploy a Python Web App to Amazon in 30 Mins
PPTX
How Intuit is overhauling legacy engineering practices at scale with innersource
PDF
Debugging 2013- Lars pedersen
PDF
UPC Plone Testing Talk
PDF
CI/CD: Lessons from LinkedIn and Mockito
Lighning Talk: PHP build process
What is dev ops?
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Python Django Intro V0.1
Services, tools & practices for a software house
Agile Development: Key to smart software development
Continuous Integration In Php
Continuous integration (eng)
DevOps presentation
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automa...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
Stop Sucking at Building Stuff!
Survival of the Continuist
Build and Deploy a Python Web App to Amazon in 30 Mins
How Intuit is overhauling legacy engineering practices at scale with innersource
Debugging 2013- Lars pedersen
UPC Plone Testing Talk
CI/CD: Lessons from LinkedIn and Mockito
Ad

Recently uploaded (20)

PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
Artificial Intelligence
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
PPTX
communication and presentation skills 01
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPTX
Nature of X-rays, X- Ray Equipment, Fluoroscopy
PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
PPTX
Fundamentals of Mechanical Engineering.pptx
PDF
Soil Improvement Techniques Note - Rabbi
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PDF
PPT on Performance Review to get promotions
PPT
Total quality management ppt for engineering students
PPTX
introduction to high performance computing
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Artificial Intelligence
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
III.4.1.2_The_Space_Environment.p pdffdf
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
communication and presentation skills 01
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
Nature of X-rays, X- Ray Equipment, Fluoroscopy
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
Fundamentals of Mechanical Engineering.pptx
Soil Improvement Techniques Note - Rabbi
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Fundamentals of safety and accident prevention -final (1).pptx
PPT on Performance Review to get promotions
Total quality management ppt for engineering students
introduction to high performance computing

Always be testing