default-kedro157/.github/workflows/pythonapp.yml
2020-03-01 19:42:01 -06:00

138 lines
3.6 KiB
YAML

name: Kedro application
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- uses: actions/cache@v1
if: startsWith(runner.os, 'Linux')
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
# CACHE PIP
- uses: actions/cache@v1
if: startsWith(runner.os, 'macOS')
with:
path: ~/Library/Caches/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: actions/cache@v1
if: startsWith(runner.os, 'Windows')
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
# CACHE NODE
# - name: Get npm cache directory
# id: npm-cache
# run: |
# echo "::set-output name=dir::$(npm config get cache)"
# - uses: actions/cache@v1
# with:
# path: ${{ steps.npm-cache.outputs.dir }}
# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-node-
- name: Install kedro library
run: |
python -m pip install --upgrade pip
pip install kedro
- name: Install Project
run: |
kedro install
- name: lint
run: |
# pip install flake8
# stop the build if there are Python syntax errors or undefined names
kedro lint
# 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: Test
run: |
kedro test
- name: Viz
run: |
pip install kedro-viz
kedro viz --save-file gatsby-kedro-viz/src/pages/default-kedro157.json
# Docker build is slow, temporarily turn off
# - name: Docker
# run: |
# pip install kedro-docker
# kedro docker build
- name: Docs
run: |
kedro build-docs
- name: Package
run: |
kedro package
- name: Run
run: |
kedro run
- name: Use Node.js 13.x
uses: actions/setup-node@v1
with:
node-version: 13.x
registry-url: https://npm.pkg.github.com/
scope: '@ownername'
- name: install npm
run: |
npm i -g gatsby-cli
cd gatsby-kedro-viz && npm install
- name: gatsby build
run: |
cd gatsby-kedro-viz && gatsby build
- name: Deploy-viz
uses: crazy-max/ghaction-github-pages@v1.3.0
with:
target_branch: gh-pages
build_dir: gatsby-kedro-viz/public
env:
GITHUB_PAT: ${{ secrets.GITHUB_PAT }}
- name: Deploy-docs
uses: crazy-max/ghaction-github-pages@v1.3.0
with:
target_branch: gh-pages-docs
build_dir: docs/build/html
env:
GITHUB_PAT: ${{ secrets.GITHUB_PAT }}
# STORE ARTIFACTS
- uses: actions/upload-artifact@v1
with:
name: default-kedro157.json
path: gatsby-kedro-viz/src/pages/default-kedro157.json
- uses: actions/upload-artifact@v1
with:
name: docs
path: docs
- uses: actions/upload-artifact@v1
with:
name: gatsby-kedro-viz
path: gatsby-kedro-viz/public