victorious-dress-47449
12/03/2025, 8:47 PMpants publish docker/python:base would work fine publishing to google cloud but then if I delete the local version of the image (or go to a different machine with the same user credentials) then pants run server:docker (which triggers pulling docker/python:base from the repository) would fail with a permission denied error Permission \"artifactregistry.repositories.downloadArtifacts\" denied on resource yet docker pull works. So somehow the authentication is working for pushing but then it fails for pulling in the pants sandbox.wide-midnight-78598
12/03/2025, 8:52 PMvictorious-dress-47449
12/03/2025, 8:53 PMwide-midnight-78598
12/03/2025, 8:53 PMvictorious-dress-47449
12/03/2025, 8:53 PMwide-midnight-78598
12/03/2025, 8:54 PM-ldebug have to say? any errorsvictorious-dress-47449
12/03/2025, 8:56 PMrun would just pull a local copy and everything works. I only noticed when someone else tried to pull first so there was no local copy. I'm trying to scan through ldebug, as far as i can tell, it's pulling in the same environment variables for pushing and run so still a mysteryvictorious-dress-47449
12/03/2025, 9:01 PMspawned local process as Some(44041) for Process { argv: ["/usr/local/bin/docker", "buildx", "build", "--platform=linux/arm64,linux/amd64", "--output=type=docker", "--pull=False", "--tag", "us-docker.pkg.dev/jazmo-prod/docker/python:latest", "--build-arg", "DOCKER_ROOT_DIR=/jazmo", "--build-arg", "PORT=8080", "--file", "docker/python/Dockerfile", "."], env: {"CLOUDSDK_CONFIG": "/Users/mfairley/jazmoai/jazmo/.local/etc/gcloud", "DOCKER_CONFIG": "/Users/mfairley/jazmoai/jazmo/.local/etc/docker", "PATH": "/private/var/folders/lf/tr4gz0k514lf165m8gcg73yw0000gn/T/pants-sandbox-GnNOpy/_binary_shims_1c7d76e94cd5e5e5cf79a69210fe46a9d86d49e71077876afc1a42c6c025ebc7", "__UPSTREAM_IMAGE_IDS": ""}, working_directory: None, input_digests: InputDigests { complete: DirectoryDigest { digest: Digest { hash: Fingerprint<5928cdd3e3190dd5b13e041b275fcd6c070aac35b959a73f34b5029d942d1e52>, size_bytes: 234 }, tree: "Some(..)" }, nailgun: DirectoryDigest { digest: Digest { hash: Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, size_bytes: 0 }, tree: "Some(..)" }, inputs: DirectoryDigest { digest: Digest { hash: Fingerprint<30f996cdfdd32de948a5747fb779b51554b8e10eba86ac75c0474bd016a666bd>, size_bytes: 80 }, tree: "Some(..)" }, immutable_inputs: {RelativePath("_binary_shims_1c7d76e94cd5e5e5cf79a69210fe46a9d86d49e71077876afc1a42c6c025ebc7"): DirectoryDigest { digest: Digest { hash: Fingerprint<1c7d76e94cd5e5e5cf79a69210fe46a9d86d49e71077876afc1a42c6c025ebc7>, size_bytes: 555 }, tree: "Some(..)" }}, use_nailgun: {} }, output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, concurrency_available: 0, concurrency: None, description: "Building docker image us-docker.pkg.dev/jazmo-prod/docker/python:latest", level: Info, append_only_caches: {}, jdk_home: None, cache_scope: PerSession, execution_environment: ProcessExecutionEnvironment { name: None, platform: Macos_arm64, strategy: Local, local_keep_sandboxes: Always }, remote_cache_speculation_delay: 0ns, attempt: 0 }
Working:
Execute InteractiveProcess(process=Process(argv=('/usr/local/bin/docker', 'push', 'us-docker.pkg.dev/jazmo-prod/docker/python:latest'), description='Pushing docker image us-docker.pkg.dev/jazmo-prod/docker/python:latest', level=<LogLevel.INFO: 'info'>, input_digest=Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), immutable_input_digests=FrozenDict({'_binary_shims_1c7d76e94cd5e5e5cf79a69210fe46a9d86d49e71077876afc1a42c6c025ebc7': Digest('1c7d76e94cd5e5e5cf79a69210fe46a9d86d49e71077876afc1a42c6c025ebc7', 555)}), use_nailgun=(), working_directory=None, env=FrozenDict({'PATH': '{chroot}/_binary_shims_1c7d76e94cd5e5e5cf79a69210fe46a9d86d49e71077876afc1a42c6c025ebc7', 'CLOUDSDK_CONFIG': '/Users/mfairley/jazmoai/jazmo/.local/etc/gcloud', 'DOCKER_CONFIG': '/Users/mfairley/jazmoai/jazmo/.local/etc/docker'}), append_only_caches=FrozenDict({}), output_files=(), output_directories=(), timeout_seconds=-1, jdk_home=None, execution_slot_variable=None, concurrency_available=0, concurrency=None, cache_scope=<ProcessCacheScope.SUCCESSFUL: 'successful'>, remote_cache_speculation_delay_millis=0, attempt=0), run_in_workspace=False, forward_signals_to_process=True, restartable=False, keep_sandboxes=<KeepSandboxes.never: 'never'>)
Something to do with buildx running a separate process without the environment variables maybe?victorious-dress-47449
12/03/2025, 9:12 PMwide-midnight-78598
12/03/2025, 9:39 PMvictorious-dress-47449
12/03/2025, 9:43 PMwide-midnight-78598
12/03/2025, 9:46 PMvictorious-dress-47449
12/03/2025, 9:47 PMwide-midnight-78598
12/03/2025, 9:47 PMwide-midnight-78598
12/04/2025, 12:24 PMvictorious-dress-47449
12/04/2025, 3:47 PMwide-midnight-78598
12/06/2025, 12:35 PMwide-midnight-78598
12/12/2025, 1:54 PM