diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..7428af2d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,36 @@ +# This workflow installs and tests pyDeltaRCM on mulitple python versions and operating systems. + +name: actions + +on: + push: + branches: [ develop ] + pull_request: + branches: [ develop ] + +jobs: + build: + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: [3.6, 3.7, 3.8] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pytest + pip install -r requirements.txt + - name: Install pyDeltaRCM + run: | + python setup.py install + - name: Test with pytest + run: | + pytest diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..1b917422 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,32 @@ +# This workflows will upload a Python Package using Twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: deploy + +on: + release: + types: [created] + +jobs: + deploy: + + # package runs on all os, so just upload from one for any + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..1d4a1986 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,51 @@ +# This workflow build and deploys the docs +# build docs on any pull request against develop, but only deploy docs on push to develop. + +name: actions + +on: + push: + branches: [ develop ] + pull_request: + branches: [ develop ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + persist-credentials: false + - name: Set up Python 3.x + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install -r requirements-docs.txt + sudo apt update -y && sudo apt install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended dvipng + script: + - + - name: Install pyDeltaRCM + run: | + python setup.py install + - name: Build and test documentation + run: | + (cd docs && make docs) + - name: Deploy to GitHub Pages + uses: JamesIves/github-pages-deploy-action@3.5.5 + on: + push: + branches: + - develop + with: + ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages + FOLDER: docs/build/html + GIT_CONFIG_NAME: deltarcm-helper + +