Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplified workflow #78

Merged
merged 2 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 96 additions & 7 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,101 @@ on:
- 'luxonis_ml/**'
- 'tests/**'
- .github/workflows/ci.yaml
- .github/workflows/luxonis-ml-ci.yaml

jobs:
call-reusable-workflow:
uses: luxonis/luxonis-ml/.github/workflows/luxonis-ml-ci.yaml@dev
with:
os: 'ubuntu-latest,macOS-latest,windows-latest'
python-version: "3.8,3.10"
src-dir: 'luxonis_ml'
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: |
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_ml

tests:
needs:
- pre-commit
- docs
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.8', '3.9', '3.10']

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: ${{ matrix.python-version }}
cache: pip

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

- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
emoji: false
custom-arguments: --cov luxonis_ml --cov-report xml --junit-xml pytest.xml

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

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

- name: Generate coverage report
uses: orgoro/[email protected]
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.8'
with:
coverageFile: coverage.xml
token: ${{ secrets.GITHUB_TOKEN }}

- name: Commit coverage badge
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.8'
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' && matrix.python-version == '3.8'
with:
branch: ${{ github.head_ref }}

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

This file was deleted.

142 changes: 0 additions & 142 deletions .github/workflows/luxonis-ml-ci.yaml

This file was deleted.

1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
![PyBadge](media/pybadge.svg)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
![CI](https://github.com/luxonis/luxonis-ml/actions/workflows/ci.yaml/badge.svg)
![Docs](https://github.com/luxonis/luxonis-ml/actions/workflows/docs.yaml/badge.svg)
![Coverage](media/coverage_badge.svg)

This library includes a collection of helper functions and utilities for the Luxonis MLOps stack. This includes the following submodules:
Expand Down
Loading