Skip to content

FIX: Build galaxy

FIX: Build galaxy #22

---
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: 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: 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: 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: