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.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: 16 - 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-docs: needs: test name: Deploy docs runs-on: ubuntu-latest if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} steps: - name: Checkout main uses: actions/checkout@v2 - name: Deploy docs uses: mhausenblas/mkdocs-deploy-gh-pages@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} REQUIREMENTS: docs/requirements.txt # 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 }}