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