Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pedantic Elixir Builds
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Andrew Summers
January 23, 2019
Technology
1
170
Pedantic Elixir Builds
Setting up pedantic Elixir builds in 2019
Andrew Summers
January 23, 2019
Tweet
Share
More Decks by Andrew Summers
See All by Andrew Summers
Domain Specific Languages and Metaprogramming
asummers
1
440
Gardening An Elixir Application
asummers
1
95
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
5.5k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
1
190
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
430
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
130
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
800
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
170
なぜ今、コスト最適化(倹約)が必要なのか? ~AWSでのコスト最適化の進め方「目的編」~
htan
1
110
Webhook best practices for rock solid and resilient deployments
glaforge
1
260
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
170
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
The agentic SEO stack - context over prompts
schlessera
0
630
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Abbi's Birthday
coloredviolet
1
4.7k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
WENDY [Excerpt]
tessaabrams
9
36k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
How to make the Groovebox
asonas
2
1.9k
How to build a perfect <img>
jonoalderson
1
4.9k
Transcript
Pedantic Elixir Builds Andrew Summers 2019-01-23
None
Who? • Backend Software Engineer at albert.io • Wrote Dialyzer
pretty printer • Maintainer of Dialyxir, Erlex, elixir-lsp packages • Contributor to many others!
What? • Set up CI with pedantic builds • Recipe
for contributing to open source • Improve code quality at work using tools
How? • Turn on all current tooling to maximum pedantry
• Add extra checks according to your team's conventions • Set up continuous integration every build using e.g. Travis, Circle CI, Jenkins • Reject pull requests that do not satisfy all checks
• Travis (Continuous Integration) • Compiler (warnings as errors) •
Formatter • Credo (linter) • ExUnit (tests) • Dialyzer (type checker) • Sobelow (security)
• Good first PR to fix warnings and prevent them
in future • Surprising how many open source projects have errors! mix compile --warnings-as-errors
• Elixir 1.6+ • Consistent code in ecosystem mix format
--check-formatted
• Elixir linter • Turn on as many optional rules
as you can handle • Add your own rules to e.g. enforce defp type specs mix credo list --strict
• Write more tests, you don't have enough. • Consider
property testing mix test
• Erlang type checker, sometimes lies • Full PLT analysis
cache rebuild on Elixir, Erlang version change, partial rebuild on dependency changes mix dialyzer --halt-exit-status
• Security analysis tool • Scans for e.g. String.to_atom/1, SQL
injection mix sobelow --exit low
Other tools • coveralls, via ExCoveralls for coverage analysis •
dependabot for keeping dependencies up to date • inch for documentation analysis
• https://bit.ly/2Mumw25 •
asummers _asummers Thanks!