diff --git a/src/targets/__tests__/docker.test.ts b/src/targets/__tests__/docker.test.ts index 3ca331ab..543f274a 100644 --- a/src/targets/__tests__/docker.test.ts +++ b/src/targets/__tests__/docker.test.ts @@ -239,12 +239,21 @@ describe('isGoogleCloudRegistry', () => { expect(isGoogleCloudRegistry('asia.gcr.io')).toBe(true); }); - it('returns true for Artifact Registry (pkg.dev)', () => { + it('returns true for Artifact Registry multi-region (pkg.dev)', () => { expect(isGoogleCloudRegistry('us-docker.pkg.dev')).toBe(true); expect(isGoogleCloudRegistry('europe-docker.pkg.dev')).toBe(true); expect(isGoogleCloudRegistry('asia-docker.pkg.dev')).toBe(true); }); + it('returns true for Artifact Registry regional endpoints (pkg.dev)', () => { + expect(isGoogleCloudRegistry('us-west1-docker.pkg.dev')).toBe(true); + expect(isGoogleCloudRegistry('us-central1-docker.pkg.dev')).toBe(true); + expect(isGoogleCloudRegistry('us-east4-docker.pkg.dev')).toBe(true); + expect(isGoogleCloudRegistry('europe-west1-docker.pkg.dev')).toBe(true); + expect(isGoogleCloudRegistry('asia-east1-docker.pkg.dev')).toBe(true); + expect(isGoogleCloudRegistry('australia-southeast1-docker.pkg.dev')).toBe(true); + }); + it('returns false for non-Google registries', () => { expect(isGoogleCloudRegistry('ghcr.io')).toBe(false); expect(isGoogleCloudRegistry('docker.io')).toBe(false); diff --git a/src/targets/docker.ts b/src/targets/docker.ts index d8508b5a..6d773514 100644 --- a/src/targets/docker.ts +++ b/src/targets/docker.ts @@ -28,7 +28,7 @@ const GCR_REGISTRY_PATTERNS = [ /^gcr\.io$/, /^[a-z]+-gcr\.io$/, // us-gcr.io, eu-gcr.io, asia-gcr.io, etc. /^[a-z]+\.gcr\.io$/, // us.gcr.io, eu.gcr.io, asia.gcr.io, etc. - /^[a-z]+-docker\.pkg\.dev$/, // us-docker.pkg.dev, europe-docker.pkg.dev, etc. + /^[a-z][a-z0-9-]*-docker\.pkg\.dev$/, // us-docker.pkg.dev, us-west1-docker.pkg.dev, europe-west1-docker.pkg.dev, etc. ]; /**