diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..bbb5615 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,57 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + - macos-latest + - windows-latest + python: + - "3.5" + - "3.8" + - pypy-3.7 + install_libcxx: + - false + - true + exclude: + - os: windows-latest + install_libcxx: true + - os: macos-latest + install_libcxx: true + - os: macos-latest + python: pypy-3.7 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Uninstall libcxx + if: ${{ matrix.os == 'ubuntu-latest' && !matrix.install_libcxx }} + run: | + DEBIAN_FRONTEND=noninteractive sudo apt-get purge -y 'libc++*' + - name: Install libcxx + if: ${{ matrix.install_libcxx }} + run: | + DEBIAN_FRONTEND=noninteractive sudo apt-get install -y libc++-dev libc++abi-dev + - name: Install flake8 + run: python -m pip install flake8 + - name: Fetch fixtures + run: ./script/fetch-fixtures + - name: Lint + run: ./script/lint + - name: Test + shell: bash + run: | + CFLAGS="-O0 -g" python setup.py test