forked from RunestoneInteractive/RunestoneComponents
-
Notifications
You must be signed in to change notification settings - Fork 1
53 lines (47 loc) · 2.01 KB
/
python-package.yml
File metadata and controls
53 lines (47 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [master, peer_support]
pull_request:
branches: [master, peer_support]
jobs:
build:
runs-on: ubuntu-latest
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
strategy:
matrix:
python-version: ["3.7", "3.8"]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2.1.2
- uses: act10ns/slack@v1
with:
status: starting
channel: "#builds"
if: always()
- name: Setup npm and build runestone.js
run: |
npm install
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
# Install as editable so that tests run in cwd, instead of in wherever Python puts system lib. This is important because tests are run on the local (not system lib) files. Therefore, the npm run build produces its files locally, not in system libs; if installed in system libs, then the components won't be able to find these files.
pip install -e .
if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi
- name: Tests
run: |
pytest
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
channel: "#builds"
if: always()