Unverified Commit cd5e7e33 authored by Dillon Cullinan's avatar Dillon Cullinan Committed by GitHub
Browse files

ci: Use proxy for dockerhub images (#3778)


Signed-off-by: default avatarDillon Cullinan <dcullinan@nvidia.com>
parent 22d22777
...@@ -28,6 +28,9 @@ inputs: ...@@ -28,6 +28,9 @@ inputs:
sccache_s3_bucket: sccache_s3_bucket:
description: 'SCCache S3 Bucket' description: 'SCCache S3 Bucket'
required: false required: false
aws_account_id:
description: 'AWS Account ID'
required: false
aws_access_key_id: aws_access_key_id:
description: 'AWS Access Key ID' description: 'AWS Access Key ID'
required: false required: false
...@@ -60,6 +63,18 @@ runs: ...@@ -60,6 +63,18 @@ runs:
with: with:
# This is not # of CPUs, this is CPU priority, 1024 is the default # This is not # of CPUs, this is CPU priority, 1024 is the default
driver-opts: 'cpu-shares=100' driver-opts: 'cpu-shares=100'
- name: Install awscli
shell: bash
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
- name: Login to ECR
shell: bash
env:
ECR_HOSTNAME: ${{ inputs.aws_account_id }}.dkr.ecr.${{ inputs.aws_default_region }}.amazonaws.com
run: |
aws ecr get-login-password --region ${{ inputs.aws_default_region }} | docker login --username AWS --password-stdin ${ECR_HOSTNAME}
- name: Login to NGC - name: Login to NGC
if: github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push' if: github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push'
shell: bash shell: bash
......
...@@ -47,20 +47,6 @@ runs: ...@@ -47,20 +47,6 @@ runs:
steps: steps:
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Install awscli
if: ${{ inputs.aws_push == 'true' }}
shell: bash
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
- name: ECR Login
if: ${{ inputs.aws_push == 'true' }}
shell: bash
env:
ECR_HOSTNAME: ${{ inputs.aws_account_id }}.dkr.ecr.${{ inputs.aws_default_region }}.amazonaws.com
run: |
aws ecr get-login-password --region ${{ inputs.aws_default_region }} | docker login --username AWS --password-stdin ${ECR_HOSTNAME}
- name: ACR Login - name: ACR Login
shell: bash shell: bash
if: ${{ inputs.azure_push == 'true' }} if: ${{ inputs.azure_push == 'true' }}
......
...@@ -53,13 +53,30 @@ jobs: ...@@ -53,13 +53,30 @@ jobs:
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
with:
driver: docker
- name: Install awscli
shell: bash
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
- name: Login to ECR
shell: bash
env:
ECR_HOSTNAME: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com
run: |
aws ecr get-login-password --region ${{ secrets.AWS_DEFAULT_REGION }} | docker login --username AWS --password-stdin ${ECR_HOSTNAME}
- name: Build Container - name: Build Container
id: build-image id: build-image
shell: bash shell: bash
env:
ECR_HOSTNAME: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com
run: | run: |
cd deploy/cloud/operator cd deploy/cloud/operator
docker buildx build --load \ docker buildx build --load \
--platform linux/${{ matrix.platform.arch }} \ --platform linux/${{ matrix.platform.arch }} \
--build-arg DOCKER_PROXY=${ECR_HOSTNAME}/dockerhub/ \
-f Dockerfile \ -f Dockerfile \
-t dynamo-operator:latest . -t dynamo-operator:latest .
- name: Docker Tag and Push - name: Docker Tag and Push
...@@ -104,6 +121,7 @@ jobs: ...@@ -104,6 +121,7 @@ jobs:
ci_token: ${{ secrets.CI_TOKEN }} ci_token: ${{ secrets.CI_TOKEN }}
aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }} aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }}
sccache_s3_bucket: ${{ secrets.SCCACHE_S3_BUCKET }} sccache_s3_bucket: ${{ secrets.SCCACHE_S3_BUCKET }}
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Docker Tag and Push - name: Docker Tag and Push
...@@ -170,6 +188,7 @@ jobs: ...@@ -170,6 +188,7 @@ jobs:
ci_token: ${{ secrets.CI_TOKEN }} ci_token: ${{ secrets.CI_TOKEN }}
aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }} aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }}
sccache_s3_bucket: ${{ secrets.SCCACHE_S3_BUCKET }} sccache_s3_bucket: ${{ secrets.SCCACHE_S3_BUCKET }}
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
...@@ -236,6 +255,7 @@ jobs: ...@@ -236,6 +255,7 @@ jobs:
ci_token: ${{ secrets.CI_TOKEN }} ci_token: ${{ secrets.CI_TOKEN }}
aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }} aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }}
sccache_s3_bucket: ${{ secrets.SCCACHE_S3_BUCKET }} sccache_s3_bucket: ${{ secrets.SCCACHE_S3_BUCKET }}
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
......
...@@ -2,7 +2,10 @@ ...@@ -2,7 +2,10 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# Base stage - Common setup for all stages # Base stage - Common setup for all stages
FROM golang:1.24 AS base ARG DOCKER_PROXY
ARG BASE_IMAGE="golang"
ARG BASE_IMAGE_TAG="1.24"
FROM ${DOCKER_PROXY}${BASE_IMAGE}:${BASE_IMAGE_TAG} AS base
# Docker buildx automatically provides these # Docker buildx automatically provides these
ARG TARGETOS=linux ARG TARGETOS=linux
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment