Update build_and_publush.yaml #50
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
# This workflow will install Python dependencies, run tests and lint with a single version of Python | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
name: Build | |
on: | |
push: | |
branches: [ "dev" ] | |
pull_request: | |
branches: [ "dev" ] | |
permissions: | |
contents: read | |
jobs: | |
static-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v3 | |
with: | |
python-version: "3.9" | |
- name: Install Lint dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements-dev.txt | |
- name: Lint with isort | |
run: | | |
isort . -p=buffalo --skip=3rd/ --skip=docs/ --skip=build/ --skip=tests \ | |
--skip=.pyx --check-only | |
- name: Lint with flake8 for .py | |
run: | | |
flake8 buffalo ./ --filename='*.py' --ignore=E402,E501,E731,E741 --exclude=__init__.py,setup.py,3rd/,build/ --inline-quotes=double | |
- name: Lint with flake8 for .pyx | |
run: | | |
flake8 buffalo ./ --filename='*.pyx' --ignore=E225,E226,E227,E402,E501,E741,E901,E999 --exclude=__init__.py,3rd/,build/ | |
- name: Lint with cpplint | |
run: | | |
cpplint --linelength=140 --headers=hpp,h --extensions=cc,cpp \ | |
--filter=-runtime/int,-build/include_subdir,-legal/copyright,-readability/namespace,-readability/todo,-build/namespaces,-whitespace/comments,-readability/casting,-runtime/references,-whitespace/braces,-whitespace/forcolon,-build/include_order,-build/c++11 \ | |
--exclude=include/buffalo/cuda/als/als.hpp \ | |
--exclude=include/buffalo/cuda/bpr/bpr.hpp \ | |
--recursive ./lib ./include | |
# This flow fails due to lfs-quota exceeds | |
# build-and-test: | |
# needs: [static-lint] | |
# runs-on: ${{ matrix.os }} | |
# strategy: | |
# matrix: | |
# # TODO(ita9naiwa): Support macOS, WinOS | |
# os: [ubuntu-latest] | |
# python-version: ["3.8", "3.9", "3.10"] | |
# cibw-arch: [auto] | |
# exclude: | |
# - os: macos-latest | |
# cibw-arch: aarch64 | |
# - os: windows-latest | |
# cibw-arch: aarch64 | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: actions/setup-python@v4 | |
# with: | |
# python-version: ${{ matrix.python-version }} | |
# - name: Run image | |
# uses: abatilo/actions-poetry@v2 | |
# with: | |
# poetry-version: "1.3.1" | |
# - name: installation | |
# run: | | |
# git submodule update --init --recursive --remote | |
# pip install --upgrade pip setuptools wheel | |
# pip install git-lfs pytest | |
# pip install . | |
# git-lfs install | |
# git lfs pull origin master | |
# cd tests; pytest ./ |