misc(backend): let's try with GHA

This commit is contained in:
Morgan Funtowicz 2024-12-17 10:40:51 +01:00
parent 783a057ac0
commit 71311bedae
2 changed files with 13 additions and 24 deletions

View File

@ -34,11 +34,11 @@ jobs:
run: |
echo "TENSORT_LLM_VERSION=$(grep -oP '([a-z,0-9]{40})' backends/trtllm/cmake/trtllm.cmake)" >> $GITHUB_ENV
# - name: Setup Github Actions Caching Layer
# uses: actions/cache@v7
# with:
# path: .sccache
# key: trtllm_${{ env.TENSORRT_LLM_VERSION }}_linux-gnu-x86_64-gcc14
- name: Setup Github Actions Caching Layer
uses: actions/cache@v4
with:
path: .sccache
key: trtllm_${{ env.TENSORRT_LLM_VERSION }}_linux-gnu-x86_64-gcc14
- name: Initialize Docker Buildx
uses: docker/setup-buildx-action@v3
@ -62,15 +62,10 @@ jobs:
SCCACHE_LOG=debug
SCCACHE_NO_DAEMON=1
BUILD_TYPE=dev
SCCACHE_REGION: us-east-1
SCCACHE_S3_KEY_PREFIX: ${{ env.TENSORT_LLM_VERSION }}
# SCCACHE_GHA_ENABLED=true
SCCACHE_GHA_ENABLED=true
secrets:
# ACTIONS_CACHE_URL=${{}}
# ACTIONS_RUNTIME_TOKEN=${{}}
aws_access_key_id=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_ACCESS_KEY_ID }}
aws_secret_access_key=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_SECRET_ACCESS_KEY }}
sccache_aws_bucket_name=ci-docker-buildx-cache,name=text-generation-inference-cache-${{ env.LABEL }}
gha_cache_url=${{ACTIONS_CACHE_URL}}
gha_cache_token=${{ACTIONS_CACHE_TOKEN}}
cache-from: type=s3,region=us-east-1,bucket=ci-docker-buildx-cache,name=text-generation-inference-cache-${{ env.LABEL }},mode=min,access_key_id=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_ACCESS_KEY_ID }},secret_access_key=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_SECRET_ACCESS_KEY }},mode=min
cache-to: type=s3,region=us-east-1,bucket=ci-docker-buildx-cache,name=text-generation-inference-cache-${{ env.LABEL }},mode=min,access_key_id=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_ACCESS_KEY_ID }},secret_access_key=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_SECRET_ACCESS_KEY }},mode=min

View File

@ -1,10 +1,7 @@
ARG CUDA_ARCH_LIST="75-real;80-real;86-real;89-real;90-real"
ARG OMPI_VERSION="4.1.7rc1"
ARG BUILD_TYPE=release
# Additional arguments if we enable sccache in the CI/CD
ARG SCCACHE_REGION=""
ARG SCCACHE_S3_KEY_PREFIX=""
ARG IS_GHA_BUILD=false
# Build dependencies resolver stage
FROM lukemathwalker/cargo-chef:latest-rust-1.84.0 AS chef
@ -79,13 +76,11 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y &&
# Build actual TGI
ARG BUILD_TYPE
ARG CUDA_ARCH_LIST
ARG IS_GHA_BUILD
ENV CMAKE_PREFIX_PATH="/usr/local/mpi:/usr/local/tensorrt:$CMAKE_PREFIX_PATH"
ENV LD_LIBRARY_PATH="/usr/local/mpi/lib:$LD_LIBRARY_PATH"
ENV PKG_CONFIG_PATH="/usr/local/mpi/lib/pkgconfig:$PKG_CONFIG_PATH"
# Retrieve potential build arg for S3 caching
ENV SCCACHE_REGION ${SCCACHE_REGION}
ENV SCCACHE_S3_KEY_PREFIX ${SCCACHE_S3_KEY_PREFIX}
ENV SCCACHE_GHA_ENABLED=${IS_GHA_BUILD}
COPY Cargo.lock Cargo.lock
COPY Cargo.toml Cargo.toml
@ -94,9 +89,8 @@ COPY router router
COPY backends/trtllm backends/trtllm
COPY --from=trt-builder /usr/local/tensorrt /usr/local/tensorrt
COPY --from=mpi-builder /usr/local/mpi /usr/local/mpi
RUN --mount=type=secret,id=aws_access_key_id,env=AWS_ACCESS_KEY_ID \
--mount=type=secret,id=aws_secret_access_key,env=AWS_SECRET_ACCESS_KEY \
--mount=type=secret,id=sccache_aws_bucket_name,env=SCCACHE_BUCKET \
RUN --mount=type=secret,id=gha_cache_url,env=ACTIONS_CACHE_URL \
--mount=type=secret,id=gha_cache_token,env=ACTIONS_RUNTIME_TOKEN \
mkdir $TGI_INSTALL_PREFIX && mkdir "$TGI_INSTALL_PREFIX/include" && mkdir "$TGI_INSTALL_PREFIX/lib" && \
RUSTC_WRAPPER=sccache CMAKE_INSTALL_PREFIX=$TGI_INSTALL_PREFIX cargo build --profile ${BUILD_TYPE} --package text-generation-backends-trtllm --bin text-generation-backends-trtllm