It's 2024 and we have tools like ffmpeg, imagemagick and GPT readily available. With them, it's easy to...
The author describes his little journey in hunting down a memory leak. Maybe his approach and tooling may one day...
You can chain multiple Capybara matchers on the page or any element: expect(page) .to have_content('Example Course')
I recently noticed a new kind of flaky tests on the slow free tier GitHub Action runners: Integration tests were...
Any form fields where users enter numbers should be an . Numeric inputs have several benefits over : On mobile or tablet...
Usually our code lives on GitLab, therefore our documentation for CI testing is extensive in this environment. If you are...
Sometimes you have a file that is related to a project, while not actually being part of it. You'd...
tl;dr We recommend configuring Selenium's unhandled prompt behavior to { default: 'ignore' }. When running tests in a real browser...
A Rails script lives in lib/scripts and is run with bin/rails runner lib/scripts/.... They are a simple tool to perform...
Here are some hints on best practices to maintain your tasks in larger projects. Rake Tasks vs. Scripts
I recently did a quick research on how to better write down multiline statements like this: # Dockerfile RUN export DEBIAN...
You can ignore certain commits when using git blame with the --ignore-revs-file option. This is handy to ignore...
The linked article suggests an interesting way to speed up tests of Rails + Postgres apps: PostgreSQL allows the creation of...
In the Gitlab settings the flag Auto-cancel redundant pipelines is enabled by default. This auto-cancels pipelines with jobs...
A general overview about why and how we migrate can be found under Migrating from Elasticsearch to Opensearch
In Capistrano 3, your Capfile requires 'capistrano/rails/migrations', which brings two Capistrano tasks: deploy:migrate and deploy:migrating. The former checks...
When you find similar groups of expect calls in your tests, you can improve readability by extracting the group into...
If you ever need to restore exact records from one database to another, Marshal might come in handy. Marshal.dump is...
While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...
On the Rails console, assigning an object to a variable can lead to this strange error (without stacktrace): irb > recipient...
I recently stumbled over a problem that my feature tests broke in CI because of a mismatching chromedriver version.
View specs are a powerful tool to test several rendering paths by their cases instead of using a more costing...
The recommended additional setup of the spreewald gem, a useful set of cucumber steps, includes adding a file for defining...
We regularly have tasks that need to be performed around a deploy. Be it to notify operations about changed application...