Craig Atkinson
Home
Blog
About
  • Integrating database access and management with Flyway and jOOQ into a Kotlin Ktor app

    Feb 28, 2021 Kotlin Ktor jOOQ database Gradle Docker Postgres

    One of my goals when I started a learning project a couple of years ago was to get more hands-on experience with Kotlin co-routines, so I explored app frameworks that natively supported co-routines. I landed on Ktor, an open-source framework from JetBrains (creators of Kotlin) that supports co-routines throughout the …

    Read More
  • Individually release different artifacts from monorepo with GitHub Actions using tags

    Feb 24, 2021 CI github github actions

    For the Projektor open-source test reporting project I wanted to keep all the code in a single mono repo to make it easy to work on and manage. But over time as the project evolved it grew into multiple deployable artifacts, and I wanted to be able to release each of those components independently as needed: Server …

    Read More
  • Kotlin test assertions with informative failure messages using Strikt

    Feb 21, 2021 kotlin testing

    When I started writing Kotlin code a couple of years ago, one of the main things I missed after previously writing tests with Groovy/Spock were the easy yet powerful assertions with Groovy's power assert - not to mention the expressive failure messages when a test failed. Groovy's power assert prints out the …

    Read More

Craig Atkinson

Software engineer, continually curious, highly caffeinated.
Read More

Recent Posts

  • Integrating database access and management with Flyway and jOOQ into a Kotlin Ktor app
  • Individually release different artifacts from monorepo with GitHub Actions using tags
  • Kotlin test assertions with informative failure messages using Strikt

Categories

DEVELOPMENT 3 CI 1 TESTING 1

Tags

KOTLIN 2 CI 1 DATABASE 1 DOCKER 1 GITHUB 1 GITHUB-ACTIONS 1 GRADLE 1 INDEX 1 JOOQ 1 KTOR 1 POSTGRES 1 TESTING 1

Copyright © 2021 CRAIG ATKINSON. All Rights Reserved