fix: invalidate rolesPermissions cache + add Docker Hub auth to CI (#19044)
## Summary ### Cache invalidation fix - After migrating object/field permissions to syncable entities (#18609, #18751, #18567), changes to `flatObjectPermissionMaps`, `flatFieldPermissionMaps`, or `flatPermissionFlagMaps` no longer triggered `rolesPermissions` cache invalidation - This caused stale permission data to be served, leading to flaky `permissions-on-relations` integration tests and potentially incorrect permission enforcement in production after object permission upserts - Adds the three permission-related flat map keys to the condition that triggers `rolesPermissions` cache recomputation in `WorkspaceMigrationRunnerService.getLegacyCacheInvalidationPromises` - Clears memoizer after recomputation to prevent concurrent `getOrRecompute` calls from caching stale data ### Docker Hub rate limit fix - CI service containers (postgres, redis, clickhouse) and `docker run`/`docker build` steps were pulling from Docker Hub **unauthenticated**, hitting the 100-pull-per-6-hour rate limit on shared GitHub-hosted runner IPs - Adds `credentials` blocks to all service container definitions and `docker/login-action` steps before `docker run`/`docker compose` commands - Uses `vars.DOCKERHUB_USERNAME` + `secrets.DOCKERHUB_PASSWORD` (matching the existing twenty-infra convention) - Affected workflows: ci-server, ci-merge-queue, ci-breaking-changes, ci-zapier, ci-sdk, ci-create-app-e2e, ci-website, ci-test-docker-compose, preview-env-keepalive, spawn-twenty-docker-image action
This commit is contained in:
+7
-1
@@ -85,9 +85,15 @@ export class WorkspaceMigrationRunnerService {
|
||||
flatMapsKeysSet.has('flatRoleMaps') ||
|
||||
flatMapsKeysSet.has('flatRoleTargetMaps');
|
||||
|
||||
const shouldInvalidateRolesPermissionsCache =
|
||||
flatMapsKeysSet.has('flatObjectPermissionMaps') ||
|
||||
flatMapsKeysSet.has('flatFieldPermissionMaps') ||
|
||||
flatMapsKeysSet.has('flatPermissionFlagMaps');
|
||||
|
||||
if (
|
||||
shouldIncrementMetadataGraphqlSchemaVersion ||
|
||||
shouldInvalidateRoleMapCache
|
||||
shouldInvalidateRoleMapCache ||
|
||||
shouldInvalidateRolesPermissionsCache
|
||||
) {
|
||||
asyncOperations.push(
|
||||
this.workspaceCacheService.invalidateAndRecompute(workspaceId, [
|
||||
|
||||
Reference in New Issue
Block a user