diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 3a5d7fd..d785bea 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -20,44 +20,76 @@ on: - develop jobs: - docs: + check-test-deploy-docs: runs-on: ubuntu-latest + env: + DOCS: "" strategy: matrix: - python-version: [3.7] - tensorflow: [2.2.1] - poetry-version: [1.1.6] + python-version: [ 3.7 ] + tensorflow: [ 2.2.1 ] name: Python-${{ matrix.python-version }} tensorflow${{ matrix.tensorflow }} - env: - VERSION_TF: ${{ matrix.tensorflow }} steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: + #---------------------------------------------- + # check-out repo and set-up python + #---------------------------------------------- + - name: Check out repository + uses: actions/checkout@v2 + - name: Set up python + uses: actions/setup-python@v2 + with: python-version: ${{ matrix.python-version }} - - name: Run image - uses: abatilo/actions-poetry@v2.0.0 - with: - poetry-version: ${{ matrix.poetry-version }} - - uses: actions/cache@v2 - with: - path: ${{ env.pythonLocation }} - key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('notebook_requirements.txt') }}-${{ hashFiles('tests_requirements.txt') }} - # ------------ install markovflow - - name: Install package - run: poetry install - - name: make documentation - run: | - make docs - - run: | - TMP_DIR=$(mktemp -d -p $(pwd)) - mv docs/_build/html/* $TMP_DIR - rm -rf docs - mv $TMP_DIR docs - touch docs/.nojekyll - - run: | - git add . - git config --global user.email "none" - git config --global user.name "github-actions-bot" - git commit -m "build documentation" - git push -f origin HEAD:gh-pages + #---------------------------------------------- + # ----- install & configure poetry ----- + #---------------------------------------------- + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + version: 1.1.6 + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true + #---------------------------------------------- + # load cached venv if cache exists + #---------------------------------------------- + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v2 + with: + path: .venv + key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + #---------------------------------------------- + # install dependencies if cache does not exist + #---------------------------------------------- + - name: Install dependencies + if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' + run: poetry install --no-interaction --no-root + #---------------------------------------------- + # install root project + #---------------------------------------------- + - name: Install library + run: poetry install --no-interaction + #---------------------------------------------- + # run test suite + #---------------------------------------------- + - name: Run tests + run: poetry run task quicktest + #---------------------------------------------- + # build documentation + #---------------------------------------------- + - name: make documentation + run: | + source .venv/bin/activate + make docs + - run: | + TMP_DIR=$(mktemp -d -p $(pwd)) + mv docs/_build/html/* $TMP_DIR + rm -rf docs + mv $TMP_DIR docs + touch docs/.nojekyll + - run: | + git add . + git config --global user.email "none" + git config --global user.name "github-actions-bot" + git commit -m "build documentation" + git push -f origin HEAD:gh-pages diff --git a/.github/workflows/quality-check.yaml b/.github/workflows/quality-check.yaml index 0476809..147be80 100644 --- a/.github/workflows/quality-check.yaml +++ b/.github/workflows/quality-check.yaml @@ -17,32 +17,56 @@ name: Tests on: [push] jobs: - check-and-test: + test: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.7] - tensorflow: [2.2.1] - poetry-version: [1.1.6] + python-version: [ 3.7 ] + tensorflow: [ 2.2.1 ] name: Python-${{ matrix.python-version }} tensorflow${{ matrix.tensorflow }} - env: - VERSION_TF: ${{ matrix.tensorflow }} steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: + #---------------------------------------------- + # check-out repo and set-up python + #---------------------------------------------- + - name: Check out repository + uses: actions/checkout@v2 + - name: Set up python + uses: actions/setup-python@v2 + with: python-version: ${{ matrix.python-version }} - - name: Run image - uses: abatilo/actions-poetry@v2.0.0 - with: - poetry-version: ${{ matrix.poetry-version }} - - uses: actions/cache@v2 - with: - path: ${{ env.pythonLocation }} - key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('notebook_requirements.txt') }}-${{ hashFiles('tests_requirements.txt') }} - # ------------ install markovflow - - name: Install package - run: poetry install - # ------------ run tests - - name: Run tests - run: poetry run task quicktest + #---------------------------------------------- + # ----- install & configure poetry ----- + #---------------------------------------------- + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + version: 1.1.6 + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true + + #---------------------------------------------- + # load cached venv if cache exists + #---------------------------------------------- + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v2 + with: + path: .venv + key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + #---------------------------------------------- + # install dependencies if cache does not exist + #---------------------------------------------- + - name: Install dependencies + if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' + run: poetry install --no-interaction --no-root + #---------------------------------------------- + # install root project + #---------------------------------------------- + - name: Install library + run: poetry install --no-interaction + #---------------------------------------------- + # run test suite + #---------------------------------------------- + - name: Run tests + run: poetry run task quicktest diff --git a/.github/workflows/upload-pypi.yaml b/.github/workflows/upload-pypi.yaml index d285816..d045010 100644 --- a/.github/workflows/upload-pypi.yaml +++ b/.github/workflows/upload-pypi.yaml @@ -14,8 +14,6 @@ name: Upload-PyPI - - on: workflow_dispatch: push: @@ -23,66 +21,62 @@ on: tags: v[0-9]+.[0-9]+.[0-9]+* jobs: - check-and-test: + check-test-deploy-docs: runs-on: ubuntu-latest + env: + DOCS: "" strategy: matrix: - python-version: [3.7] - tensorflow: [2.2.1] - poetry-version: [1.1.6] - name: Python-${{ matrix.python-version }} + python-version: [ 3.7 ] + tensorflow: [ 2.2.1 ] + name: Python-${{ matrix.python-version }} tensorflow${{ matrix.tensorflow }} steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + #---------------------------------------------- + # check-out repo and set-up python + #---------------------------------------------- + - name: Check out repository + uses: actions/checkout@v2 + - name: Set up python + uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - # ------------ Install poetry - - name: Setup pip/poetry - run: | - pip install -U pip poetry twine - poetry config virtualenvs.create false - # ------------ build and install package - - name: Install package - run: poetry install - # ------------ run tests - - name: Run tests - run: poetry run task test - pypi: - # needs: check-and-test - runs-on: ubuntu-latest - strategy: - matrix: - python-version: [3.7] - poetry-version: [1.1.6] - name: Release PyPi package - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + #---------------------------------------------- + # ----- install & configure poetry ----- + #---------------------------------------------- + - name: Install Poetry + uses: snok/install-poetry@v1 with: - python-version: ${{ matrix.python-version }} - # ------------ Install poetry - - name: Setup pip/poetry + version: 1.1.6 + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true + #---------------------------------------------- + # load cached venv if cache exists + #---------------------------------------------- + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v2 + with: + path: .venv + key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + #---------------------------------------------- + # install dependencies if cache does not exist + #---------------------------------------------- + - name: Install dependencies + if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' + run: poetry install --no-interaction --no-root + #---------------------------------------------- + # install root project + #---------------------------------------------- + - name: Install library run: | - pip install -U pip poetry twine - poetry config virtualenvs.create false - # ------------ build and install package - # - name: Install package - # run: | - # poetry install - # poetry build - - name: Build and publish to pypi - uses: JRubics/poetry-publish@v1.8 + poetry install --no-interaction + poetry build + #---------------------------------------------- + # publish to pypi + #---------------------------------------------- + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 with: - python_version: "3.7" - poetry_version: "==1.1.6" # (PIP version specifier syntax) - pypi_token: ${{ secrets.PYPI_TOKEN }} - build_format: "sdist" - repository_name: "markovflow" - repository_url: "https://github.com/secondmind-labs/markovflow" - ignore_dev_requirements: "yes" - # # ------------ publish to pypi - # - name: Publish to PyPI - # uses: pypa/gh-action-pypi-publish@release/v1 - # with: - # user: __token__ - # password: ${{ secrets.PYPI_TOKEN }} + user: __token__ + password: ${{ secrets.PYPI_TOKEN }} diff --git a/VERSION b/VERSION index 5c4511c..9bbaee4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.7 \ No newline at end of file +0.0.12 \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 851747d..21e1f53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "markovflow" -version = "0.0.7" +version = "0.0.12" description = "A Tensorflow based library for Time Series Modelling with Gaussian Processes" authors = ["Markovflow Contributors "] packages = [{include = "markovflow"}]