diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index aa740530c0..3b4ea5b6e8 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -58,13 +58,23 @@ jobs: GIT_SHA=$(echo ${{ github.sha }} | cut -c1-7) echo "IMAGE_TAG=${GIT_SHA}" >> ${GITHUB_ENV} + if [ "${{ github.event_name }}" == "push" ]; then + echo "Triggered by push event." + PROD_REPO="mosaicml/llm-foundry" + IMAGE_TAG=${PROD_REPO}:${{matrix.name}}-${GIT_SHA},${PROD_REPO}:${{matrix.name}}-latest + IMAGE_CACHE="${PROD_REPO}:${{matrix.name}}-buildcache" + elif [ "${{ github.event_name }}" == "pull_request" ]; then + echo "Triggered by pull_request event." + STAGING_REPO="mosaicml/ci-staging" + IMAGE_TAG=${STAGING_REPO}:${{matrix.name}}-${GIT_SHA} + IMAGE_CACHE="${STAGING_REPO}:${{matrix.name}}-buildcache" + - name: Build and Push the Docker Image uses: docker/build-push-action@v3 with: context: . - tags: mosaicml/llm-foundry:${{ matrix.name }}-latest, - mosaicml/llm-foundry:${{ matrix.name }}-${{ env.IMAGE_TAG }} + tags: ${{ env.IMAGE_TAG }} push: true - cache-from: type=registry,ref=mosaicml/llm-foundry:${{ matrix.name }}-buildcache - cache-to: type=registry,ref=mosaicml/llm-foundry:${{ matrix.name }}-buildcache,mode=max + cache-from: type=registry,ref=${{ env.IMAGE_CACHE }} + cache-to: type=registry,ref=${{ env.IMAGE_CACHE }},mode=max build-args: BASE_IMAGE=${{ matrix.base_image }}