Skip to content

Commit

Permalink
Code Cleanup and Improved Tests (#69)
Browse files Browse the repository at this point in the history
Co-authored-by: GitHub Actions <[email protected]>
  • Loading branch information
kozlov721 and actions-user authored Sep 19, 2024
1 parent b3f9f5d commit 7daabdc
Show file tree
Hide file tree
Showing 161 changed files with 6,539 additions and 4,242 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @luxonis/ML-Reviewers
32 changes: 32 additions & 0 deletions .github/labeler.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
tests:
- changed-files:
- any-glob-to-any-file: 'tests/*'
- head-branch:
- 'test/*'
- 'tests/*'

DevOps:
- changed-files:
- any-glob-to-any-file: '.github/*'

CLI:
- changed-files:
- any-glob-to-any-file: '**/__main__.py'

release:
- base-branch: 'main'

enhancement:
- head-branch:
- 'feature/*'
- 'feat/*'
- 'enhancement/*'

fix:
- head-branch:
- 'fix/*'
- 'bug/*'
- 'hotfix/*'
- 'issue/*'
- 'bugfix/*'
- 'patch/*'
175 changes: 175 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
name: CI

on:
pull_request:
branches: [ dev, main ]
paths:
- 'luxonis_train/**'
- 'tests/**'
- .github/workflows/ci.yaml
- '!**/*.md'
- '!luxonis_train/__main__.py'

permissions:
pull-requests: write
contents: write
checks: write

jobs:
assigner:
runs-on: ubuntu-latest
steps:
- name: Auto-assign
uses: toshimaru/[email protected]

labeler:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Labeler
uses: actions/labeler@v5
with:
configuration-path: .github/labeler.yaml

pre-commit:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Run pre-commit
uses: pre-commit/[email protected]

docs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Install dependencies
run: |
sudo apt update
sudo apt install -y pandoc
pip install pydoctor
curl -L "https://raw.githubusercontent.com/luxonis/python-api-analyzer-to-json/main/gen-docs.py" -o "gen-docs.py"
- name: Build docs
run: python gen-docs.py luxonis_train

type-check:
needs:
- pre-commit
- docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: pip

- name: Install dependencies
run: pip install -e .[dev]

- name: Type check
uses: jakebailey/pyright-action@v2
with:
version: '1.1.380'
level: warning
warnings: true
python-version: '3.10'
project: pyproject.toml

tests:
needs:
- type-check
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]

runs-on: ${{ matrix.os }}

steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: pip

- name: Install dependencies
run: pip install -e .[dev]

- name: Authenticate to Google Cloud
id: google-auth
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
create_credentials_file: true
export_environment_variables: true
token_format: access_token

- name: Run pytest
uses: pavelzw/pytest-action@v2
env:
LUXONISML_BUCKET: luxonis-test-bucket
PYTORCH_MPS_HIGH_WATERMARK_RATIO: 0.0
with:
emoji: false
custom-arguments: --junit-xml pytest.xml --cov luxonis_train --cov-report xml

- name: Create Test Report
uses: EnricoMi/publish-unit-test-result-action@v2
if: matrix.os == 'ubuntu-latest'
with:
files: pytest.xml

- name: Generate coverage badge
uses: tj-actions/coverage-badge-py@v2
if: matrix.os == 'ubuntu-latest'
with:
output: media/coverage_badge.svg

- name: Generate coverage report
uses: orgoro/[email protected]
if: matrix.os == 'ubuntu-latest'
with:
coverageFile: coverage.xml
token: ${{ secrets.GITHUB_TOKEN }}
thresholdAll: 0.9
thresholdNew: 0.8

- name: Commit coverage badge
if: matrix.os == 'ubuntu-latest'
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email '[email protected]'
git diff --quiet media/coverage_badge.svg || {
git add media/coverage_badge.svg
git commit -m "[Automated] Updated coverage badge"
}
- name: Push changes
uses: ad-m/github-push-action@master
if: matrix.os == 'ubuntu-latest'
with:
branch: ${{ github.head_ref }}

26 changes: 0 additions & 26 deletions .github/workflows/docs.yaml

This file was deleted.

13 changes: 0 additions & 13 deletions .github/workflows/pre-commit.yaml

This file was deleted.

126 changes: 0 additions & 126 deletions .github/workflows/tests.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -152,5 +152,5 @@ mlartifacts
mlruns
wandb
tests/_data
tests/integration/_test-output
tests/integration/save-directory
data
Loading

0 comments on commit 7daabdc

Please sign in to comment.