Spaces:
Runtime error
Runtime error
| name: release_docker | |
| on: | |
| workflow_call: | |
| inputs: | |
| dockerfile: | |
| required: true | |
| type: string | |
| description: "Path to the Dockerfile to build" | |
| image: | |
| required: true | |
| type: string | |
| description: "Name of the image to build" | |
| env: | |
| TEST_TAG: ${{ inputs.image }}:test | |
| LATEST_TAG: ${{ inputs.image }}:latest | |
| jobs: | |
| docker: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Get git tag | |
| uses: actions-ecosystem/action-get-latest-tag@v1 | |
| id: get-latest-tag | |
| - name: Set docker tag | |
| env: | |
| VERSION: ${{ steps.get-latest-tag.outputs.tag }} | |
| run: | | |
| echo "VERSION_TAG=${{ inputs.image }}:${VERSION#v}" >> $GITHUB_ENV | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build for Test | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ${{ inputs.dockerfile }} | |
| load: true | |
| tags: ${{ env.TEST_TAG }} | |
| - name: Test | |
| run: | | |
| docker run --rm ${{ env.TEST_TAG }} python -c "import langchain" | |
| - name: Build and Push to Docker Hub | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ${{ inputs.dockerfile }} | |
| # We can only build for the intersection of platforms supported by | |
| # QEMU and base python image, for now build only for | |
| # linux/amd64 and linux/arm64 | |
| platforms: linux/amd64,linux/arm64 | |
| tags: ${{ env.LATEST_TAG }},${{ env.VERSION_TAG }} | |
| push: true | |