Skip to content
Open
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
51 changes: 33 additions & 18 deletions .github/workflows/clf.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: autobuild_clf
name: ci_classification
on:
pull_request:
branches:
Expand All @@ -9,42 +9,57 @@ on:
- master
- 'V**'
- dev

env:
GDRIVE_CREDENTIALS_DATA: ${{ secrets.GDRIVE_CREDENTIALS_DATA }}
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:
test-classification:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v4
- uses: actions/checkout@v4

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.10'
architecture: 'x64'
- uses: actions/setup-node@v3
python-version: '3.11'

- name: Install uv
uses: astral-sh/setup-uv@v4

- uses: actions/setup-node@v4
with:
node-version: '16'
- uses: iterative/setup-cml@v1
- name: Display Python version
run: python -c "import sys; print(sys.version)"
node-version: '20'

- uses: iterative/setup-cml@v3

- name: Cache uv packages
uses: actions/cache@v4
with:
path: ~/.cache/uv
key: ${{ runner.os }}-uv-clf-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-uv-clf-

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu
pip install -e '.[dev,cv,cv_classification]'
pip install dvc dvc-gdrive
uv pip install --system torch torchvision --index-url https://download.pytorch.org/whl/cpu
uv pip install --system -e '.[dev,cv,cv_classification]'
uv pip install --system dvc dvc-gdrive
npm install -g markdown-table-cli

- name: Download data
run: |
echo "$GDRIVE_CREDENTIALS_DATA" > credentials.json
dvc remote modify gdrive --local gdrive_user_credentials_file ./credentials.json
dvc pull
ls -la samples

- name: Test with pytest
run: |
pytest tests/classification --capture=no
uv run pytest tests/classification --capture=no

- name: Display report
run: |
echo "# Classification Report" > report.md
Expand All @@ -53,7 +68,7 @@ jobs:
echo "#### Confusion Matrix" >> report.md
echo "![Confusion Matrix](runs/pytest_clf/Validation/cfm.png)" >> report.md
echo "#### Errorcases" >> report.md
echo "![Confusion Matrix](runs/pytest_clf/Validation/errorcases.png)" >> report.md
echo "![Errorcases](runs/pytest_clf/Validation/errorcases.png)" >> report.md
echo "------------------" >> report.md
echo "#### Hyperparameters Tuning" >> report.md
echo "Leaderboard" >> report.md
Expand Down
37 changes: 21 additions & 16 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: autobuild_docker
name: ci_docker
on:
pull_request:
branches:
Expand All @@ -10,26 +10,31 @@ env:
DOCKERHUB_TAG: kaylode/theseus:latest

jobs:
run:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v4
- uses: actions/checkout@v4

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.10'
architecture: 'x64'
- uses: iterative/setup-cml@v1
python-version: '3.11'

- uses: iterative/setup-cml@v3
- uses: iterative/setup-dvc@v1

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3

- name: Create credentials file
run: |
echo "$GDRIVE_CREDENTIALS_DATA" > credentials.json

- name: Build Dockerfile
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
tags: ${{ env.DOCKERHUB_TAG }}
Expand All @@ -40,10 +45,10 @@ jobs:
- name: Free up space
run: |
docker system prune -f
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf /usr/local/share/boost
sudo rm -rf "$AGENT_TOOLSDIRECTORY"

- name: Docker name
- name: Load Docker image
run: |
docker load -i ${{ github.workspace }}/image.tar
docker image inspect ${{ env.DOCKERHUB_TAG }}
Expand All @@ -61,16 +66,16 @@ jobs:
pytest tests --capture=no

- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Push image to DockerHub
run: |
docker push --all-tags
docker push ${{ env.DOCKERHUB_TAG }}

- name: where am I
- name: Debug workspace
run: |
pwd
ls -la
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: lint
on:
pull_request:
branches:
- master
- dev
push:
branches:
- master
- dev

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

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

- name: Install uv
uses: astral-sh/setup-uv@v4

- name: Install dependencies
run: |
uv pip install --system ruff

- name: Ruff check
run: |
ruff check theseus/ tests/

- name: Ruff format check
run: |
ruff format --check theseus/ tests/
39 changes: 39 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: release
on:
push:
tags:
- 'v*'

permissions:
contents: read
id-token: write

jobs:
publish:
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/theseus
steps:
- uses: actions/checkout@v4

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

- name: Install uv
uses: astral-sh/setup-uv@v4

- name: Install build dependencies
run: |
uv pip install --system build

- name: Build package
run: |
python -m build

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
49 changes: 32 additions & 17 deletions .github/workflows/segm.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: autobuild_segm
name: ci_segmentation
on:
pull_request:
branches:
Expand All @@ -9,42 +9,57 @@ on:
- master
- 'V**'
- dev

env:
GDRIVE_CREDENTIALS_DATA: ${{ secrets.GDRIVE_CREDENTIALS_DATA }}
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:
test-segmentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v4
- uses: actions/checkout@v4

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.10'
architecture: 'x64'
- uses: actions/setup-node@v3
python-version: '3.11'

- name: Install uv
uses: astral-sh/setup-uv@v4

- uses: actions/setup-node@v4
with:
node-version: '16'
- uses: iterative/setup-cml@v1
- name: Display Python version
run: python -c "import sys; print(sys.version)"
node-version: '20'

- uses: iterative/setup-cml@v3

- name: Cache uv packages
uses: actions/cache@v4
with:
path: ~/.cache/uv
key: ${{ runner.os }}-uv-segm-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-uv-segm-

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu
pip install -e '.[dev,cv,cv_semantic]'
pip install dvc dvc-gdrive
uv pip install --system torch torchvision --index-url https://download.pytorch.org/whl/cpu
uv pip install --system -e '.[dev,cv,cv_semantic]'
uv pip install --system dvc dvc-gdrive
npm install -g markdown-table-cli

- name: Download data
run: |
echo "$GDRIVE_CREDENTIALS_DATA" > credentials.json
dvc remote modify gdrive --local gdrive_user_credentials_file ./credentials.json
dvc pull
ls -la samples

- name: Test with pytest
run: |
pytest tests/semantic --capture=no
uv run pytest tests/semantic --capture=no

- name: Display report
run: |
echo "# Semantic Report" > report.md
Expand Down
Loading
Loading