Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automate the Small Things - Chicago Roboto '19

Automate the Small Things - Chicago Roboto '19

Mobile moves fast, and so do you. To meet your deadlines, you want to build the right thing, at the right time; every time.

Your continuous integration pipeline allows you to do this, but can it do more?

- How can you enforce coding formatting, styling conventions, and best practices?
- Do you build everything on every commit? Do you have a daily build or customize your build per branch?
- What do you record and analyze? Are your tests passing? Is your apk getting too large?
- How do you distribute your apk for testing and release?

In this talk, you'll what tools are available at every step of the continuous integration pipeline; allowing you to automate as much as possible and dedicate your time to what matters most.

Nate Ebel

April 26, 2019
Tweet

More Decks by Nate Ebel

Other Decks in Programming

Transcript

  1. @n8ebel 31 “Git hooks are scripts that Git executes before

    or after events such as: commit, push, and receive.” CODE FORMATTING https://githooks.com/
  2. @n8ebel 37 Now We Can Prevent Pushes That Will Fail,

    And Share With The Team CODE FORMATTING
  3. @n8ebel .github/pull_request_template.md 43 • Link to issue • Describe changes

    • Additional context • Checklists • Screenshots
  4. @n8ebel Bonus Tip 45 Close issues via keyword • ‘Closes’

    • ‘Fixes’ • ‘Resolves’ • etc...
  5. @n8ebel “Danger runs during your CI process, and gives teams

    the chance to automate common code review chores.” 47
  6. @n8ebel • Need a Gemfile • Add `gem ‘danger’` •

    `bundle install` • `bundle exec danger init` 49
  7. @n8ebel And more… • Android Lint • String translations •

    Change in APK size • Test coverage • etc... 58
  8. @n8ebel • https://proandroiddev.com/ooga-chaka-git-hooks-to-enforce-code-quality-11ce8d0d23cb • https://githooks.com/ • https://circleci.com/ • https://help.github.com/en/articles/creating-a-pull-request-template-for-your-repository •

    https://help.github.com/en/articles/closing-issues-using-keywords • https://danger.systems/ruby/ • https://danger.systems/guides/getting_started.html#including-danger • https://blog.bitrise.io/automating-code-review-tasks-for-multi-module-android-projects • https://github.com/Triple-T/gradle-play-publisher • https://try.crashlytics.com/beta/ • https://github.com/noboru-i/danger-checkstyle_format 69