From 9f9c5df047b2043158c081f0003b29856c71f19d Mon Sep 17 00:00:00 2001 From: Shaun Jackman Date: Wed, 31 Mar 2021 12:40:21 -0700 Subject: [PATCH] github_packages: Translate tab.arch to OCI Translate Homebrew tab.arch to OCI platform.architecture. --- Library/Homebrew/github_packages.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/github_packages.rb b/Library/Homebrew/github_packages.rb index be14ac19bc..f16f076d77 100644 --- a/Library/Homebrew/github_packages.rb +++ b/Library/Homebrew/github_packages.rb @@ -17,6 +17,12 @@ class GitHubPackages DOCKER_PREFIX = "docker://#{URL_DOMAIN}/" URL_REGEX = %r{(?:#{Regexp.escape(URL_PREFIX)}|#{Regexp.escape(DOCKER_PREFIX)})([\w-]+)/([\w-]+)}.freeze + # Translate Homebrew tab.arch to OCI platform.architecture + TAB_ARCH_TO_PLATFORM_ARCHITECTURE = { + "arm64" => "arm64", + "x86_64" => "amd64", + }.freeze + # Translate Homebrew built_on.os to OCI platform.os BUILT_ON_OS_TO_PLATFORM_OS = { "Linux" => "linux", @@ -179,11 +185,14 @@ class GitHubPackages tar_gz_sha256 = write_tar_gz(local_file, blobs) tab = tag_hash["tab"] + architecture = TAB_ARCH_TO_PLATFORM_ARCHITECTURE[tab["arch"]] + raise TypeError, "unknown tab['arch']: #{tab["arch"]}" if architecture.blank? + os = BUILT_ON_OS_TO_PLATFORM_OS[tab["built_on"]["os"]] raise TypeError, "unknown tab['built_on']['os']: #{tab["built_on"]["os"]}" if os.blank? platform_hash = { - architecture: tab["arch"], + architecture: architecture, os: os, "os.version" => tab["built_on"]["os_version"], }