diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 00000000..36db24de --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,42 @@ +# This workflow will install Python dependencies and run tests +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: SimuPOP + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + - name: Install boost + run: | + sudo apt-get install libboost-all-dev + ln -s /usr/include/boost/ ./boost_1_70_0 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Install simuPOP + run: python setup.py install + - name: Run tests + run: python ./test/run_tests.py diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..aa094d9f --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +numpy +matplotlib