Browse Source

Add a CI/CD for the node-hub and fix isort

tags/v0.3.6-rc0
haixuanTao 1 year ago
parent
commit
dfdca94967
9 changed files with 108 additions and 15 deletions
  1. +98
    -0
      .github/workflows/node-hub-ci-cd.yml
  2. +0
    -4
      .github/workflows/release.yml
  3. +2
    -2
      node-hub/opencv-plot/opencv_plot/main.py
  4. +1
    -1
      node-hub/opencv-plot/pyproject.toml
  5. +0
    -0
      node-hub/opencv-video-capture/opencv_video_capture/__init__.py
  6. +3
    -4
      node-hub/opencv-video-capture/opencv_video_capture/main.py
  7. +1
    -1
      node-hub/opencv-video-capture/pyproject.toml
  8. +1
    -1
      node-hub/ultralytics-yolo/pyproject.toml
  9. +2
    -2
      node-hub/ultralytics-yolo/ultralytics_yolo/main.py

+ 98
- 0
.github/workflows/node-hub-ci-cd.yml View File

@@ -0,0 +1,98 @@
name: CI

on:
push:
branches:
- main
pull_request:
branches:
- main
release:
types: [published]

jobs:
build_and_test:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"

- name: Set up Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true

- name: Run Linting and Tests
run: |
for dir in node-hub/*/ ; do
if [ -d "$dir" ]; then
if [ -f "$dir/pyproject.toml" ]; then
echo "Running linting and tests for Python project in $dir..."
(cd "$dir" && poetry install)
(cd "$dir" && poetry run black --check .)
(cd "$dir" && poetry run pylint --disable=C,R --ignored-modules=cv2 **/*.py)
(cd "$dir" && poetry run pytest)
fi
if [ -f "$dir/Cargo.toml" ]; then
echo "Running build and tests for Rust project in $dir..."
(cd "$dir" && cargo build)
(cd "$dir" && cargo test)
fi
fi
done

publish:
needs: [build_and_test]
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"

- name: Set up Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable

- name: Publish Projects
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_PASS }}
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_PASS }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |
for dir in node-hub/*/ ; do
if [ -d "$dir" ]; then
if [ -f "$dir/pyproject.toml" ]; then
echo "Publishing $dir using Poetry..."
(cd "$dir" && poetry publish)
fi
if [ -f "$dir/Cargo.toml" ]; then
echo "Publishing $dir using Cargo..."
(cd "$dir" && cargo publish)
fi
fi
done

+ 0
- 4
.github/workflows/release.yml View File

@@ -79,10 +79,6 @@ jobs:
cargo publish -p dora-daemon --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
cargo publish -p dora-cli --token ${{ secrets.CARGO_REGISTRY_TOKEN }}

# Publish tool nodes
cargo publish -p dora-record --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
cargo publish -p dora-rerun --token ${{ secrets.CARGO_REGISTRY_TOKEN }}

unix:
runs-on: ${{ matrix.platform.runner }}
strategy:


+ 2
- 2
node-hub/opencv-plot/opencv_plot/main.py View File

@@ -1,7 +1,7 @@
import os
import argparse
import cv2
import os

import cv2
import numpy as np
import pyarrow as pa



+ 1
- 1
node-hub/opencv-plot/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "opencv-plot"
version = "0.1"
version = "0.3.5"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",


+ 0
- 0
node-hub/opencv-video-capture/opencv_video_capture/__init__.py View File


+ 3
- 4
node-hub/opencv-video-capture/opencv_video_capture/main.py View File

@@ -1,14 +1,13 @@
import os
import argparse
import cv2
import os
import time

import cv2
import numpy as np
import pyarrow as pa

from dora import Node

import time

RUNNER_CI = True if os.getenv("CI") == "true" else False




+ 1
- 1
node-hub/opencv-video-capture/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "opencv-video-capture"
version = "0.1"
version = "0.3.5"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",


+ 1
- 1
node-hub/ultralytics-yolo/pyproject.toml View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "ultralytics-yolo"
version = "0.1"
version = "0.3.5"
authors = [
"Haixuan Xavier Tao <tao.xavier@outlook.com>",
"Enzo Le Van <dev@enzo-le-van.fr>",


+ 2
- 2
node-hub/ultralytics-yolo/ultralytics_yolo/main.py View File

@@ -1,11 +1,11 @@
import os
import argparse
import os

import numpy as np
import pyarrow as pa
from ultralytics import YOLO

from dora import Node
from ultralytics import YOLO


def main():


Loading…
Cancel
Save