diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cf212863ce..3d505d56f9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -162,12 +162,12 @@ jobs: cache: 'pip' # caching pip dependencies - name: Install requirements shell: bash # for Windows compatibility - run: | + run: | # CoreML must be installed before export due to protobuf error from AutoInstall python -m pip install --upgrade pip wheel if [ "${{ matrix.torch }}" == "1.8.0" ]; then - pip install -e . torch==1.8.0 torchvision==0.9.0 pytest --extra-index-url https://download.pytorch.org/whl/cpu + pip install -e . torch==1.8.0 torchvision==0.9.0 pytest 'coremltools>=6.0,<=6.2' --extra-index-url https://download.pytorch.org/whl/cpu else - pip install -e . pytest --extra-index-url https://download.pytorch.org/whl/cpu + pip install -e . pytest 'coremltools>=6.0,<=6.2' --extra-index-url https://download.pytorch.org/whl/cpu fi - name: Check environment run: | diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index ad10e60e52..1cf4b4902e 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -49,7 +49,6 @@ jobs: platforms: "linux/amd64" steps: - name: Checkout repo - if: github.event_name == 'push' || github.event.inputs.dockerfile == matrix.dockerfile uses: actions/checkout@v3 - name: Set up QEMU @@ -65,21 +64,22 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build Image + if: github.event_name == 'push' || github.event.inputs.dockerfile == matrix.dockerfile run: | docker build --platform ${{ matrix.platforms }} -f docker/${{ matrix.dockerfile }} -t ultralytics/ultralytics:${{ matrix.tags }} . - name: Run Tests - if: matrix.platforms == 'linux/amd64' # arm64 images not supported on GitHub CI runners + if: (github.event_name == 'push' || github.event.inputs.dockerfile == matrix.dockerfile) && matrix.platforms == 'linux/amd64' # arm64 images not supported on GitHub CI runners run: | docker run ultralytics/ultralytics:${{ matrix.tags }} /bin/bash -c "pip install pytest && pytest tests" - name: Run Benchmarks - if: matrix.platforms == 'linux/amd64' # arm64 images not supported on GitHub CI runners + if: (github.event_name == 'push' || github.event.inputs.dockerfile == matrix.dockerfile) && matrix.platforms == 'linux/amd64' # arm64 images not supported on GitHub CI runners run: | docker run ultralytics/ultralytics:${{ matrix.tags }} yolo benchmark model=yolov8n.pt imgsz=160 verbose=0.26 - name: Push Image - if: github.event_name == 'push' || github.event.inputs.push == true + if: github.event_name == 'push' || (github.event.inputs.dockerfile == matrix.dockerfile && github.event.inputs.push == true) run: | docker push ultralytics/ultralytics:${{ matrix.tags }} diff --git a/ultralytics/engine/exporter.py b/ultralytics/engine/exporter.py index 10aecaf1f5..31be6f229b 100644 --- a/ultralytics/engine/exporter.py +++ b/ultralytics/engine/exporter.py @@ -116,7 +116,7 @@ def try_export(inner_func): return f, model except Exception as e: LOGGER.info(f'{prefix} export failure ❌ {dt.t:.1f}s: {e}') - return None, None + raise e return outer_func