44# REANA is free software; you can redistribute it and/or modify it
55# under the terms of the MIT License; see LICENSE file for more details.
66
7- name : CI
7+ name : ci
88
99on : [push, pull_request]
1010
1111jobs :
12- lint-commitlint :
12+ docs-sphinx :
1313 runs-on : ubuntu-24.04
1414 steps :
1515 - name : Checkout
1616 uses : actions/checkout@v4
17- with :
18- fetch-depth : 0
1917
20- - name : Setup Node
21- uses : actions/setup-node@v4
18+ - name : Setup Python
19+ uses : actions/setup-python@v5
20+ with :
21+ python-version : " 3.12"
2222
23- - name : Install commitlint
23+ - name : Install system dependencies
2424 run : |
25- npm install conventional-changelog-conventionalcommits
26- npm install commitlint@latest
25+ sudo apt-get update -y
26+ sudo apt-get install python3-dev graphviz libgraphviz-dev pkg-config uuid-dev
2727
28- - name : Check commit message compliance of the recently pushed commit
29- if : github.event_name == 'push'
28+ - name : Install system dependencies
3029 run : |
31- ./run-tests.sh --check-commitlint HEAD~1 HEAD
30+ sudo apt-get update -y
31+ sudo apt install libcurl4-openssl-dev libssl-dev
32+ sudo apt-get install libgnutls28-dev
3233
33- - name : Check commit message compliance of the pull request
34- if : github.event_name == 'pull_request'
34+ - name : Install Python dependencies
3535 run : |
36- ./run-tests.sh --check-commitlint ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} ${{ github.event.pull_request.number }}
37-
38- lint-shellcheck :
39- runs-on : ubuntu-24.04
40- steps :
41- - name : Checkout
42- uses : actions/checkout@v4
36+ pip install -e .[docs,kubernetes]
4337
44- - name : Runs shell script static analysis
45- run : |
46- sudo apt-get install shellcheck
47- ./run-tests.sh --check-shellcheck
38+ - name : Run Sphinx documentation with doctests
39+ run : ./run-tests.sh --docs-sphinx
4840
49- lint -black :
41+ format -black :
5042 runs-on : ubuntu-24.04
5143 steps :
5244 - name : Checkout
@@ -60,25 +52,35 @@ jobs:
6052 - name : Check Python code formatting
6153 run : |
6254 pip install black
63- ./run-tests.sh --check -black
55+ ./run-tests.sh --format -black
6456
65- lint-flake8 :
57+ lint-commitlint :
6658 runs-on : ubuntu-24.04
6759 steps :
6860 - name : Checkout
6961 uses : actions/checkout@v4
70-
71- - name : Setup Python
72- uses : actions/setup-python@v5
7362 with :
74- python-version : " 3.12 "
63+ fetch-depth : 0
7564
76- - name : Check compliance with pep8, pyflakes and circular complexity
65+ - name : Setup Node
66+ uses : actions/setup-node@v4
67+
68+ - name : Install commitlint
7769 run : |
78- pip install flake8
79- ./run-tests.sh --check-flake8
70+ npm install conventional-changelog-conventionalcommits
71+ npm install commitlint@latest
8072
81- lint-pydocstyle :
73+ - name : Check commit message compliance of the recently pushed commit
74+ if : github.event_name == 'push'
75+ run : |
76+ ./run-tests.sh --lint-commitlint HEAD~1 HEAD
77+
78+ - name : Check commit message compliance of the pull request
79+ if : github.event_name == 'pull_request'
80+ run : |
81+ ./run-tests.sh --lint-commitlint ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} ${{ github.event.pull_request.number }}
82+
83+ lint-flake8 :
8284 runs-on : ubuntu-24.04
8385 steps :
8486 - name : Checkout
@@ -89,12 +91,12 @@ jobs:
8991 with :
9092 python-version : " 3.12"
9193
92- - name : Check compliance with Python docstring conventions
94+ - name : Check compliance with pep8, pyflakes and circular complexity
9395 run : |
94- pip install pydocstyle
95- ./run-tests.sh --check-pydocstyle
96+ pip install flake8
97+ ./run-tests.sh --lint-flake8
9698
97- lint-check- manifest :
99+ lint-manifest :
98100 runs-on : ubuntu-24.04
99101 steps :
100102 - name : Checkout
@@ -108,9 +110,9 @@ jobs:
108110 - name : Check Python manifest completeness
109111 run : |
110112 pip install check-manifest
111- ./run-tests.sh --check -manifest
113+ ./run-tests.sh --lint -manifest
112114
113- docs-sphinx :
115+ lint-pydocstyle :
114116 runs-on : ubuntu-24.04
115117 steps :
116118 - name : Checkout
@@ -121,23 +123,21 @@ jobs:
121123 with :
122124 python-version : " 3.12"
123125
124- - name : Install system dependencies
126+ - name : Check compliance with Python docstring conventions
125127 run : |
126- sudo apt-get update -y
127- sudo apt-get install python3-dev graphviz libgraphviz-dev pkg-config uuid-dev
128+ pip install pydocstyle
129+ ./run-tests.sh --lint-pydocstyle
128130
129- - name : Install system dependencies
130- run : |
131- sudo apt-get update -y
132- sudo apt install libcurl4-openssl-dev libssl-dev
133- sudo apt-get install libgnutls28-dev
131+ lint-shellcheck :
132+ runs-on : ubuntu-24.04
133+ steps :
134+ - name : Checkout
135+ uses : actions/checkout@v4
134136
135- - name : Install Python dependencies
137+ - name : Runs shell script static analysis
136138 run : |
137- pip install -e .[docs,kubernetes]
138-
139- - name : Run Sphinx documentation with doctests
140- run : ./run-tests.sh --check-sphinx
139+ sudo apt-get install shellcheck
140+ ./run-tests.sh --lint-shellcheck
141141
142142 python-tests :
143143 runs-on : ubuntu-24.04
@@ -165,7 +165,7 @@ jobs:
165165 pip install -e .[cwl,docs,kubernetes,snakemake,tests,yadage]
166166
167167 - name : Run pytest
168- run : ./run-tests.sh --check-pytest
168+ run : ./run-tests.sh --python-tests
169169
170170 - name : Codecov Coverage
171171 if : matrix.python-version == '3.12'
0 commit comments