-
Notifications
You must be signed in to change notification settings - Fork 2
78 lines (61 loc) · 2.19 KB
/
main.yaml
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
name: Tests
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
test-templates:
runs-on: ubuntu-latest
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
- name: Set up Python 3.
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: pip install --no-color tosca-parser yamllint
- name: Check Yamllint in templates
run: |
yamllint -f standard -d "{extends: default, rules: {truthy: disable, document-start: disable, line-length: disable, braces: {max-spaces-inside: 1}, brackets: {max-spaces-inside: 1}}}" templates/*
- name: Parse TOSCA templates
run: |
for TEMPLATE in `grep -L 'parents:' templates/*`
do
echo $TEMPLATE
tosca-parser --template-file=$TEMPLATE
done
- name: Check partial templates
run: python tests/parse_partial.py templates/
- name: Check paramters in templates
run: python tests/parse_parameters.py templates/
test-artifacts:
runs-on: ubuntu-latest
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
- name: Set up Python 3.
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: pip install --no-color tosca-parser ansible ansible-lint
- name: Installing Ansible roles and collections for test.
run: |
export LC_ALL=C.UTF-8
ansible-galaxy install -r tests/requirements.yaml
- name: Check Ansible lint
run: |
for ARTIFACT in `find artifacts -type f -name "*.y*ml"`
do
echo $ARTIFACT
ansible-lint --nocolor --profile production -x var-naming,no-free-form,risky-shell-pipe,name,yaml[line-length],fqcn[action-core],fqcn[action],ignore-errors,no-changed-when,no-handler $ARTIFACT
done
- name: Check Ansible syntax
run: |
for ARTIFACT in `find artifacts -type f -name "*.y*ml"`
do
echo $ARTIFACT
ansible-playbook --syntax-check $ARTIFACT
done