forked from aws/aws-parallelcluster-cookbook
-
Notifications
You must be signed in to change notification settings - Fork 0
129 lines (125 loc) · 3.52 KB
/
Copy pathci.yml
File metadata and controls
129 lines (125 loc) · 3.52 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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: ParallelCluster Cookbook CI
on: [push, pull_request]
jobs:
depcheck:
runs-on: ubuntu-latest
name: DepCheck
steps:
- uses: actions/checkout@main
- name: Dependency Check
uses: dependency-check/Dependency-Check_Action@main
with:
path: '.'
format: 'HTML'
project: 'aws-parallelcluster-cookbook'
- name: Upload Test results
uses: actions/upload-artifact@master
with:
name: Depcheck report
path: ${{github.workspace}}/reports
ruby:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
name:
- Setup Ruby
include:
- name: Setup Ruby
steps:
- uses: actions/checkout@main
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Install dependencies
run: bundle install --with style
- name: Run Cookstyle
run: cookstyle .
python:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
name:
- Python 3.7 Tests
- Python 3.8 Tests
- Python 3.9 Tests
- Python 3.10 Tests
- Python 3.10 Tests Coverage
- Code Checks
include:
- name: Python 3.7 Tests
python: 3.7
toxenv: py37-nocov
- name: Python 3.8 Tests
python: 3.8
toxenv: py38-nocov
- name: Python 3.9 Tests
python: 3.9
toxenv: py39-nocov
- name: Python 3.10 Tests
python: '3.10'
toxenv: py310-nocov
- name: Python 3.10 Tests Coverage
python: '3.10'
toxenv: py310-cov
- name: Code Checks
python: '3.10'
toxenv: code-linters
steps:
- uses: actions/checkout@main
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install Tox and any other packages
run: pip install tox
- name: Run Tox
run: tox -e ${{ matrix.toxenv }}
- name: Upload code coverage report to Codecov
uses: codecov/codecov-action@v3
if: ${{ endsWith(matrix.toxenv, '-cov') }}
with:
files: coverage.xml
flags: unittests
verbose: true
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
with:
severity: warning
ignore_paths: cookbooks/third-party
rspec:
name: ChefSpec
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cookbook:
- cookbooks/aws-parallelcluster-awsbatch
- cookbooks/aws-parallelcluster-computefleet
- cookbooks/aws-parallelcluster-environment
- cookbooks/aws-parallelcluster-platform
- cookbooks/aws-parallelcluster-shared
- cookbooks/aws-parallelcluster-slurm
- cookbooks/aws-parallelcluster-entrypoints
steps:
- uses: actions/checkout@main
- uses: actionshub/chef-install@main
with:
omnitruckUrl: omnitruck.cinc.sh
project: cinc-workstation
version: 23
- name: Run ChefSpec on ${{ matrix.cookbook }}
run: |
cd ${{ matrix.cookbook }}
chef exec rspec
env:
CHEF_LICENSE: accept-no-persist