Keep Your README Install Instructions Up To Date

Tags

Checklist

By default, all new generated Elixir apps via mix new include a nice installation snippet in the README.md.

However, I am always forgetting to update the version constraint in the README.md whenever I bump my app to a new version. Well, no more, after using this simple unit test:

test "README install version check" do
  app = :my_app

  app_version = "#{Application.spec(app, :vsn)}"
  readme = File.read!("README.md")
  [_, readme_versions] = Regex.run(~r/{:#{app}, "(.+)"}/, readme)

  assert Version.match?(
           app_version,
         readme_versions
         ),
         """
         Install version constraint in README.md does not match to current app version.
         Current App Version: #{app_version}
         Readme Install Versions: #{readme_versions}
         """
end

Of course you will need to update the app value to whatever your app’s name is.

Enjoy!

DockYard is a digital product agency offering exceptional strategy, design, full stack engineering, web app development, custom software, Ember, Elixir, and Phoenix services, consulting, and training.