File: ci.yml

package info (click to toggle)
labelme 5.7.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 32,120 kB
  • sloc: python: 5,833; xml: 147; makefile: 45
file content (71 lines) | stat: -rw-r--r-- 2,348 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
name: ci

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  build:

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [windows-latest, macos-latest, ubuntu-latest]
        python-version: [3.9]

    steps:
    - uses: actions/checkout@v4

    - uses: astral-sh/setup-uv@v5
      with:
        python-version: ${{ matrix.python-version }}

    - shell: bash
      run: |
        make setup

    - shell: bash
      run: |
        make check

    - name: Test
      shell: bash
      if: matrix.os == 'ubuntu-latest'
      env:
        MPLBACKEND: 'agg'
      run: |
        sudo apt-get update
        sudo apt-get install -y xvfb libqt5widgets5

        Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
        export DISPLAY=:99

        make test

    - name: Run examples
      shell: bash
      if: matrix.os != 'windows-latest'
      env:
        MPLBACKEND: agg
      run: |
        labelme --help
        labelme --version
        (cd examples/primitives && labelme_json_to_dataset primitives.json && rm -rf primitives_json)
        (cd examples/tutorial && rm -rf apc2016_obj3_json && labelme_json_to_dataset apc2016_obj3.json && python load_label_png.py && git checkout -- .)
        (cd examples/semantic_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)
        (cd examples/instance_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)
        (cd examples/video_annotation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)

        uv pip install 'lxml<5.0.0'  # for bbox_detection/labelme2voc.py
        (cd examples/bbox_detection && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)

        uv pip install cython && uv pip install pycocotools  # for instance_segmentation/labelme2coco.py
        (cd examples/instance_segmentation && rm -rf data_dataset_coco && ./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt && git checkout -- .)

    - name: Build wheel and install from it
      shell: bash
      run: |
        make build
        uv pip install dist/labelme-*.whl