mybuddy/.github/workflows/ci.yml

76 lines
2.3 KiB
YAML
Raw Normal View History

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
env:
DJANGO_SETTINGS_MODULE: babybuddy.settings.ci
2021-11-07 20:53:57 +00:00
PIPENV_VENV_IN_PROJECT: enabled
strategy:
matrix:
2021-11-13 14:11:42 +00:00
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:
2021-11-13 14:31:29 +00:00
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
2021-11-07 21:53:58 +00:00
deploy:
needs: test
runs-on: ubuntu-latest
env:
DEPLOY_DEMO: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
steps:
- if: ${{ env.DEPLOY_DEMO }}
uses: actions/checkout@v2
- if: ${{ env.DEPLOY_DEMO }}
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 }}