Skip to content

Commit

Permalink
DRAFT enable publish of tools/model_explorer_circle
Browse files Browse the repository at this point in the history
on-going draft to enable publish of tools/model_explorer_circle.

Signed-off-by: SaeHie Park <[email protected]>
  • Loading branch information
seanshpark committed Nov 25, 2024
1 parent 6c52205 commit 142fa77
Show file tree
Hide file tree
Showing 6 changed files with 127 additions and 1 deletion.
35 changes: 35 additions & 0 deletions .github/workflows/pub-tools-mec-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: publish model-explorer-circle to pypi

on:
workflow_dispatch:

jobs:
build-and-publish:
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
ref: 'draft_tools_mec_pub'

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

- name: Install build dependencies
run: python -m pip install -U setuptools wheel build

- name: Build
run: |
cd tools/model_explorer_circle/
python -m build .
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: tools/model_explorer_circle/dist/
skip-existing: false
user: __token__
password: ${{ secrets.MEC_PYPI_API }}
49 changes: 49 additions & 0 deletions .github/workflows/run-tools-mec-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Run tools/model-explorer-circle build

on:
push:
branches:
- master
- release/*
paths:
- '.github/workflows/run-tools-mec-build.yml'
- 'tools/model_explorer_circle/**'
- '!**/*.md'
pull_request:
branches:
- master
- release/*
paths:
- '.github/workflows/run-tools-mec-build.yml'
- 'tools/model_explorer_circle/**'
- '!**/*.md'

defaults:
run:
shell: bash

jobs:
test:
strategy:
matrix:
python: ['3.10'] # ['3.10', '3.11', '3.12']
platform: [ubuntu-latest] # [ubuntu-latest, macos-latest, windows-latest]

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

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}

- name: Install test dependencies
run: python -m pip install --upgrade nox

- name: Test
run: |
cd tools/model_explorer_circle
python -m nox -s tests-${{ matrix.python }}
24 changes: 24 additions & 0 deletions tools/model_explorer_circle/HOWTO.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,27 @@
flatc -p --gen-onefile --gen-object-api circle_schema.fbs
```
* Note: For `--gen-onefile` option, you need to use the latest version of `flatc`. (tested version = v24.3.25)

## How to local build with nox

Use separate virtual-env:
```
python3 -m venv venv
source venv/bin/activate
```

Install tools:
```
python3 -m pip install --upgrade nox build
```

To run unit tests:
```
python3 -m nox -s tests-3.xx
```
- where `xx` is your python version, for example `10`

To build package:
```
python3 -m build .
```
11 changes: 11 additions & 0 deletions tools/model_explorer_circle/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,21 @@
import os
import nox

nox.options.sessions = ["lint"]

# Define the minimal nox version required to run
nox.options.needs_version = ">= 2024.3.2"


@nox.session
def lint(session):
# NOTE no need to run lint, as format checker runs with yapf including this project
session.install("yapf==0.40.2")
session.run("yapf", "--verbose", "--in-place", "--recursive", "--exclude",
"src/circle_adapter/circle_schema_generated.py", "noxfile.py", "./src",
"./tests")


@nox.session
def build_and_check_dists(session):
session.install("build", "check-manifest >= 0.42", "twine", "ai-edge-model-explorer",
Expand Down
7 changes: 7 additions & 0 deletions tools/model_explorer_circle/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,14 @@ build-backend = "setuptools.build_meta"
[project]
name = "model-explorer-circle"
version = "0.0.1"
maintainers = [
{ name="NNFW", email="[email protected]" },
]
description = "Model Explorer Circle Adaptor"
readme = "README.md"
requires-python = ">=3.9"
license = { text = "Apache Software License (Apache 2.0)" }
keywords = ["circle", "model-explorer", "visualization"]
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.9",
Expand All @@ -24,3 +28,6 @@ dependencies = [
"flatbuffers"
]

[project.urls]
"Repository" = "https://github.com/Samsung/ONE/tree/master/tools/model_explorer_circle/"
"Bug Reports" = "https://github.com/Samsung/ONE/issues"
2 changes: 1 addition & 1 deletion tools/model_explorer_circle/src/circle_adapter/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

from typing import Dict, Optional
from model_explorer import Adapter, AdapterMetadata, ModelExplorerGraphs, graph_builder
from circle_adapter import circle_schema_generated as circle_schema
from . import circle_schema_generated as circle_schema


class CircleAdapter(Adapter):
Expand Down

0 comments on commit 142fa77

Please sign in to comment.