Add data tagging PR to CI.

This commit is contained in:
Felix Fontein 2025-03-05 20:41:02 +01:00
parent 8694f488d7
commit 6b95b8eee6
3 changed files with 59 additions and 6 deletions

View File

@ -64,6 +64,19 @@ stages:
test: 'devel/sanity/extra'
- name: Units
test: 'devel/units/1'
- stage: Ansible_datatagging
displayName: Sanity & Units datatagging
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
targets:
- name: Sanity
test: 'datatagging/sanity/1'
- name: Sanity Extra # Only on datatagging
test: 'datatagging/sanity/extra'
- name: Units
test: 'datatagging/units/1'
- stage: Ansible_2_18
displayName: Sanity & Units 2.18
dependsOn: []
@ -118,6 +131,25 @@ stages:
groups:
- 4
- 5
- stage: Docker_datatagging
displayName: Docker datatagging
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: datatagging/linux/{0}
targets:
- name: Fedora 41
test: fedora41
- name: Ubuntu 22.04
test: ubuntu2204
- name: Ubuntu 24.04
test: ubuntu2404
- name: Alpine 3.21
test: alpine321
groups:
- 4
- 5
- stage: Docker_2_18
displayName: Docker 2.18
dependsOn: []
@ -208,6 +240,22 @@ stages:
- 3
- 4
- 5
- stage: Remote_datatagging
displayName: Remote datatagging
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: datatagging/{0}
targets:
- name: RHEL 9.5 with Docker SDK, urllib3, requests from sources
test: rhel/9.5-dev-latest
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Remote_2_18
displayName: Remote 2.18
dependsOn: []
@ -267,14 +315,17 @@ stages:
- stage: Summary
condition: succeededOrFailed()
dependsOn:
- Ansible_datatagging
- Ansible_devel
- Ansible_2_18
- Ansible_2_17
- Ansible_2_16
- Remote_datatagging
- Remote_devel
- Remote_2_18
- Remote_2_17
- Remote_2_16
- Docker_datatagging
- Docker_devel
- Docker_2_18
- Docker_2_17

View File

@ -65,9 +65,9 @@ jobs:
pull-request-change-detection: 'true'
testing-type: units
pre-test-cmd: >-
git clone --depth=1 --single-branch --branch stable-1 https://github.com/ansible-collections/community.library_inventory_filtering.git ../../community/library_inventory_filtering_v1
git clone --depth=1 --single-branch --branch ci-data-tagging https://github.com/felixfontein/community.library_inventory_filtering.git ../../community/library_inventory_filtering_v1
;
git clone --depth=1 --single-branch --branch main https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
git clone --depth=1 --single-branch --branch ci-data-tagging https://github.com/felixfontein/community.internal_test_tools.git ../../community/internal_test_tools
integration:
runs-on: ubuntu-latest
@ -121,7 +121,7 @@ jobs:
;
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git ../../community/general
;
git clone --depth=1 --single-branch --branch stable-1 https://github.com/ansible-collections/community.library_inventory_filtering.git ../../community/library_inventory_filtering_v1
git clone --depth=1 --single-branch --branch ci-data-tagging https://github.com/felixfontein/community.library_inventory_filtering.git ../../community/library_inventory_filtering_v1
${{ matrix.extra-constraints && format('; echo ''{0}'' >> tests/utils/constraints.txt', matrix.extra-constraints) || '' }}
;
cat tests/utils/constraints.txt

View File

@ -59,7 +59,9 @@ function retry
command -v pip
pip --version
pip list --disable-pip-version-check
if [ "${ansible_version}" == "devel" ]; then
if [ "${ansible_version}" == "datatagging" ]; then
retry pip install https://github.com/ansible/ansible/archive/refs/pull/84621/head.tar.gz --disable-pip-version-check
elif [ "${ansible_version}" == "devel" ]; then
retry pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
else
retry pip install "https://github.com/ansible/ansible/archive/stable-${ansible_version}.tar.gz" --disable-pip-version-check
@ -73,14 +75,14 @@ fi
# START: HACK
retry git clone --depth=1 --single-branch --branch stable-1 https://github.com/ansible-collections/community.library_inventory_filtering.git "${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/community/library_inventory_filtering_v1"
retry git clone --depth=1 --single-branch --branch ci-data-tagging https://github.com/felixfontein/community.library_inventory_filtering.git "${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/community/library_inventory_filtering_v1"
# NOTE: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429)
# retry ansible-galaxy -vvv collection install community.library_inventory_filtering_v1
if [ "${test}" == "sanity/extra" ] || [ "${test}" == "units/1" ]; then
# Nothing further should be added to this list.
# This is to prevent modules or plugins in this collection having a runtime dependency on other collections.
retry git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git "${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/community/internal_test_tools"
retry git clone --depth=1 --single-branch --branch ci-data-tagging https://github.com/felixfontein/community.internal_test_tools.git "${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/community/internal_test_tools"
# NOTE: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429)
# retry ansible-galaxy -vvv collection install community.internal_test_tools
fi