forked from freeipa/ansible-freeipa
-
Notifications
You must be signed in to change notification settings - Fork 0
97 lines (91 loc) · 2.96 KB
/
test_deployment.yml
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
---
name: Test collection roles
on:
- push
- pull_request
env:
test_path: "${HOME}/.ansible/collections/ansible_collections/freeipa/ansible_freeipa"
jobs:
check_roles:
name: Verify modified roles
runs-on: ubuntu-latest
outputs:
ipaserver: ${{ steps.mod_files.outputs.ipaserver }}
ipareplica: ${{ steps.mod_files.outputs.ipareplica }}
ipaclient: ${{ steps.mod_files.outputs.ipaclient }}
steps:
- uses: actions/[email protected]
with:
fetch-depth: 1
- name: Check modified roles
id: mod_files
shell: bash
run: |
set -eu
git remote add upstream https://github.com/freeipa/ansible-freeipa
git fetch --depth 1 upstream master
git diff -M --name-only upstream/master \
| grep "^roles" \
| cut -d/ -f2 \
| sort | uniq \
| sed "s/\(.*\)/Testing: \1/"
git diff -M --name-only upstream/master \
| grep "^roles" \
| cut -d/ -f2 \
| sort | uniq \
| sed "s/\(.*\)/\1=true/" >> $GITHUB_OUTPUT
test_ipaserver:
name: Test ipaserver role
needs: [check_roles]
if: ${{ needs.check_roles.outputs.ipaserver }}
runs-on: ubuntu-latest
strategy:
matrix:
cluster_config:
- ipaserver_ca.yml
# - ipaserver_ca_dns_kra_ad.yml
# - ipaserver_ipaclient_ca.yml
steps:
- uses: actions/[email protected]
with:
fetch-depth: 1
- name: Build and install collection
run: |
utils/build-galaxy-release.sh -i \
-o "$(curl -L https://api.github.com/repos/freeipa/ansible-freeipa/releases 2>/dev/null \
| jq '.[0].tag_name' | tr -d '"v')-dev$(date +"%Y%m%d%H%M")"
- name: Test ipaserver
uses: rjeffman/FreeIPA-Cluster-Test@devel
with:
cluster_configuration: tests/deployment/${{ matrix.cluster_config }}
test_playbooks: >-
${{ env.test_path }}/tests/user/test_user.yml
${{ env.test_path }}/tests/group/test_group.yml
${{ env.test_path }}/tests/host/test_host.yml
${{ env.test_path }}/tests/hbacrule/test_hbacrule.yml
# test_ipareplica:
# name: Test ipareplica role
# needs: [check_roles]
# if: ${{ needs.check_roles.outputs.ipareplica }}
# runs-on: ubuntu-latest
# strategy:
# matrix:
# # The ipaserver configuration is always "ca-dns-kra-ad"
# cluster_config:
# - ipareplica_none.yml
# - ipareplica_ca.yml
# steps:
#
# test_ipaclientt:
# name: Test ipareplica role
# needs: [check_roles]
# if: ${{ needs.check_roles.outputs.ipareplica }}
# runs-on: ubuntu-latest
# strategy:
# matrix:
# # The ipaserver configuration is always "ca-dns-kra-ad"
# cluster_config:
# - ipareplica_none.yml
# - ipareplica_ca.yml
# - ipareplica_copy.yml
# steps: