From d8017bae1e25bab4439f9609302dff60ff00ab85 Mon Sep 17 00:00:00 2001 From: Josh Bailey Date: Fri, 17 Nov 2023 01:10:06 +0000 Subject: [PATCH] publish images. --- .github/workflows/docker.yml | 110 +++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..f89d385 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,110 @@ +name: buildx + +on: + push: + branches: main + tags: 'v*' + +jobs: + buildx-torchserve: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Get the version + id: get_version + run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3) + - name: Change for main + id: change_version + run: if [ "${{ steps.get_version.outputs.VERSION }}" == "main" ]; then echo ::set-output name=VERSION::latest; else echo ::set-output name=VERSION::${{ steps.get_version.outputs.VERSION }}; fi + - name: Set up qemu + uses: docker/setup-qemu-action@v3 + with: + platforms: all + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + - name: Docker Login + env: + DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }} + run: | + echo "${DOCKER_PASSWORD}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin + if: github.repository == 'iqtlabs/torchserve' && github.event_name == 'push' + - name: Build and push platforms + uses: docker/build-push-action@v5 + with: + context: . + file: docker/Dockerfile.torchserve + platforms: linux/amd64,linux/arm64 + push: true + tags: iqtlabs/torchserve:${{ steps.change_version.outputs.VERSION }} + if: github.repository == 'iqtlabs/torchserve' && github.event_name == 'push' + buildx-orin-torchserve: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Get the version + id: get_version + run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3) + - name: Change for main + id: change_version + run: if [ "${{ steps.get_version.outputs.VERSION }}" == "main" ]; then echo ::set-output name=VERSION::latest; else echo ::set-output name=VERSION::${{ steps.get_version.outputs.VERSION }}; fi + - name: Set up qemu + uses: docker/setup-qemu-action@v3 + with: + platforms: all + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + - name: Docker Login + env: + DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }} + run: | + echo "${DOCKER_PASSWORD}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin + if: github.repository == 'iqtlabs/torchserve' && github.event_name == 'push' + - name: Build and push platforms + uses: docker/build-push-action@v5 + with: + context: . + file: docker/Dockerfile.orin-torchserve + platforms: linux/arm64 + push: true + tags: iqtlabs/orin-torchserve:${{ steps.change_version.outputs.VERSION }} + if: github.repository == 'iqtlabs/torchserve' && github.event_name == 'push' + buildx-cuda-torchserve: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Get the version + id: get_version + run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3) + - name: Change for main + id: change_version + run: if [ "${{ steps.get_version.outputs.VERSION }}" == "main" ]; then echo ::set-output name=VERSION::latest; else echo ::set-output name=VERSION::${{ steps.get_version.outputs.VERSION }}; fi + - name: Set up qemu + uses: docker/setup-qemu-action@v3 + with: + platforms: all + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + - name: Docker Login + env: + DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }} + run: | + echo "${DOCKER_PASSWORD}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin + if: github.repository == 'iqtlabs/torchserve' && github.event_name == 'push' + - name: Build and push platforms + uses: docker/build-push-action@v5 + with: + context: . + file: docker/Dockerfile.cuda-torchserve + platforms: linux/amd64 + push: true + tags: iqtlabs/cuda-torchserve:${{ steps.change_version.outputs.VERSION }} + if: github.repository == 'iqtlabs/torchserve' && github.event_name == 'push'