Add data tagging PR to CI.

This commit is contained in:
Felix Fontein 2025-03-05 20:41:01 +01:00
parent bc64982259
commit 207ae01a05
3 changed files with 79 additions and 4 deletions
.azure-pipelines
.github/workflows
tests/utils/shippable

View file

@ -71,6 +71,20 @@ stages:
- test: 3 - test: 3
- test: 4 - test: 4
- test: extra - test: extra
- stage: Sanity_datatagging
displayName: Sanity datatagging
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: datatagging/sanity/{0}
targets:
- test: 1
- test: 2
- test: 3
- test: 4
- test: extra
- stage: Sanity_2_18 - stage: Sanity_2_18
displayName: Sanity 2.18 displayName: Sanity 2.18
dependsOn: [] dependsOn: []
@ -126,6 +140,21 @@ stages:
- test: '3.11' - test: '3.11'
- test: '3.12' - test: '3.12'
- test: '3.13' - test: '3.13'
- stage: Units_datatagging
displayName: Units datatagging
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: datatagging/units/{0}/1
targets:
- test: 3.8
- test: 3.9
- test: '3.10'
- test: '3.11'
- test: '3.12'
- test: '3.13'
- stage: Units_2_18 - stage: Units_2_18
displayName: Units 2.18 displayName: Units 2.18
dependsOn: [] dependsOn: []
@ -200,6 +229,26 @@ stages:
- 1 - 1
- 2 - 2
- 3 - 3
- stage: Remote_datatagging
displayName: Remote datatagging
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: datatagging/{0}
targets:
- name: macOS 15.3
test: macos/15.3
- name: RHEL 9.5
test: rhel/9.5
- name: FreeBSD 14.2
test: freebsd/14.2
- name: FreeBSD 13.5
test: freebsd/13.5
groups:
- 1
- 2
- 3
- stage: Remote_2_18 - stage: Remote_2_18
displayName: Remote 2.18 displayName: Remote 2.18
dependsOn: [] dependsOn: []
@ -280,6 +329,26 @@ stages:
- 1 - 1
- 2 - 2
- 3 - 3
- stage: Docker_datatagging
displayName: Docker datatagging
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: datatagging/linux/{0}
targets:
- name: Fedora 41
test: fedora41
- name: Alpine 3.21
test: alpine321
- name: Ubuntu 22.04
test: ubuntu2204
- name: Ubuntu 24.04
test: ubuntu2404
groups:
- 1
- 2
- 3
- stage: Docker_2_18 - stage: Docker_2_18
displayName: Docker 2.18 displayName: Docker 2.18
dependsOn: [] dependsOn: []
@ -409,19 +478,23 @@ stages:
- stage: Summary - stage: Summary
condition: succeededOrFailed() condition: succeededOrFailed()
dependsOn: dependsOn:
- Sanity_datatagging
- Sanity_devel - Sanity_devel
- Sanity_2_18 - Sanity_2_18
- Sanity_2_17 - Sanity_2_17
- Sanity_2_16 - Sanity_2_16
- Units_datatagging
- Units_devel - Units_devel
- Units_2_18 - Units_2_18
- Units_2_17 - Units_2_17
- Units_2_16 - Units_2_16
- Remote_devel_extra_vms - Remote_devel_extra_vms
- Remote_datatagging
- Remote_devel - Remote_devel
- Remote_2_18 - Remote_2_18
- Remote_2_17 - Remote_2_17
- Remote_2_16 - Remote_2_16
- Docker_datatagging
- Docker_devel - Docker_devel
- Docker_2_18 - Docker_2_18
- Docker_2_17 - Docker_2_17

View file

@ -76,7 +76,7 @@ jobs:
pre-test-cmd: >- pre-test-cmd: >-
mkdir -p ../../ansible mkdir -p ../../ansible
; ;
git clone --depth=1 --single-branch 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
pull-request-change-detection: 'true' pull-request-change-detection: 'true'
target-python-version: ${{ matrix.python }} target-python-version: ${{ matrix.python }}
testing-type: units testing-type: units
@ -160,7 +160,7 @@ jobs:
; ;
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.docker.git ../../community/docker git clone --depth=1 --single-branch https://github.com/ansible-collections/community.docker.git ../../community/docker
; ;
git clone --depth=1 --single-branch 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
pull-request-change-detection: 'true' pull-request-change-detection: 'true'
target: ${{ matrix.target }} target: ${{ matrix.target }}
target-python-version: ${{ matrix.python }} target-python-version: ${{ matrix.python }}

View file

@ -59,7 +59,9 @@ function retry
command -v pip command -v pip
pip --version pip --version
pip list --disable-pip-version-check 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 retry pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
else else
retry pip install "https://github.com/ansible/ansible/archive/stable-${ansible_version}.tar.gz" --disable-pip-version-check retry pip install "https://github.com/ansible/ansible/archive/stable-${ansible_version}.tar.gz" --disable-pip-version-check
@ -75,7 +77,7 @@ fi
# Nothing further should be added to this list. # 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. # 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) # 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 # retry ansible-galaxy -vvv collection install community.internal_test_tools