diff --git a/.github/workflows/linux-cpu-arm64-build.yml b/.github/workflows/linux-cpu-arm64-build.yml index 764d82e426..87b8b2fcd3 100644 --- a/.github/workflows/linux-cpu-arm64-build.yml +++ b/.github/workflows/linux-cpu-arm64-build.yml @@ -18,6 +18,9 @@ env: jobs: linux-cpu-arm64-build: + permissions: + contents: read + packages: write # needed for GHCR push runs-on: ["self-hosted", "1ES.Pool=onnxruntime-genai-Ubuntu2004-ARM-CPU"] steps: - name: Checkout OnnxRuntime GenAI repo @@ -73,12 +76,14 @@ jobs: - name: Download Docker Image run: | set -e -x - az login --identity --object-id b44538a9-6545-4353-907e-da46df88a2ab + az login --identity --object-id 161bbca8-9899-4f61-950c-4d556fbcf830 az acr login --name onnxruntimebuildcache --subscription 00c06639-6ee4-454e-8058-8d8b1703bd87 + docker login --username "$GITHUB_ACTOR" --password '${{ secrets.GITHUB_TOKEN }}' ghcr.io + python3 tools/ci_build/get_docker_image.py --dockerfile tools/ci_build/github/linux/docker/inference/aarch64/default/cpu/Dockerfile \ --context tools/ci_build/github/linux/docker/inference/aarch64/default/cpu \ --docker-build-args "--build-arg BUILD_UID=$( id -u )" \ - --container-registry onnxruntimebuildcache \ + --container-registry ghcr.io/microsoft/onnxruntime-genai \ --repository ort_genai_linux_arm64_gha - name: Docker -- Configure with CMake and GCC diff --git a/.github/workflows/linux-gpu-x64-build.yml b/.github/workflows/linux-gpu-x64-build.yml index 4a0dec58f0..69af9db863 100644 --- a/.github/workflows/linux-gpu-x64-build.yml +++ b/.github/workflows/linux-gpu-x64-build.yml @@ -19,6 +19,9 @@ env: jobs: linux-cuda-x64-build: + permissions: + contents: read + packages: write # needed for GHCR push env: PYTHON_EXECUTABLE: "/opt/python/cp312-cp312/bin/python3.12" runs-on: ["self-hosted", "1ES.Pool=onnxruntime-genai-Ubuntu2204-A10"] @@ -102,12 +105,14 @@ jobs: - name: Get Docker Image run: | set -e -x - az login --identity --object-id b44538a9-6545-4353-907e-da46df88a2ab + az login --identity --object-id 161bbca8-9899-4f61-950c-4d556fbcf830 az acr login --name onnxruntimebuildcache --subscription 00c06639-6ee4-454e-8058-8d8b1703bd87 + docker login --username "$GITHUB_ACTOR" --password '${{ secrets.GITHUB_TOKEN }}' ghcr.io + python3 tools/ci_build/get_docker_image.py --dockerfile tools/ci_build/github/linux/docker/manylinux/Dockerfile.manylinux2_28_cuda_12.8 \ --context tools/ci_build/github/linux/docker/manylinux \ --docker-build-args "--build-arg BUILD_UID=$( id -u )" \ - --container-registry onnxruntimebuildcache \ + --container-registry ghcr.io/microsoft/onnxruntime-genai \ --manylinux-src manylinux \ --multiple_repos \ --repository onnxruntimecudabuildx64 diff --git a/.ignore b/.ignore new file mode 100644 index 0000000000..4ec93643d3 --- /dev/null +++ b/.ignore @@ -0,0 +1,6 @@ +# Used by various tools such as ripgrep, fd-find, etc. +# Same syntax and path semantics as `.gitignore`. + +!/.config +!/.github +!/.pipelines diff --git a/.pipelines/stages/jobs/integration-build-job.yml b/.pipelines/stages/jobs/integration-build-job.yml index 737491a995..78e9a80835 100644 --- a/.pipelines/stages/jobs/integration-build-job.yml +++ b/.pipelines/stages/jobs/integration-build-job.yml @@ -64,7 +64,7 @@ jobs: --dockerfile tools/ci_build/github/linux/docker/manylinux/Dockerfile.manylinux2_28_cuda_12.8 \ --context tools/ci_build/github/linux/docker/manylinux \ --docker-build-args "--build-arg BUILD_UID=$( id -u )" \ - --container-registry onnxruntimebuildcache \ + --container-registry onnxruntimebuildcache.azurecr.io \ --repository ortgenaicudabuildx64 displayName: 'Build manylinux CUDA docker image' workingDirectory: '$(Build.Repository.LocalPath)' diff --git a/.pipelines/stages/jobs/steps/capi-linux-step.yml b/.pipelines/stages/jobs/steps/capi-linux-step.yml index ce7113979a..5792b33722 100644 --- a/.pipelines/stages/jobs/steps/capi-linux-step.yml +++ b/.pipelines/stages/jobs/steps/capi-linux-step.yml @@ -59,7 +59,7 @@ steps: python3 tools/ci_build/get_docker_image.py --dockerfile tools/ci_build/github/linux/docker/manylinux/Dockerfile.manylinux2_28_$(ep)_$cuda_dockerfile_version \ --context tools/ci_build/github/linux/docker/manylinux \ --docker-build-args "--build-arg BUILD_UID=$( id -u )" \ - --container-registry onnxruntimebuildcache \ + --container-registry onnxruntimebuildcache.azurecr.io \ --repository ortgenai$(ep)build$(arch) displayName: 'Get CUDA Docker Image $(cuda_version)' condition: eq(variables['ep'], 'cuda') @@ -76,7 +76,7 @@ steps: python3 tools/ci_build/get_docker_image.py --dockerfile "$dockerfile" \ --context tools/ci_build/github/linux/docker/manylinux \ --docker-build-args "--build-arg BUILD_UID=$( id -u )" \ - --container-registry onnxruntimebuildcache \ + --container-registry onnxruntimebuildcache.azurecr.io \ --repository ortgenai$(ep)build$(arch) displayName: 'Get Docker Image' condition: ne(variables['ep'], 'cuda') diff --git a/tools/ci_build/get_docker_image.py b/tools/ci_build/get_docker_image.py index 203f13ca2b..bc5a8c9c06 100644 --- a/tools/ci_build/get_docker_image.py +++ b/tools/ci_build/get_docker_image.py @@ -34,7 +34,7 @@ def parse_args(): parser.add_argument( "--container-registry", - help="The Azure container registry name. If not provided, no container registry will be used.", + help="Container registry host and, optionally, qualifiers. If not provided, no container registry will be used.", ) parser.add_argument("--repository", required=True, help="The image repository name.") @@ -64,9 +64,7 @@ def main(): log.info("No container registry will be used") full_image_name = ( - f"{args.container_registry}.azurecr.io/{args.repository}:latest" - if use_container_registry - else f"{args.repository}:latest" + f"{args.container_registry}/{args.repository}:latest" if use_container_registry else f"{args.repository}:latest" ) log.info(f"Image: {full_image_name}")