Skip to content

Instance segmentation support with the new Datumaro dataset #6689

Instance segmentation support with the new Datumaro dataset

Instance segmentation support with the new Datumaro dataset #6689

Workflow file for this run

name: PR Checks
on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
merge_group:
branches:
- develop
- releases/**
workflow_dispatch: # run on request (no need for PR)
permissions: {} # No permissions by default
concurrency:
group: ${{ github.workflow }}-PreMerge-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
Code-Quality-Checks:
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: "3.12"
- name: Install tox
working-directory: lib
run: |
pip install '.[dev]'
- name: Code quality checks
working-directory: lib
run: tox r -vv -e pre-commit
Unit-Test:
runs-on: ubuntu-24.04
permissions:
contents: read
needs: Code-Quality-Checks
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.12"
tox-env: "py312"
- python-version: "3.11"
tox-env: "py311"
name: Unit-Test-with-Python${{ matrix.python-version }}
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Install Python
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
working-directory: lib
run: |
pip install '.[dev]'
- name: Run unit test
working-directory: lib
run: tox r -vv -e unit-test-${{ matrix.tox-env }}
- name: Upload coverage reports to Codecov
working-directory: lib
run: |
# If the workflow is triggered from PR then it gets the commit id from the PR.
# else it uses the commit id of the latest commit. This is because the commit
# of the checked-out branch/commit does not exist in the tree as it is grafted.
# Also note: GitHub does not pass secrets to pipelines triggered from a fork.
# This means that upload will fail for PRs from forks.
if [ -n "${{ github.event.pull_request.head.sha }}" ]
then
COMMIT_ID=${{ github.event.pull_request.head.sha }}
else
COMMIT_ID=${{ github.sha }}
fi
# current version of codecov-action does not support uploading reports through the proxy
# so we use the latest version of codecov uploader binary
curl -Os https://uploader.codecov.io/latest/linux/codecov
chmod +x codecov
./codecov -t ${{ secrets.CODECOV_TOKEN }} --sha $COMMIT_ID -U $HTTP_PROXY -f .tox/coverage_unit-test-${{ matrix.tox-env }}.xml -F ${{ matrix.tox-env }}
Integration-Test:
if: |
github.event.pull_request.draft == false &&
!(startsWith(github.event.pull_request.title, '[WIP]'))
runs-on: [self-hosted, linux, x64, dev, dmount]
permissions:
contents: read
needs: Unit-Test
strategy:
fail-fast: false
matrix:
include:
- task: "multi_class_cls"
- task: "multi_label_cls"
- task: "h_label_cls"
- task: "anomaly"
- task: "keypoint_detection"
- task: "detection"
- task: "instance_segmentation"
- task: "semantic_segmentation"
name: Integration-Test-${{ matrix.task }}-py312
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Install Python
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: "3.12"
- name: Install tox
working-directory: lib
run: |
pip install '.[dev]'
- name: Run Integration Test
working-directory: lib
run: tox r -vv -e integration-test-${{ matrix.task }} -- --task ${{ matrix.task }} --run-category-only
Zizmor-Scan-PR:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Run Zizmor scan
uses: open-edge-platform/geti-ci/actions/zizmor@db5335076dfe564b039b5a7480b8f6b6ae38370a
with:
scan-scope: "changed"
severity-level: "MEDIUM"
confidence-level: "LOW"
fail-on-findings: true
Bandit-Scan-PR:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Run Bandit scan
uses: open-edge-platform/geti-ci/actions/bandit@db5335076dfe564b039b5a7480b8f6b6ae38370a
with:
scan-scope: "changed"
severity-level: "LOW"
confidence-level: "LOW"
config_file: ".ci/ipas_default.config"
fail-on-findings: true