mirror of https://github.com/snachodog/mybuddy.git
73 lines
2.2 KiB
YAML
73 lines
2.2 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
DJANGO_SETTINGS_MODULE: babybuddy.settings.ci
|
|
PIPENV_VENV_IN_PROJECT: enabled
|
|
strategy:
|
|
matrix:
|
|
python-version: [ '3.6', '3.7', '3.8', '3.9', '3.10' ]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '14'
|
|
- run: npm install -g gulp-cli
|
|
- run: npm install
|
|
- name: Install pipenv
|
|
run: |
|
|
python -m pip install --upgrade pipenv wheel
|
|
# - name: Cache Python dependencies
|
|
# id: cache-pipenv
|
|
# uses: actions/cache@v2
|
|
# with:
|
|
# path: ./.venv
|
|
# key: ${{ runner.os }}-python-${{ matrix.python-version }}-pipenv-${{ hashFiles('**/requirements.txt') }}
|
|
# restore-keys: |
|
|
# ${{ runner.os }}-python-${{ matrix.python-version }}-pipenv-
|
|
- name: Install dependencies
|
|
# if: steps.cache-pipenv.outputs.cache-hit != 'true'
|
|
run: |
|
|
pipenv install --dev
|
|
- run: gulp lint
|
|
- run: gulp coverage
|
|
- name: Submit results to Coveralls
|
|
uses: AndreMiras/coveralls-python-action@develop
|
|
with:
|
|
github-token: ${{ secrets.github_token }}
|
|
flag-name: test-python-${{ matrix.python-version }}
|
|
parallel: true
|
|
coveralls_finish:
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Coveralls Finished
|
|
uses: AndreMiras/coveralls-python-action@develop
|
|
with:
|
|
github-token: ${{ secrets.github_token }}
|
|
parallel-finished: true
|
|
deploy:
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Deploy demo
|
|
uses: akhileshns/heroku-deploy@v3.12.12
|
|
with:
|
|
heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
|
|
heroku_app_name: ${{ secrets.HEROKU_APP_NAME }}
|
|
heroku_email: ${{ secrets.HEROKU_EMAIL }}
|