Skip to content

adds numpy as an explicit dependency #119

adds numpy as an explicit dependency

adds numpy as an explicit dependency #119

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
platform: [x86, x64]
python-version: [3.8]
python-platform: [x86, x64]
exclude:
- platform: x86
python-platform: x64
- os: ubuntu-latest
python-platform: x86
- os: ubuntu-latest
platform: x86
- os: macOS-latest
python-platform: x86
- os: macOS-latest
platform: x86
- platform: x64
python-platform: x86
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-platform }}
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1.4.1
with:
arch: ${{ matrix.python-platform }}
if: matrix.os == 'windows-latest'
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade wheel setuptools Cython
pip install flake8 pytest
pip install -r requirements.txt
- name: Lint with flake8
shell: bash
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Run tests
shell: bash
run: |
python setup.py test
- name: Build package
shell: bash
run: |
python setup.py sdist bdist_wheel
- name: Archive packages
uses: actions/upload-artifact@v2
with:
name: sourcehold-py${{ matrix.python-version }}-${{ matrix.python-platform }}-${{ matrix.os }}-${{ matrix.platform }}
path: |
dist/*
test_package:
needs: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
platform: [x86, x64]
python-version: [3.8]
python-platform: [x86, x64]
exclude:
- platform: x86
python-platform: x64
- os: ubuntu-latest
python-platform: x86
- os: ubuntu-latest
platform: x86
- os: macOS-latest
python-platform: x86
- os: macOS-latest
platform: x86
- platform: x64
python-platform: x86
steps:
- name: Download package
uses: actions/download-artifact@v2
with:
name: sourcehold-py${{ matrix.python-version }}-${{ matrix.python-platform }}-${{ matrix.os }}-${{ matrix.platform }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-platform }}
- name: Install wheel
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade wheel setuptools
- name: Pip install module
run: |
python -m pip install $(ls *.whl)
shell: bash
- name: Pip test module
run: |
python -c "import sourcehold"
shell: bash
- name: Pip test cli
run: |
echo "hello world!" | sourcehold compression --compress --in - --out - | sourcehold compression --decompress --in - --out -
shell: bash