---
title: This Week in Open Source
teaser: Recent thoughtbot open source updates.
tags: news,open source,this week in open source
author: Sara Jackson
published_on: 2024-05-15
---

I've expanded on the definition of "this week" to actually mean "3 weeks that
occured in March." 👀 At least for today.

The theme of this edition is dynamic README workflows. Have you heard the word?
You can read more about the work Stefanni Brasil
([stefannibrasil](https://github.com/stefannibrasil)) and Akshith Yellapragada
([ayellapragada](https://github.com/ayellapragada)) did in this
[this blog post](https://thoughtbot.com/blog/automate-processes-with-reusable-github-workflows).

A summary of thoughtbot open source projects that have had the workflow added
can be seen at the [end of this post](#dynamic-readme-workflow-🚀).

The following projects were contributed to between March 1st and March 22nd:

- [Administrate](#administrate)
- [AWS Database Modules for Terraform](#aws-database-modules-for-terraform)
- [ClearanceI18n](#clearancei18n)
- [thoughtbot dotfiles](#thoughtbot-dotfiles)
- [ESLint Config](#eslint-config)
- [factory\_bot](#factory_bot)
- [factory\_bot\_rails](#factory_bot_rails)
- [Flightdeck](#flightdeck)
- thoughtbot's [Guides](#guides)
- [Shoulda Context](#shoulda-context)
- [Shoulda Matchers](#shoulda-matchers)
- thoughtbot's documentation [templates](#templates)

## [Administrate](https://github.com/thoughtbot/administrate)

[Administrate](https://github.com/thoughtbot/administrate) is a framework for
creating flexible, powerful admin dashboards in Rails.

[dependabot[bot]](https://github.com/apps/dependabot)
bumped the versions of `yard`
([5cae8e2](https://github.com/thoughtbot/administrate/commit/5cae8e2af5b6510e8736666ce32ab2802263a30c)),
`pg`
([03ddef0](https://github.com/thoughtbot/administrate/commit/03ddef0eb40fd6f530d637f348b8ef4edf80e758)),
`launchy`
([c11604b](https://github.com/thoughtbot/administrate/commit/c11604ba94cc7c5c4086e7c6c941a4aebb4c5666)),
`standard`
([d27c1e0](https://github.com/thoughtbot/administrate/commit/d27c1e0257602df83d8f221bc3adb3b479265e0f)),
`sentry-ruby` and `sentry-rails`
([c28c72c](https://github.com/thoughtbot/administrate/commit/c28c72c63314bafa7b42897e99e119a8cc18def1)),
and `shoulda-matchers`
([af5f258](https://github.com/thoughtbot/administrate/commit/af5f258c6fc2b1ace03c835e4e93dc846eb2231e)).

## [AWS Database Modules for Terraform](https://github.com/thoughtbot/terraform-aws-databases)

[AWS Database Modules for Terraform](https://github.com/thoughtbot/terraform-aws-databases)
provides Terraform modules to provision databases on AWS.

Olamide ([OlamideOl1](https://github.com/OlamideOl1))
added EC2 instance datasource for instance attributes
([0112b03](https://github.com/thoughtbot/terraform-aws-databases/commit/0112b03a28d22d95f6cdb5cddfdbb5406f3853e1))
and created a cloudwatch alarm to monitor database connection count
([2a85e8f](https://github.com/thoughtbot/terraform-aws-databases/commit/2a85e8fa4a0e793735a02a9994aca3b858ede150)).

## [ClearanceI18n](https://github.com/thoughtbot/clearance-i18n)

[ClearanceI18n](https://github.com/thoughtbot/clearance-i18n) provides
translations for [Clearance](https://github.com/thoughtbot/clearance).

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil))
removed the copyright ending year from the README
([f72851c](https://github.com/thoughtbot/clearance-i18n/commit/f72851c37add63f01c9207e6f03003b7007d8cd4)).

## [thoughtbot dotfiles](https://github.com/thoughtbot/dotfiles)

[thoughtbot dotfiles](https://github.com/thoughtbot/dotfiles) is a set of vim,
zsh, git, and tmux configuration files.

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil)),
aka [Carmen Brasil](https://en.wikipedia.org/wiki/Carmen_Sandiego),
removed the copyright ending year from the README
([d33c75d](https://github.com/thoughtbot/dotfiles/commit/d33c75dd398d93c2c9bb755fd7f58135c48aea69)).

## [ESLint Config](https://github.com/thoughtbot/eslint-config)

thoughtbot's [ESLint Config](https://github.com/thoughtbot/eslint-config) is a
batteries-included sharable ESLint configurations for React, React Native,
TypeScript, and Node.js that enforce
[thoughtbot's JavaScript guides](https://github.com/thoughtbot/guides/tree/main/javascript).

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil))
fixed a typo in workflows
([3081c62](https://github.com/thoughtbot/eslint-config/commit/3081c62820d358fe5c2e6f05258de08a01c0f1cb)).

## [factory\_bot](https://github.com/thoughtbot/factory_bot)

[factory\_bot](https://github.com/thoughtbot/factory_bot) is a library for
setting up Ruby objects as test data.

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil))
removed the copyright ending year from the README
([817409d](https://github.com/thoughtbot/factory_bot/commit/817409d9d3b35b2b482e62f122290ef4a8a48976)).

## [factory\_bot\_rails](https://github.com/thoughtbot/factory_bot_rails)

[factory\_bot\_rails](https://github.com/thoughtbot/factory_bot_rails) provides
Rails integration for [factory\_bot](https://github.com/thoughtbot/factory_bot).

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil))
updated the copyright year range
([3e74b65](https://github.com/thoughtbot/factory_bot_rails/commit/3e74b65ef95e1018971303dda4de5a44153a9d75))
and removed the copyright ending year
([ed250a4](https://github.com/thoughtbot/factory_bot_rails/commit/ed250a4a72004c7d3b82164f5ca6bb25b1337989)).

## [Flightdeck](https://github.com/thoughtbot/flightdeck)

[Flightdeck](https://github.com/thoughtbot/flightdeck) provides Terraform
modules for rapidly building production-grade Kubernetes clusters following SRE
practices.

Olamide ([OlamideOl1](https://github.com/OlamideOl1))
enabled a country selection filter for AWS WAF
([778d3ea](https://github.com/thoughtbot/flightdeck/commit/778d3ea8449922e21eabd43c66e67fe587517115))

## [Guides](https://github.com/thoughtbot/guides)

thoughtbot's [Guides](https://github.com/thoughtbot/guides) for working
together, getting things done, programming well, and programming in style.

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil))
fixed a typo
([adca0f6](https://github.com/thoughtbot/guides/commit/adca0f6bbad5b7a85edea63e887be5fb58b3863a))
and deleted a folder with a typo
([f2d9579](https://github.com/thoughtbot/guides/commit/f2d95793d95e502b26b1564b4142457ee9746108)).

Matheus Sales ([matsales28](https://github.com/matsales28))
updated links to 'thoughtbot.com/blog'
([bc958ac](https://github.com/thoughtbot/guides/commit/bc958acc4312e969ded0f93b7c30b373f291757b)).

## [Shoulda Context](https://github.com/thoughtbot/shoulda-context)

[Shoulda Context](https://github.com/thoughtbot/shoulda-context) makes it easy
to write understandable and maintainable tests under Minitest and Test::Unit
within Rails projects or plain Ruby projects.

[Earlopain](https://github.com/Earlopain)
fixed a method redefinition warning
([36d5c38](https://github.com/thoughtbot/shoulda-context/commit/36d5c380ead406d48587bdbfdc9d8b06a4efce9c)).

## [Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers)

[Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers) provides
simple one-liner tests for common Rails functionality.

Matheus Sales ([matsales28](https://github.com/matsales28)) and
Mateusz Świszcz ([mswiszcz](https://github.com/mswiszcz))
added a new matcher - `have_delegated_type`
([efd1b39](https://github.com/thoughtbot/shoulda-matchers/commit/efd1b39db0326b3eb19656b91a62cc742a850f32)).

Matheus Sales also released version 6.2.0
([4a3c62e](https://github.com/thoughtbot/shoulda-matchers/commit/4a3c62e9d61cc5130ec35cdb3be603a9c3cf587f)),
and updated the dependencies of the rails-6.1 gemfile
([804caf3](https://github.com/thoughtbot/shoulda-matchers/commit/804caf3e2497934c8f7521897d5bdee6a4c4ec70)),
the rails-7.1 gemfile
([4c52097](https://github.com/thoughtbot/shoulda-matchers/commit/4c52097cbb8fa6f06f3cb8c18a947fc7f499a74b)),
and the rails-7.0 gemfile
([33bec1c](https://github.com/thoughtbot/shoulda-matchers/commit/33bec1c26e62437aa7f623c8fcdd49eb34e71076)).

Iliana Hadzhiatanasova ([ilianah](https://github.com/ilianah))
added lazy loading for ActionController::TestCase
([2793b9b](https://github.com/thoughtbot/shoulda-matchers/commit/2793b9b6e22c348a8de38138daa92bb25307a4ee)).

## [Templates](https://github.com/thoughtbot/templates)

thoughtbot's documentation [templates](https://github.com/thoughtbot/templates)
for open source projects.

Stefanni Brasil ([stefannibrasil](https://github.com/stefannibrasil)),
Mina Slater ([minaslater](https://github.com/minaslater)),
Akshith Yellapragada ([ayellapragada](https://github.com/ayellapragada)),
and Nick Charlton ([nickcharlton](https://github.com/nickcharlton))
added a trigger for workflow\_dispatch to update repos
([dca768d](https://github.com/thoughtbot/templates/commit/dca768d71504cbf0e7b15281a8da95108d5a7813)).

Stefanni also updated the dynamic README template
([f7fedf2](https://github.com/thoughtbot/templates/commit/f7fedf2844ecd0a95e76eb3139f29f976e649ef6)),
updated footer.md to trigger workflow\_dispatch
([6e9c866](https://github.com/thoughtbot/templates/commit/6e9c866e1b5ef363f058fdcd48bd063ed3363c38)),
removed the testing repo from workflow
([f265874](https://github.com/thoughtbot/templates/commit/f265874716b753edb0329a26669af06ac6e2b2c4)),
added repositories to be triggered when the template is updated
([011ad75](https://github.com/thoughtbot/templates/commit/011ad75a60f3887ef6aa753b5a94e91bd7940a30)),
updated footer.md with previous copy
([738afc4](https://github.com/thoughtbot/templates/commit/738afc41db878ac27fefe23e9eefdad13b912ff5)),
and added remaining repos to be updated when this workflow is triggered
([b895b4c](https://github.com/thoughtbot/templates/commit/b895b4c3b9d36e9ab39ee3fb176016bf9c886f7f)).

## Dynamic README Workflow 🚀

Stefanni Brasil
([stefannibrasil](https://github.com/stefannibrasil)) added the dynamic README
workflow to the following repos during this time period:
([Bourbon](https://github.com/thoughtbot/bourbon/commit/d5d6026535c137a5c73def3b7dcda76bc615083d)),
([ClearanceI18n](https://github.com/thoughtbot/clearance-i18n/commit/6ad370f095eebc9afe5aafe9aa5b3eb9c419cbbe)),
([thoughtbot design system](https://github.com/thoughtbot/design-system/commit/5633b3a94a9bf3bee4ff2bd7d76873bfcecfe7e5)),
([thoughtbot dotfiles](https://github.com/thoughtbot/dotfiles/commit/fc319ccd8fd663d3d69a9b6ef77db48a9fececdf)),
([ESLint Config](https://github.com/thoughtbot/eslint-config/commit/0a6437706e791ba4687a29bc9e7d5d3b26c0bb1b)),
([factory\_bot](https://github.com/thoughtbot/factory_bot/commit/2549f286fc5f31d583729c4de782bc2832c1b4d6)),
([factory\_bot\_rails](https://github.com/thoughtbot/factory_bot_rails/commit/6fe6a95972776a46872bb171ebbe8fabfb13229c)),
([Flightdeck](https://github.com/thoughtbot/flightdeck/commit/650e78b82102613f7f55b6c205b1ceb09a0dbdd7)),
([GoldMiner](https://github.com/thoughtbot/gold_miner/commit/675a7da20076d44698f7246683dae2f55b53f084)),
([Griddler](https://github.com/thoughtbot/griddler/commit/57e64034c23edab1d51463c230fd8c9e35990797)),
([thoughtbot Guides](https://github.com/thoughtbot/guides/commit/1fe339fd58d69c4f33129a141f46cefb3db2f08c)),
([Humid](https://github.com/thoughtbot/humid/commit/bc9a4ba8a839a3ba0b2f63129aaabc7c4d54f44b)),
([Laptop](https://github.com/thoughtbot/laptop/commit/bd3a5d6be201aa259df94960061507312a9e84fb)),
([Resolved](https://github.com/thoughtbot/resolved/commit/e54f9fe1266065f47494c7febc6d8ac24b1fceab)),
([Ruby Science](https://github.com/thoughtbot/ruby-science/commit/06e9fd1e80435ada6f4cffc3be285e069364b2fd)),
([Shoulda Context](https://github.com/thoughtbot/shoulda-context/commit/982bbb01b04b2c5e5955d0ecc6a01ea63c13c02f)),
([Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers/commit/05f2c6f39c3d41a27ef3ac7a64110747a6e01c24)),
([Terraform AWS Secrets](https://github.com/thoughtbot/terraform-aws-secrets/commit/6f43851b29921ff2b95ad9e17a85affb52c41c92)),
([Terraform S3 Bucket](https://github.com/thoughtbot/terraform-s3-bucket/commit/983645196ced074bbb9d1045ea95132bfba1c3bc)),
([AWS Database Modules for Terraform](https://github.com/thoughtbot/terraform-ses-domain-identity/commit/85c83c5363c45315d4a98772c713441af7892a42)),
and ([Upcase](https://github.com/thoughtbot/upcase/commit/17a81853b457d94777111125351ef7f3706aec0a)).

---

✨ Have you considered contributing to open source? There's a project out there
for you! Visit our [Open Source page](https://thoughtbot.com/open-source) to
learn more about our team's projects and contributions. While you're there,
consider contributing to one of our projects.
