-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* change to github actions --------- Co-authored-by: gferraro <[email protected]>
- Loading branch information
Showing
2 changed files
with
142 additions
and
56 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
name: Classifier Release | ||
run-name: Build classifier | ||
on: [push] | ||
jobs: | ||
tests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v4 | ||
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.10' | ||
architecture: 'x64' | ||
|
||
- name: Display Python version | ||
run: python -c "import sys; print(sys.version)" | ||
|
||
- run: sudo apt-get update | ||
- run: python -m pip install --upgrade pip | ||
|
||
- run: pip install black --upgrade | ||
- run: ./check-style | ||
|
||
- name: Install dependencies | ||
run: | | ||
pip install cmake freezegun gdown | ||
sudo apt install -y python3-dbus ffmpeg build-essential libdbus-glib-1-dev libgirepository1.0-dev tzdata libcairo2-dev libjpeg-dev python3-cairo libhdf5-dev libopencv-dev cmake | ||
pip install -r requirements.txt | ||
|
||
- name: Run tests | ||
run: | | ||
pip install pytest | ||
pytest -s | ||
- name: Test Build | ||
run: python3 src/build.py -c tests/test-config.yaml tests --ext ".cptv" | ||
|
||
- name: Test Classify | ||
run: | | ||
sudo mkdir /var/spool/cptv | ||
sudo chmod -R 777 /var/spool/cptv | ||
wget -O thermal-model.tar https://github.com/TheCacophonyProject/AI-Model/releases/download/v0.5/inc3-19012023-tflite.tar | ||
mkdir thermal-model | ||
tar xzvf thermal-model.tar -C thermal-model --strip-components=1 | ||
pip install tflite-runtime==2.14.0 | ||
python3 src/classify.py -c tests/test-config.yaml ./tests/clips/ | ||
python3 src/piclassify.py --file tests/clips/possum.cptv --thermal-config-file tests/config.toml -c tests/test-config.yaml | ||
pypi-build: | ||
name: Build distribution 📦 | ||
runs-on: ubuntu-latest | ||
needs: | ||
- tests | ||
if: github.ref == 'refs/heads/pi-classifier' | ||
|
||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v4 | ||
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.10' | ||
architecture: 'x64' | ||
|
||
- name: Install pypa/build | ||
run: >- | ||
python3 -m | ||
pip install | ||
build | ||
--user | ||
- name: Build a binary wheel and a source tarball | ||
run: python3 -m build | ||
- name: Store the distribution packages | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: python-package-distributions | ||
path: dist/ | ||
|
||
pypi-publish: | ||
name: Upload release to PyPI | ||
needs: | ||
- pypi-build | ||
if: github.ref == 'refs/heads/pi-classifier' | ||
|
||
runs-on: ubuntu-latest | ||
environment: | ||
name: release | ||
url: https://pypi.org/project/classifier-pipeline/ | ||
|
||
permissions: | ||
id-token: write | ||
steps: | ||
- name: Download all the dists | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: python-package-distributions | ||
path: dist/ | ||
- name: Publish package distributions to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
|
||
docker: | ||
runs-on: ubuntu-latest | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
environment: | ||
name: docker | ||
needs: | ||
- tests | ||
steps: | ||
- | ||
name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- | ||
name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
- | ||
name: Docker meta | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: cacophonyproject/classifier | ||
|
||
- | ||
name: Login to Docker Hub | ||
uses: docker/login-action@v3 | ||
with: | ||
username: ${{ secrets.DOCKER_USERNAME }} | ||
password: ${{ secrets.DOCKER_PASSWORD }} | ||
- | ||
name: Build and push | ||
uses: docker/build-push-action@v6 | ||
with: | ||
file: ./docker/Dockerfile | ||
push: true | ||
# tags: cacophonyproject/classifier:latest | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} |
This file was deleted.
Oops, something went wrong.