-
Notifications
You must be signed in to change notification settings - Fork 7
113 lines (98 loc) · 3.25 KB
/
Copy pathpython-app.yml
File metadata and controls
113 lines (98 loc) · 3.25 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# This workflow will check formatting with Black, install Python dependencies,
# and run tests with pytest
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
# Apply this workflow when creating a pull request or pushing a commit to a PR
on: pull_request
jobs:
black-formatting-check:
name: Black formatting check
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
# This will halt the action if formatting fails
# Note: This will also fail if there are syntax errors
- uses: psf/black@stable
with:
version: "22.6.0"
detect-changes:
name: Detect changed rulesets
runs-on: ubuntu-latest
outputs:
ashrae9012019: ${{ steps.filter.outputs.ashrae9012019 }}
ashrae9012022: ${{ steps.filter.outputs.ashrae9012022 }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Detect file changes
id: filter
uses: dorny/paths-filter@v3
with:
filters: |
ashrae9012019:
- 'rct229/rulesets/ashrae9012019/**'
- 'rct229/ruletest_engine/ruletest_jsons/ashrae9012019/**'
ashrae9012022:
- 'rct229/rulesets/ashrae9012022/**'
- 'rct229/ruletest_engine/ruletest_jsons/ashrae9012022/**'
run-unit-tests:
name: Run unit tests
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.4
- name: Install venv
run: poetry install
- name: Run pytests
run: poetry run pytest -v
run-ruletests-2019:
name: Run 2019 rule tests
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.ashrae9012019 == 'true'
env:
RCT_DISABLE_CACHE: "1"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.4
- name: Install dependencies
run: poetry install
- name: Run rule tests for 90.1-2019
run: poetry run rct229 test -rs ashrae9012019
run-ruletests-2022:
name: Run 2022 rule tests
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.ashrae9012022 == 'true'
env:
RCT_DISABLE_CACHE: "1"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.4
- name: Install dependencies
run: poetry install
- name: Run rule tests for 90.1-2022
run: poetry run rct229 test -rs ashrae9012022