Skip to content

Commit

Permalink
Add CI. (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
stellaraccident authored Apr 21, 2024
1 parent ba15477 commit 276e217
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 7 deletions.
70 changes: 70 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: CI

on:
workflow_dispatch:
pull_request:
push:
branches:
- main

concurrency:
# A PR number if a pull request and otherwise the commit hash. This cancels
# queued and in-progress runs for the same PR (presubmit) or commit
# (postsubmit). The workflow name is prepended to avoid conflicts between
# different workflows.
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
cancel-in-progress: true

jobs:
test:
name: "Unit Tests and Type Checking"
strategy:
matrix:
version: [3.11]
os: [ubuntu-latest]
runs-on: ${{matrix.os}}
env:
PIP_CACHE_DIR: "${{ github.workspace }}/.pip-cache"
steps:
- name: "Setting up Python"
id: setup_python
uses: actions/setup-python@v3
with:
python-version: ${{matrix.version}}

- name: "Checkout Code"
uses: actions/checkout@v3

- name: Cache Pip Packages
uses: actions/cache@v4
id: cache-pip
with:
path: ${{ env.PIP_CACHE_DIR }}
key: pip-${{ steps.setup_python.outputs.python-version }}-${{ hashFiles('*requirements.txt') }}

- name: Install pip deps
run: |
python -m pip install --no-compile --upgrade pip
# Note: We install in three steps in order to satisfy requirements
# from non default locations first. Installing the PyTorch CPU
# wheels saves multiple minutes and a lot of bandwidth on runner setup.
pip install --no-compile -r pytorch-cpu-requirements.txt
pip install --no-compile -f https://iree.dev/pip-release-links.html --src deps \
-e "git+https://github.com/nod-ai/SHARK-Turbine.git#egg=SHARK-Turbine&subdirectory=core"
pip install --no-compile -r requirements.txt -e sharktank/ shortfin/
- name: Run sharktank tests
if: ${{ !cancelled() }}
run: |
pytest -n 4 sharktank/
- name: Run shortfin tests
if: ${{ !cancelled() }}
run: |
pytest -n 4 shortfin/
# TODO: Enable type checking of sharktank
- name: MyPy Type Checking Shortfin
if: ${{ !cancelled() }}
run: |
(cd shortfin && mypy)
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ build-*/
# Python
__pycache__
_python_build/
deps/
dist/
wheelhouse
*.egg-info
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,12 @@ This assumes you have `SHARK-Turbine` checked out adjacent (note that for the
moment we rely on pre-release versions, so installation is a bit harder).

```
pip install -f https://iree.dev/pip-release-links.html -e ../SHARK-Turbine/core/
pip install -e sharktank
pip install -e shortfin
# Clone and install editable SHARK-Turbine dep in deps/
pip install -f https://iree.dev/pip-release-links.html --src deps \
-e "git+https://github.com/nod-ai/SHARK-Turbine.git#egg=SHARK-Turbine&subdirectory=core"
# Install editable local projects.
pip install -r requirements -e sharktank/ shortfin/
```

### Running Tests
Expand Down
9 changes: 5 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
numpy>=1.26.3
onnx>=1.15.0
pytest>=8.0.0
pytest-xdist>=3.5.0
gguf==0.6.0
numpy==1.26.3
onnx==1.15.0
pytest==8.0.0
pytest-xdist==3.5.0
mypy==1.8.0
types-requests==2.31.0.20240125

Expand Down
1 change: 1 addition & 0 deletions turbine-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-e "git+https://github.com/nod-ai/SHARK-Turbine.git#egg=SHARK-Turbine&subdirectory=core"

0 comments on commit 276e217

Please sign in to comment.