Hugo Dutka
1bfa7d42e8
chore: add postgres template caching for tests ( #15336 )
...
This PR is the first in a series aimed at closing
[#15109 ](https://github.com/coder/coder/issues/15109 ).
### Changes
- **Template Database Creation:**
`dbtestutil.Open` now has the ability to create a template database if
none is provided via `DB_FROM`. The template database’s name is derived
from a hash of the migration files, ensuring that it can be reused
across tests and is automatically updated whenever migrations change.
- **Optimized Database Handling:**
Previously, `dbtestutil.Open` would spin up a new container for each
test when `DB_FROM` was unset. Now, it first checks for an active
PostgreSQL instance on `localhost:5432`. If none is found, it creates a
single container that remains available for subsequent tests,
eliminating repeated container startups.
These changes address the long individual test times (10+ seconds)
reported by some users, likely due to the time Docker took to start and
complete migrations.
2024-11-04 17:23:31 +01:00
..
2024-11-01 14:17:05 +11:00
2024-03-13 12:03:36 +02:00
2024-11-01 13:29:00 -03:00
2024-06-03 12:29:50 -05:00
2024-09-18 21:47:53 +10:00
2024-10-31 17:55:42 -05:00
2024-10-30 10:20:47 -04:00
2023-10-30 19:44:29 +00:00
2024-05-28 16:45:41 +00:00
2024-10-31 17:55:42 -05:00
2024-10-28 20:31:01 +00:00
2024-11-04 17:23:31 +01:00
2024-05-23 08:22:44 -04:00
2024-10-05 06:58:43 +04:00
2024-09-04 18:17:53 +10:00
2023-08-18 18:55:43 +00:00
2024-09-16 20:02:08 +00:00
2024-10-24 15:12:35 -04:00
2024-10-31 17:55:42 -05:00
2024-07-11 13:38:33 -06:00
2024-10-25 12:14:15 -04:00
2024-10-25 17:14:35 +01:00
2024-10-22 09:20:54 -05:00
2024-10-31 17:01:51 +00:00
2024-01-10 09:13:30 -06:00
2024-05-13 14:37:51 -04:00
2024-10-30 18:41:16 +00:00
2024-10-25 12:14:15 -04:00
2024-11-01 14:17:05 +11:00
2024-07-25 16:08:12 -05:00
2024-10-31 17:01:51 +00:00
2024-07-08 15:38:50 +02:00
2024-09-16 19:03:25 -05:00
2024-10-22 09:20:54 -05:00
2024-08-28 15:18:45 -05:00
2024-10-22 09:20:54 -05:00
2024-10-25 15:14:39 +01:00
2024-03-17 22:08:32 -05:00
2024-10-22 09:20:54 -05:00
2023-10-30 17:42:20 +00:00
2024-03-26 20:47:14 -05:00
2024-10-22 09:20:54 -05:00
2024-10-25 17:14:35 +01:00
2024-11-01 14:17:05 +11:00
2024-10-25 12:14:15 -04:00
2024-11-01 14:17:05 +11:00
2024-10-17 05:37:43 +00:00
2024-10-01 09:01:24 +00:00
2024-09-18 21:23:42 +10:00
2023-08-18 18:55:43 +00:00
2024-08-01 12:07:19 -05:00
2024-08-01 12:07:19 -05:00
2024-10-22 13:47:30 +01:00
2024-07-19 15:44:18 -05:00
2024-07-29 19:58:48 -05:00
2023-08-18 18:55:43 +00:00
2024-10-22 09:20:54 -05:00
2024-11-01 14:53:53 +11:00
2023-08-18 18:55:43 +00:00
2024-03-26 12:44:31 -05:00
2024-09-03 10:32:33 -05:00
2024-02-27 16:33:32 +00:00
2024-05-15 11:09:42 -05:00
2024-06-11 12:22:59 +10:00
2023-10-17 14:49:19 -04:00
2023-10-17 14:49:19 -04:00
2024-09-10 15:58:50 +01:00
2024-09-10 15:58:50 +01:00
2024-10-25 15:14:39 +01:00
2024-10-25 15:14:39 +01:00
2024-07-30 10:44:02 -06:00
2023-09-01 16:50:12 +00:00
2024-10-07 21:10:01 +02:00
2024-10-25 16:49:44 +00:00
2024-06-03 15:48:31 +02:00
2023-06-06 10:26:13 -05:00
2024-09-17 10:42:47 -05:00
2024-09-26 11:48:50 -05:00
2024-10-01 13:43:47 +00:00
2024-08-05 16:18:45 +02:00
2024-03-25 11:52:22 -08:00
2024-07-11 13:38:33 -06:00
2024-07-25 16:07:53 -05:00
2024-08-28 13:24:28 -05:00
2024-03-05 14:05:15 +00:00
2024-06-28 07:38:04 -05:00
2024-01-04 18:35:56 -06:00
2024-07-30 10:44:02 -06:00
2023-12-18 22:53:28 +10:00
2024-07-25 16:07:53 -05:00
2024-08-05 13:42:11 -05:00
2024-02-14 20:45:31 +04:00
2024-10-04 10:04:10 +04:00
2024-10-23 10:09:56 +04:00
2024-10-15 21:02:02 +02:00
2024-10-31 17:01:51 +00:00
2024-08-06 11:26:26 -06:00
2024-09-06 16:13:34 +10:00
2023-08-18 18:55:43 +00:00
2023-08-18 18:55:43 +00:00
2024-10-31 17:55:42 -05:00
2024-10-31 17:55:42 -05:00
2024-10-31 17:55:42 -05:00
2024-10-31 17:55:42 -05:00
2024-10-22 09:20:54 -05:00
2024-05-13 14:37:51 -04:00
2024-11-01 14:53:53 +11:00
2024-11-01 14:53:53 +11:00
2024-11-01 14:17:05 +11:00
2024-10-25 16:49:44 +00:00
2024-11-01 14:17:05 +11:00
2024-10-25 17:14:35 +01:00
2024-10-25 17:14:35 +01:00
2024-11-01 13:29:00 -03:00
2024-11-01 13:29:00 -03:00
2024-01-18 09:44:05 -06:00
2024-01-18 09:44:05 -06:00
2024-07-30 10:44:02 -06:00
2023-08-18 18:55:43 +00:00
2024-10-31 12:33:07 -04:00
2024-11-01 14:17:05 +11:00
2024-11-01 14:53:53 +11:00
2024-11-01 14:53:53 +11:00