diff --git a/.github/workflows/docker_builder.yml b/.github/workflows/docker_builder.yml new file mode 100644 index 0000000000..3c93636c6c --- /dev/null +++ b/.github/workflows/docker_builder.yml @@ -0,0 +1,89 @@ +# name: 'Torch-TRT Docker' + +# on: +# pull_request: +# types: [opened, synchronize, ready_for_review, review_requested, reopened] + +# ##### Adapted from https://docs.github.com/en/actions/publishing-packages/publishing-docker-images + +# # Defines two custom environment variables for the workflow. These are used for the Container registry domain, and a name for the Docker image that this workflow builds. +# env: +# REGISTRY: ghcr.io +# IMAGE_NAME: ${{ github.repository }} + +# # There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu. +# jobs: +# build-and-push-image: +# runs-on: ubuntu-latest +# # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job. +# permissions: +# contents: read +# packages: write +# steps: +# - name: Checkout repository +# uses: actions/checkout@v3 +# # Uses the `docker/login-action` action to log in to the Container registry registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here. +# - name: Log in to the Container registry +# uses: docker/login-action@v2 +# with: +# registry: ${{ env.REGISTRY }} +# username: ${{ github.actor }} +# password: ${{ secrets.GITHUB_TOKEN }} + +# - name: Reclaim space +# run: | +# rm -rf /usr/share/dotnet +# rm -rf /opt/ghc +# rm -rf "/usr/local/share/boost" +# rm -rf /usr/local/cuda/cuda-* + +# - name: ssh +# uses: appleboy/ssh-action@master +# with: +# host: ${{ secrets.HOST }} +# username: ${{ secrets.USERNAME }} +# password: ${{ secrets.PASSWORD }} +# port: ${{ secrets.PORT }} + +# # This step uses the `docker/build-push-action` action to build the image, based on your repository's `Dockerfile`. If the build succeeds, it pushes the image to GitHub Packages. +# # It uses the `context` parameter to define the build's context as the set of files located in the specified path. For more information, see "[Usage](https://github.com/docker/build-push-action#usage)" in the README of the `docker/build-push-action` repository. +# # It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step. +# - name: Build and push Docker image +# uses: docker/build-push-action@v4 +# with: +# context: . +# push: true +# tags: torch_tensorrt:main +# file: docker/Dockerfile +# build-args: | +# TENSORRT_VERSION=8.6 +# CUDNN_VERSION=8.8 +# shm-size: 4g + + +name: 'Torch-TRT Docker' + +on: + pull_request: + types: [opened, synchronize, ready_for_review, review_requested, reopened] + +jobs: + + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Reclaim space + run: | + rm -rf /usr/share/dotnet + rm -rf /opt/ghc + rm -rf "/usr/local/share/boost" + rm -rf /usr/local/cuda/cuda-* + apt-get clean + + - name: Build the Docker image + uses: actions/checkout@v3 + run: DOCKER_BUILDKIT=1 docker build --build-arg TENSORRT_VERSION=8.6 --build-arg CUDNN_VERSION=8.8 -f docker/Dockerfile --tag torch_tensorrt_main:$(date +%s) . diff --git a/docker/dist-build.sh b/docker/dist-build.sh index 4c0f4d6b7c..00394d4f68 100755 --- a/docker/dist-build.sh +++ b/docker/dist-build.sh @@ -10,8 +10,9 @@ fi cd ${TOP_DIR} \ && mkdir -p dist && cd py \ - && pip install -r requirements.txt \ - && pip install wheel + && pip install wheel \ + && apt-get clean \ + && pip install -r requirements.txt # Build Torch-TRT MAX_JOBS=1 LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 ${BUILD_CMD} $* || exit 1