Skip to content

Exclude running some tests for specific packages#163

Merged
anfimovdm merged 6 commits into
AlmaLinux:masterfrom
Kwaizer:skip-tests
Oct 21, 2025
Merged

Exclude running some tests for specific packages#163
anfimovdm merged 6 commits into
AlmaLinux:masterfrom
Kwaizer:skip-tests

Conversation

@Kwaizer

@Kwaizer Kwaizer commented Jul 7, 2025

Copy link
Copy Markdown
Contributor

Fixes: AlmaLinux/build-system#485

AlmaLinux/albs-web-server#1171
AlmaLinux/albs-frontend#597

  • Refactored execution of tests
  • Test steps may be skipped if we encounter a respective mapping. We compare pkg_pattern here (i.e. bzip2 and bzip2-libs-debuginfo are both valid)
{
    "almalinux-8": {
        "libxml2": ["run_package_integrity_tests"],
        "curl": ["run_package_integrity_tests"],
        "bzip2": ["run_package_integrity_tests"]
    },
    "almalinux-9": {
        "libxml2": ["run_package_integrity_tests"],
        "curl": ["run_package_integrity_tests"]
    },
    "ubuntu-24.04": {
        "bzip2": ["run_package_integrity_tests"]
    }
}
  • Test mapping is obtained through JSON file. Needs to be easily accessed for updates

@javihernandez javihernandez left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In general, this looks good to me, but I have a few questions. It looks like we're fetching the file with mappings from a git repository. Do we have an example or a draft of how this file would look like? Do we need to consider using one file or another based on the platform? Or, shall we assume that tests for all packages in the file will be skipped in every platform?

@Kwaizer

Kwaizer commented Jul 9, 2025

Copy link
Copy Markdown
Contributor Author
  1. Do we have an example or a draft of how this file would look like?

@javihernandez I expect it to look smth like this:

{
  "libxml2": ["package_integrity_tests", "package_integrity_tests"],
  "curl": ["package_integrity_tests"]
}

So we will have a package name and an array of tests we want to skip. The file will include only those package that we don't want to pass through a particular test(s).

  1. Do we need to consider using one file or another based on the platform? Or, shall we assume that tests for all packages in the file will be skipped in every platform?

Well, I expected that we will have a single file and assumed that the task requires tests to be skipped for all platforms of the package. But that's a good question

  1. It looks like we're fetching the file with mappings from a git repository

Here we rather read from a local copy or you meant local repo here? I assumed that it will be updated remotely and then polled by some cron job that needs to be configured later.

So, overall,

  • we need to know if we want to skip tests for all platforms of the package or not
  • probably decide if we want to fetch data from a local copy or pull data straight from remote repo somewhere in code

Do you know how we could approach the last one if another team is supposed to keep the file updated?

@Kwaizer Kwaizer force-pushed the skip-tests branch 5 times, most recently from 3aeaeb6 to 5c7e921 Compare July 15, 2025 08:44
Comment thread alts/worker/tasks.py Outdated
Comment thread alts/worker/tasks.py Outdated
Comment thread alts/worker/tasks.py Outdated
Comment thread alts/worker/tasks.py Outdated
Comment thread alts/scheduler/scheduling.py Outdated
Comment thread alts/shared/models.py Outdated
Comment thread alts/shared/constants.py Outdated
Comment thread alts/shared/utils/file_utils.py Outdated
Comment thread alts/worker/tasks.py Outdated
Comment thread alts/worker/tasks.py Outdated
Comment thread alts/worker/tasks.py Outdated
Comment thread alts/scheduler/scheduling.py
@anfimovdm anfimovdm merged commit f39081b into AlmaLinux:master Oct 21, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Exclude running some tests for specific packages according to the mapping in config

3 participants