default-kedro157/.github/workflows/pythonapp.yml
2020-03-01 20:00:51 -06:00

158 lines
4 KiB
YAML

name: Kedro application
on: [push]
jobs:
setup_python:
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-
- 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
kedro_test:
needs: setup_python
runs-on: ubuntu-latest
steps:
- name: Test
run: |
kedro test
kedro_viz:
needs: [setup_python, kedro_test]
runs-on: ubuntu-latest
steps:
- 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
kedro_build_docs:
needs: [setup_python, kedro_test]
runs-on: ubuntu-latest
steps:
- name: Docs
run: |
kedro build-docs
- 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 }}
kedro_package:
needs: [setup_python, kedro_test]
runs-on: ubuntu-latest
steps:
- name: Package
run: |
kedro package
kedro_run_pipeline:
needs: [setup_python, kedro_test]
runs-on: ubuntu-latest
steps:
- name: Run
run: |
kedro run
setup_node:
runs-on: ubuntu-latest
steps:
- 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
build_viz:
needs: [setup_python, setup_node, kedro_test]
runs-on: ubuntu-latest
steps:
- 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 }}
# STORE ARTIFACTS
store_artifacts:
needs: [setup_python, setup_node, kedro_test, kedro_viz, kedro_build_docs, kedro_package]
runs-on: ubuntu-latest
steps:
- 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