Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add attribute --matrix-scope for tox-ansible #242

Merged
merged 6 commits into from
Nov 16, 2023

Conversation

KB-perByte
Copy link
Member

--matrix-scope helps generate dedicated matrix scope for units, sanity, integration

impact details -
❯ tox --ansible --gh-matrix --matrix-scope unit --conf tox-ansible.ini

[
  {
    "description": "Unit tests using ansible 2.9 and python 3.8",
    "factors": [
      "unit",
      "py3.8",
      "2.9"
    ],
    "name": "unit-py3.8-2.9",
    "python": "3.8"
  },
  {
    "description": "Unit tests using ansible-core 2.12 and python 3.8",
    "factors": [
      "unit",
      "py3.8",
      "2.12"
    ],
    "name": "unit-py3.8-2.12",
    "python": "3.8"
  },
  {
    "description": "Unit tests using ansible-core 2.13 and python 3.8",
    "factors": [
      "unit",
      "py3.8",
      "2.13"
    ],
    "name": "unit-py3.8-2.13",
    "python": "3.8"
  },
  {
    "description": "Unit tests using ansible-core 2.12 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.12"
    ],
    "name": "unit-py3.9-2.12",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.13 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.13"
    ],
    "name": "unit-py3.9-2.13",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.14 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.14"
    ],
    "name": "unit-py3.9-2.14",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.15 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.15"
    ],
    "name": "unit-py3.9-2.15",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.12 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.12"
    ],
    "name": "unit-py3.10-2.12",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.13 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.13"
    ],
    "name": "unit-py3.10-2.13",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.14 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.14"
    ],
    "name": "unit-py3.10-2.14",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.15 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.15"
    ],
    "name": "unit-py3.10-2.15",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.16 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.16"
    ],
    "name": "unit-py3.10-2.16",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core devel and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "devel"
    ],
    "name": "unit-py3.10-devel",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core milestone and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "milestone"
    ],
    "name": "unit-py3.10-milestone",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.14 and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "2.14"
    ],
    "name": "unit-py3.11-2.14",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core 2.15 and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "2.15"
    ],
    "name": "unit-py3.11-2.15",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core 2.16 and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "2.16"
    ],
    "name": "unit-py3.11-2.16",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core devel and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "devel"
    ],
    "name": "unit-py3.11-devel",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core milestone and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "milestone"
    ],
    "name": "unit-py3.11-milestone",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core 2.16 and python 3.12",
    "factors": [
      "unit",
      "py3.12",
      "2.16"
    ],
    "name": "unit-py3.12-2.16",
    "python": "3.12"
  },
  {
    "description": "Unit tests using ansible-core devel and python 3.12",
    "factors": [
      "unit",
      "py3.12",
      "devel"
    ],
    "name": "unit-py3.12-devel",
    "python": "3.12"
  },
  {
    "description": "Unit tests using ansible-core milestone and python 3.12",
    "factors": [
      "unit",
      "py3.12",
      "milestone"
    ],
    "name": "unit-py3.12-milestone",
    "python": "3.12"
  }
]

^likewise for sanity and integration, defaults to all

❯ tox --ansible --gh-matrix --conf tox-ansible.ini (no impact)
❯ tox --ansible --gh-matrix --matrix-scope all --conf tox-ansible.ini (produces same result)

[
  {
    "description": "Integration tests using ansible 2.9 and python 3.8",
    "factors": [
      "integration",
      "py3.8",
      "2.9"
    ],
    "name": "integration-py3.8-2.9",
    "python": "3.8"
  },
  {
    "description": "Integration tests using ansible-core 2.12 and python 3.8",
    "factors": [
      "integration",
      "py3.8",
      "2.12"
    ],
    "name": "integration-py3.8-2.12",
    "python": "3.8"
  },
  {
    "description": "Integration tests using ansible-core 2.13 and python 3.8",
    "factors": [
      "integration",
      "py3.8",
      "2.13"
    ],
    "name": "integration-py3.8-2.13",
    "python": "3.8"
  },
  {
    "description": "Integration tests using ansible-core 2.12 and python 3.9",
    "factors": [
      "integration",
      "py3.9",
      "2.12"
    ],
    "name": "integration-py3.9-2.12",
    "python": "3.9"
  },
  {
    "description": "Integration tests using ansible-core 2.13 and python 3.9",
    "factors": [
      "integration",
      "py3.9",
      "2.13"
    ],
    "name": "integration-py3.9-2.13",
    "python": "3.9"
  },
  {
    "description": "Integration tests using ansible-core 2.14 and python 3.9",
    "factors": [
      "integration",
      "py3.9",
      "2.14"
    ],
    "name": "integration-py3.9-2.14",
    "python": "3.9"
  },
  {
    "description": "Integration tests using ansible-core 2.15 and python 3.9",
    "factors": [
      "integration",
      "py3.9",
      "2.15"
    ],
    "name": "integration-py3.9-2.15",
    "python": "3.9"
  },
  {
    "description": "Integration tests using ansible-core 2.12 and python 3.10",
    "factors": [
      "integration",
      "py3.10",
      "2.12"
    ],
    "name": "integration-py3.10-2.12",
    "python": "3.10"
  },
  {
    "description": "Integration tests using ansible-core 2.13 and python 3.10",
    "factors": [
      "integration",
      "py3.10",
      "2.13"
    ],
    "name": "integration-py3.10-2.13",
    "python": "3.10"
  },
  {
    "description": "Integration tests using ansible-core 2.14 and python 3.10",
    "factors": [
      "integration",
      "py3.10",
      "2.14"
    ],
    "name": "integration-py3.10-2.14",
    "python": "3.10"
  },
  {
    "description": "Integration tests using ansible-core 2.15 and python 3.10",
    "factors": [
      "integration",
      "py3.10",
      "2.15"
    ],
    "name": "integration-py3.10-2.15",
    "python": "3.10"
  },
  {
    "description": "Integration tests using ansible-core 2.16 and python 3.10",
    "factors": [
      "integration",
      "py3.10",
      "2.16"
    ],
    "name": "integration-py3.10-2.16",
    "python": "3.10"
  },
  {
    "description": "Integration tests using ansible-core devel and python 3.10",
    "factors": [
      "integration",
      "py3.10",
      "devel"
    ],
    "name": "integration-py3.10-devel",
    "python": "3.10"
  },
  {
    "description": "Integration tests using ansible-core milestone and python 3.10",
    "factors": [
      "integration",
      "py3.10",
      "milestone"
    ],
    "name": "integration-py3.10-milestone",
    "python": "3.10"
  },
  {
    "description": "Integration tests using ansible-core 2.14 and python 3.11",
    "factors": [
      "integration",
      "py3.11",
      "2.14"
    ],
    "name": "integration-py3.11-2.14",
    "python": "3.11"
  },
  {
    "description": "Integration tests using ansible-core 2.15 and python 3.11",
    "factors": [
      "integration",
      "py3.11",
      "2.15"
    ],
    "name": "integration-py3.11-2.15",
    "python": "3.11"
  },
  {
    "description": "Integration tests using ansible-core 2.16 and python 3.11",
    "factors": [
      "integration",
      "py3.11",
      "2.16"
    ],
    "name": "integration-py3.11-2.16",
    "python": "3.11"
  },
  {
    "description": "Integration tests using ansible-core devel and python 3.11",
    "factors": [
      "integration",
      "py3.11",
      "devel"
    ],
    "name": "integration-py3.11-devel",
    "python": "3.11"
  },
  {
    "description": "Integration tests using ansible-core milestone and python 3.11",
    "factors": [
      "integration",
      "py3.11",
      "milestone"
    ],
    "name": "integration-py3.11-milestone",
    "python": "3.11"
  },
  {
    "description": "Integration tests using ansible-core 2.16 and python 3.12",
    "factors": [
      "integration",
      "py3.12",
      "2.16"
    ],
    "name": "integration-py3.12-2.16",
    "python": "3.12"
  },
  {
    "description": "Integration tests using ansible-core devel and python 3.12",
    "factors": [
      "integration",
      "py3.12",
      "devel"
    ],
    "name": "integration-py3.12-devel",
    "python": "3.12"
  },
  {
    "description": "Integration tests using ansible-core milestone and python 3.12",
    "factors": [
      "integration",
      "py3.12",
      "milestone"
    ],
    "name": "integration-py3.12-milestone",
    "python": "3.12"
  },
  {
    "description": "Sanity tests using ansible 2.9 and python 3.8",
    "factors": [
      "sanity",
      "py3.8",
      "2.9"
    ],
    "name": "sanity-py3.8-2.9",
    "python": "3.8"
  },
  {
    "description": "Sanity tests using ansible-core 2.12 and python 3.8",
    "factors": [
      "sanity",
      "py3.8",
      "2.12"
    ],
    "name": "sanity-py3.8-2.12",
    "python": "3.8"
  },
  {
    "description": "Sanity tests using ansible-core 2.13 and python 3.8",
    "factors": [
      "sanity",
      "py3.8",
      "2.13"
    ],
    "name": "sanity-py3.8-2.13",
    "python": "3.8"
  },
  {
    "description": "Sanity tests using ansible-core 2.12 and python 3.9",
    "factors": [
      "sanity",
      "py3.9",
      "2.12"
    ],
    "name": "sanity-py3.9-2.12",
    "python": "3.9"
  },
  {
    "description": "Sanity tests using ansible-core 2.13 and python 3.9",
    "factors": [
      "sanity",
      "py3.9",
      "2.13"
    ],
    "name": "sanity-py3.9-2.13",
    "python": "3.9"
  },
  {
    "description": "Sanity tests using ansible-core 2.14 and python 3.9",
    "factors": [
      "sanity",
      "py3.9",
      "2.14"
    ],
    "name": "sanity-py3.9-2.14",
    "python": "3.9"
  },
  {
    "description": "Sanity tests using ansible-core 2.15 and python 3.9",
    "factors": [
      "sanity",
      "py3.9",
      "2.15"
    ],
    "name": "sanity-py3.9-2.15",
    "python": "3.9"
  },
  {
    "description": "Sanity tests using ansible-core 2.12 and python 3.10",
    "factors": [
      "sanity",
      "py3.10",
      "2.12"
    ],
    "name": "sanity-py3.10-2.12",
    "python": "3.10"
  },
  {
    "description": "Sanity tests using ansible-core 2.13 and python 3.10",
    "factors": [
      "sanity",
      "py3.10",
      "2.13"
    ],
    "name": "sanity-py3.10-2.13",
    "python": "3.10"
  },
  {
    "description": "Sanity tests using ansible-core 2.14 and python 3.10",
    "factors": [
      "sanity",
      "py3.10",
      "2.14"
    ],
    "name": "sanity-py3.10-2.14",
    "python": "3.10"
  },
  {
    "description": "Sanity tests using ansible-core 2.15 and python 3.10",
    "factors": [
      "sanity",
      "py3.10",
      "2.15"
    ],
    "name": "sanity-py3.10-2.15",
    "python": "3.10"
  },
  {
    "description": "Sanity tests using ansible-core 2.16 and python 3.10",
    "factors": [
      "sanity",
      "py3.10",
      "2.16"
    ],
    "name": "sanity-py3.10-2.16",
    "python": "3.10"
  },
  {
    "description": "Sanity tests using ansible-core devel and python 3.10",
    "factors": [
      "sanity",
      "py3.10",
      "devel"
    ],
    "name": "sanity-py3.10-devel",
    "python": "3.10"
  },
  {
    "description": "Sanity tests using ansible-core milestone and python 3.10",
    "factors": [
      "sanity",
      "py3.10",
      "milestone"
    ],
    "name": "sanity-py3.10-milestone",
    "python": "3.10"
  },
  {
    "description": "Sanity tests using ansible-core 2.14 and python 3.11",
    "factors": [
      "sanity",
      "py3.11",
      "2.14"
    ],
    "name": "sanity-py3.11-2.14",
    "python": "3.11"
  },
  {
    "description": "Sanity tests using ansible-core 2.15 and python 3.11",
    "factors": [
      "sanity",
      "py3.11",
      "2.15"
    ],
    "name": "sanity-py3.11-2.15",
    "python": "3.11"
  },
  {
    "description": "Sanity tests using ansible-core 2.16 and python 3.11",
    "factors": [
      "sanity",
      "py3.11",
      "2.16"
    ],
    "name": "sanity-py3.11-2.16",
    "python": "3.11"
  },
  {
    "description": "Sanity tests using ansible-core devel and python 3.11",
    "factors": [
      "sanity",
      "py3.11",
      "devel"
    ],
    "name": "sanity-py3.11-devel",
    "python": "3.11"
  },
  {
    "description": "Sanity tests using ansible-core milestone and python 3.11",
    "factors": [
      "sanity",
      "py3.11",
      "milestone"
    ],
    "name": "sanity-py3.11-milestone",
    "python": "3.11"
  },
  {
    "description": "Sanity tests using ansible-core 2.16 and python 3.12",
    "factors": [
      "sanity",
      "py3.12",
      "2.16"
    ],
    "name": "sanity-py3.12-2.16",
    "python": "3.12"
  },
  {
    "description": "Sanity tests using ansible-core devel and python 3.12",
    "factors": [
      "sanity",
      "py3.12",
      "devel"
    ],
    "name": "sanity-py3.12-devel",
    "python": "3.12"
  },
  {
    "description": "Sanity tests using ansible-core milestone and python 3.12",
    "factors": [
      "sanity",
      "py3.12",
      "milestone"
    ],
    "name": "sanity-py3.12-milestone",
    "python": "3.12"
  },
  {
    "description": "Unit tests using ansible 2.9 and python 3.8",
    "factors": [
      "unit",
      "py3.8",
      "2.9"
    ],
    "name": "unit-py3.8-2.9",
    "python": "3.8"
  },
  {
    "description": "Unit tests using ansible-core 2.12 and python 3.8",
    "factors": [
      "unit",
      "py3.8",
      "2.12"
    ],
    "name": "unit-py3.8-2.12",
    "python": "3.8"
  },
  {
    "description": "Unit tests using ansible-core 2.13 and python 3.8",
    "factors": [
      "unit",
      "py3.8",
      "2.13"
    ],
    "name": "unit-py3.8-2.13",
    "python": "3.8"
  },
  {
    "description": "Unit tests using ansible-core 2.12 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.12"
    ],
    "name": "unit-py3.9-2.12",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.13 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.13"
    ],
    "name": "unit-py3.9-2.13",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.14 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.14"
    ],
    "name": "unit-py3.9-2.14",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.15 and python 3.9",
    "factors": [
      "unit",
      "py3.9",
      "2.15"
    ],
    "name": "unit-py3.9-2.15",
    "python": "3.9"
  },
  {
    "description": "Unit tests using ansible-core 2.12 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.12"
    ],
    "name": "unit-py3.10-2.12",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.13 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.13"
    ],
    "name": "unit-py3.10-2.13",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.14 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.14"
    ],
    "name": "unit-py3.10-2.14",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.15 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.15"
    ],
    "name": "unit-py3.10-2.15",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.16 and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "2.16"
    ],
    "name": "unit-py3.10-2.16",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core devel and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "devel"
    ],
    "name": "unit-py3.10-devel",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core milestone and python 3.10",
    "factors": [
      "unit",
      "py3.10",
      "milestone"
    ],
    "name": "unit-py3.10-milestone",
    "python": "3.10"
  },
  {
    "description": "Unit tests using ansible-core 2.14 and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "2.14"
    ],
    "name": "unit-py3.11-2.14",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core 2.15 and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "2.15"
    ],
    "name": "unit-py3.11-2.15",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core 2.16 and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "2.16"
    ],
    "name": "unit-py3.11-2.16",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core devel and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "devel"
    ],
    "name": "unit-py3.11-devel",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core milestone and python 3.11",
    "factors": [
      "unit",
      "py3.11",
      "milestone"
    ],
    "name": "unit-py3.11-milestone",
    "python": "3.11"
  },
  {
    "description": "Unit tests using ansible-core 2.16 and python 3.12",
    "factors": [
      "unit",
      "py3.12",
      "2.16"
    ],
    "name": "unit-py3.12-2.16",
    "python": "3.12"
  },
  {
    "description": "Unit tests using ansible-core devel and python 3.12",
    "factors": [
      "unit",
      "py3.12",
      "devel"
    ],
    "name": "unit-py3.12-devel",
    "python": "3.12"
  },
  {
    "description": "Unit tests using ansible-core milestone and python 3.12",
    "factors": [
      "unit",
      "py3.12",
      "milestone"
    ],
    "name": "unit-py3.12-milestone",
    "python": "3.12"
  }
]

Copy link
Collaborator

@cidrblock cidrblock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would also like a review from @shatakshiiii

@KB-perByte
Copy link
Member Author

@shatakshiiii any idea why the docs/readthedocs.org:tox-ansible is failing?

Error
Problem in your project's configuration. No default configuration file found at repository's root.

Regards

@shatakshiiii
Copy link
Contributor

@shatakshiiii any idea why the docs/readthedocs.org:tox-ansible is failing?

Error
Problem in your project's configuration. No default configuration file found at repository's root.

Regards

@KB-perByte my guess is this docs/readthedocs.org:tox-ansible failure is related to the current setup of upstream docs (which is WIP right now) Related PR: #234

@shatakshiiii shatakshiiii added the enhancement This issue/PR relates to a feature request. label Nov 7, 2023
@shatakshiiii shatakshiiii merged commit d9c7d08 into ansible:main Nov 16, 2023
10 checks passed
@KB-perByte KB-perByte deleted the add_args branch November 16, 2023 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This issue/PR relates to a feature request.
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants