Skip to content

Commit

Permalink
[CI] Python3.11 wheels and Node16 compatible actions
Browse files Browse the repository at this point in the history
  • Loading branch information
themarpe committed Oct 31, 2022
1 parent ada538c commit b8d764a
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 50 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/docker-hub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ jobs:
with:
args: /bin/sh -c "rm -rf /github/workspace/.* || rm -rf /github/workspace/*"
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: recursive
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASS }}
Expand All @@ -46,7 +46,7 @@ jobs:
run: echo "LUXONIS_IMAGE_TAG=${GITHUB_REF#refs/*/}-${{ matrix.arch }}" >> $GITHUB_ENV

- name: Build and push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
with:
push: true
file: ci/Dockerfile
Expand All @@ -62,7 +62,7 @@ jobs:
steps:

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASS }}
Expand Down
91 changes: 46 additions & 45 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cache .hunter folder
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.hunter
key: hunter-ubuntu-latest
- name: List .hunter cache directory
run: ls -a -l ~/.hunter/_Base/ || true
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install dependencies
Expand All @@ -55,7 +55,7 @@ jobs:
- name: Build target 'pybind11_mkdoc'
run: cmake --build build --target pybind11_mkdoc --parallel 4
- name: Upload docstring artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: docstrings
path: docstrings/
Expand All @@ -75,30 +75,30 @@ jobs:

- name: Cache .hunter folder
if: matrix.os != 'windows-latest'
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.hunter/
key: hunter-pytest-${{ matrix.os }}
- name: Cache .hunter folder
if: matrix.os == 'windows-latest'
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: C:/.hunter/
key: hunter-pytest-${{ matrix.os }}

- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: 'docstrings'
path: docstrings
- name: Specify docstring to use while building the wheel
run: echo "DEPTHAI_PYTHON_DOCSTRINGS_INPUT=$PWD/docstrings/depthai_python_docstring.hpp" >> $GITHUB_ENV

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: "3.10"

Expand Down Expand Up @@ -137,11 +137,11 @@ jobs:
steps:
- name: Print home directory
run: echo Home directory inside container $HOME
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: 'docstrings'
path: docstrings
Expand All @@ -156,7 +156,7 @@ jobs:
- name: Auditing wheel
run: for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat linux_armv7l -w wheelhouse/audited/; done
- name: Archive wheel artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: audited-wheels
path: wheelhouse/audited/
Expand All @@ -175,20 +175,20 @@ jobs:
runs-on: windows-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9, '3.10']
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11']
python-architecture: [x64, x86]
fail-fast: false
steps:
- name: Cache .hunter folder
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: C:/.hunter
key: hunter-msvc
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: 'docstrings'
path: docstrings
Expand All @@ -199,7 +199,7 @@ jobs:
run: echo "CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=${{ env.CMAKE_WINDOWS_SDK_VERSION }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-architecture }}
Expand All @@ -212,7 +212,7 @@ jobs:
- name: Building wheels
run: python -m pip wheel . -w ./wheelhouse/audited/ --verbose
- name: Archive wheel artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: audited-wheels
path: wheelhouse/audited/
Expand All @@ -230,11 +230,11 @@ jobs:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9, '3.10']
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11']
fail-fast: false
steps:
- name: Cache .hunter folder
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.hunter
key: hunter-macos-latest
Expand All @@ -243,19 +243,19 @@ jobs:
ls -a -l ~/.hunter/_Base/ || true
echo "PATH=$PATH"
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: 'docstrings'
path: docstrings
- name: Specify docstring to use while building the wheel
run: echo "DEPTHAI_PYTHON_DOCSTRINGS_INPUT=$PWD/docstrings/depthai_python_docstring.hpp" >> $GITHUB_ENV

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Append build hash if not a tagged commit
Expand All @@ -273,7 +273,7 @@ jobs:
- name: Auditing wheels
run: ci/repair-whl-macos.sh `pwd`/wheelhouse/* `pwd`/wheelhouse/audited
- name: Archive wheel artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: audited-wheels
path: wheelhouse/audited/
Expand All @@ -292,7 +292,7 @@ jobs:
steps:
# Cached locally on runner
# - name: Cache .hunter folder
# uses: actions/cache@v2
# uses: actions/cache@v3
# with:
# path: ~/.hunter
# key: hunter-macos-latest
Expand All @@ -301,11 +301,11 @@ jobs:
ls -a -l ~/.hunter/_Base/ || true
echo "PATH=$PATH"
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: 'docstrings'
path: docstrings
Expand All @@ -324,13 +324,13 @@ jobs:
# echo "DEPTHAI_INSTALLATION_DIR=$PWD/build_core/install/" >> $GITHUB_ENV

- name: Build wheels
run: for PYBIN in {9..10}; do "python3.${PYBIN}" -m pip wheel . -w wheelhouse/ --verbose; done
run: for PYBIN in {9..11}; do "python3.${PYBIN}" -m pip wheel . -w wheelhouse/ --verbose; done

- name: Auditing wheels
run: delocate-wheel -v -w wheelhouse/audited wheelhouse/*.whl

- name: Archive wheel artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: audited-wheels
path: wheelhouse/audited/
Expand All @@ -347,16 +347,16 @@ jobs:
needs: build-docstrings
runs-on: ubuntu-latest
container:
image: quay.io/pypa/manylinux2014_x86_64:2021-11-15-a808c18
image: quay.io/pypa/manylinux2014_x86_64:2022-10-30-402504a
env:
PLAT: manylinux2014_x86_64
steps:
- name: Cache .hunter folder
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.hunter
key: hunter-x86_64
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Installing libusb1-devel dependency
Expand All @@ -368,7 +368,7 @@ jobs:
- name: Create folder structure
run: mkdir -p wheelhouse/audited/

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: 'docstrings'
path: docstrings
Expand All @@ -390,11 +390,11 @@ jobs:
/opt/python/cp38-cp38/bin/python3.8 setup.py sdist --formats=gztar
mv dist/* wheelhouse/audited/
- name: Build wheels
run: for PYBIN in /opt/python/cp3{6..10}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
run: for PYBIN in /opt/python/cp3{6..11}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
- name: Audit wheels
run: for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat $PLAT -w wheelhouse/audited/; done
- name: Archive wheel artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: audited-wheels
path: wheelhouse/audited/
Expand All @@ -411,14 +411,14 @@ jobs:
needs: build-docstrings
runs-on: [self-hosted, linux, ARM64]
container:
image: quay.io/pypa/manylinux2014_aarch64:2021-11-15-a808c18
image: quay.io/pypa/manylinux2014_aarch64:2022-10-30-402504a
env:
PLAT: manylinux2014_aarch64
# Mount local hunter cache directory, instead of transfering to Github and back
volumes:
- /.hunter:/github/home/.hunter
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Installing libusb1-devel dependency
Expand All @@ -430,7 +430,7 @@ jobs:
- name: Create folder structure
run: mkdir -p wheelhouse/audited/

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: 'docstrings'
path: docstrings
Expand All @@ -447,11 +447,11 @@ jobs:
if: startsWith(github.ref, 'refs/tags/v') != true
run: echo "BUILD_COMMIT_HASH=${{github.sha}}" >> $GITHUB_ENV
- name: Building wheels
run: for PYBIN in /opt/python/cp3{6..10}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
run: for PYBIN in /opt/python/cp3{6..11}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
- name: Auditing wheels
run: for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat $PLAT -w wheelhouse/audited/; done
- name: Archive wheel artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: audited-wheels
path: wheelhouse/audited/
Expand All @@ -469,15 +469,17 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'

# Get tag version
# TODO(themarpe) - Node12, has to be updated
- name: Get tag version
id: tag
uses: battila7/get-version-action@v2

- uses: actions/setup-python@v2
- uses: actions/setup-python@v4
with:
python-version: '3.8'

Expand Down Expand Up @@ -508,10 +510,10 @@ jobs:
needs: [release]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: audited-wheels
path: wheelhouse/audited/
Expand All @@ -536,4 +538,3 @@ jobs:
repository: luxonis/robothub-apps
event-type: depthai-python-release
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'

0 comments on commit b8d764a

Please sign in to comment.