-
Notifications
You must be signed in to change notification settings - Fork 57
123 lines (112 loc) · 3.52 KB
/
ans-int-test-lkp-version.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
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
# README:
# - When changing the module name, it needs to be changed in 'env:MODULE_NAME' and in 'on:pull_requests:path'!
#
# Resources:
# - Template for this file: https://github.com/ansible-collections/collection_template/blob/main/.github/workflows/ansible-test.yml
# - About Ansible integration tests: https://docs.ansible.com/ansible/latest/dev_guide/testing_integration.html
env:
NAMESPACE: checkmk
COLLECTION_NAME: general
MODULE_NAME: lookup_version
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
name: Ansible Integration Tests for Version Lookup Module
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 0'
pull_request:
branches:
- main
- devel
paths:
- 'plugins/lookup/version.py'
push:
paths:
- 'plugins/lookup/version.py'
- '.github/workflows/ans-int-test-lkp-version.yaml'
jobs:
integration:
runs-on: ubuntu-22.04
name: Ⓐ${{ matrix.ansible }}+py${{ matrix.python }}
strategy:
fail-fast: false
matrix:
ansible:
- stable-2.15
- stable-2.16
- stable-2.17
- devel
python:
- '3.9'
- '3.10'
- '3.11'
- '3.12'
exclude:
# Exclude unsupported sets.
- ansible: stable-2.15
python: '3.12'
- ansible: stable-2.16
python: '3.9'
- ansible: stable-2.17
python: '3.9'
- ansible: devel
python: '3.9'
- ansible: devel
python: '3.10'
services:
old_cre:
image: checkmk/check-mk-raw:2.2.0p37
ports:
- 5022:5000
env:
CMK_SITE_ID: "old_cre"
CMK_PASSWORD: "Sup3rSec4et!"
stable_cre:
image: checkmk/check-mk-raw:2.3.0p23
ports:
- 5023:5000
env:
CMK_SITE_ID: "stable_cre"
CMK_PASSWORD: "Sup3rSec4et!"
stable_cme:
image: checkmk/check-mk-managed:2.3.0p23
ports:
- 5323:5000
env:
CMK_SITE_ID: "stable_cme"
CMK_PASSWORD: "Sup3rSec4et!"
beta_cre:
image: checkmk/check-mk-raw:master-daily
ports:
- 5024:5000
env:
CMK_SITE_ID: "beta_cre"
CMK_PASSWORD: "Sup3rSec4et!"
beta_cme:
image: checkmk/check-mk-managed:master-daily
ports:
- 5324:5000
env:
CMK_SITE_ID: "beta_cme"
CMK_PASSWORD: "Sup3rSec4et!"
steps:
- name: Check out code
uses: actions/checkout@v4
with:
path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install ansible-base (${{ matrix.ansible }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
- name: Provide secrets file
run: echo "${{ secrets.CHECKMK_DOWNLOAD_PW }}" > ./tests/integration/files/.dl-secret
working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}
env:
CHECKMK_DOWNLOAD_PW: ${{ secrets.CHECKMK_DOWNLOAD_PW }}
- name: Run integration test
run: ansible-test integration ${{env.MODULE_NAME}} -v --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }}
working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}