diff --git a/0007-Extend-information-from-leapp-saved-to-leappdb-847.patch b/0007-Extend-information-from-leapp-saved-to-leappdb-847.patch index 6517603..2ef184a 100644 --- a/0007-Extend-information-from-leapp-saved-to-leappdb-847.patch +++ b/0007-Extend-information-from-leapp-saved-to-leappdb-847.patch @@ -1,7 +1,7 @@ From 91b309ac8c4cf6a709694144cb1e451ff1fa72f7 Mon Sep 17 00:00:00 2001 From: David Kubek Date: Mon, 13 May 2024 18:07:26 +0200 -Subject: [PATCH 7/7] Extend information from leapp saved to leappdb (#847) +Subject: [PATCH 07/23] Extend information from leapp saved to leappdb (#847) This commit combines multiple additions to the leapp database. diff --git a/0008-Update-peter-evans-create-or-update-comment-digest-t.patch b/0008-Update-peter-evans-create-or-update-comment-digest-t.patch new file mode 100644 index 0000000..07a77ab --- /dev/null +++ b/0008-Update-peter-evans-create-or-update-comment-digest-t.patch @@ -0,0 +1,31 @@ +From 98a5d07dfafd26a37d486cd9fcfdb4c9c9540c23 Mon Sep 17 00:00:00 2001 +From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> +Date: Fri, 24 May 2024 09:02:08 +0200 +Subject: [PATCH 08/23] Update peter-evans/create-or-update-comment digest to + v4 (#860) + +* Update .github/workflows/pr-welcome-msg.yml + +--------- + +Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> +--- + .github/workflows/pr-welcome-msg.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.github/workflows/pr-welcome-msg.yml b/.github/workflows/pr-welcome-msg.yml +index 143c54b..af5d543 100644 +--- a/.github/workflows/pr-welcome-msg.yml ++++ b/.github/workflows/pr-welcome-msg.yml +@@ -14,7 +14,7 @@ jobs: + runs-on: ubuntu-latest + steps: + - name: Create comment +- uses: peter-evans/create-or-update-comment@a35cf36e5301d70b76f316e867e7788a55a31dae ++ uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{ github.event.pull_request.number }} + body: | +-- +2.42.0 + diff --git a/0009-Update-dependency-ubuntu-to-v22.patch b/0009-Update-dependency-ubuntu-to-v22.patch new file mode 100644 index 0000000..ba9122c --- /dev/null +++ b/0009-Update-dependency-ubuntu-to-v22.patch @@ -0,0 +1,53 @@ +From bcd3cea72e86b693efbfe1177deff65b2b47c045 Mon Sep 17 00:00:00 2001 +From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> +Date: Fri, 10 May 2024 14:55:14 +0000 +Subject: [PATCH 09/23] Update dependency ubuntu to v22 + +--- + .github/workflows/reuse-copr-build.yml | 2 +- + .github/workflows/reuse-tests-7to8.yml | 2 +- + .github/workflows/reuse-tests-8to9.yml | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.github/workflows/reuse-copr-build.yml b/.github/workflows/reuse-copr-build.yml +index 7ccd282..06124d2 100644 +--- a/.github/workflows/reuse-copr-build.yml ++++ b/.github/workflows/reuse-copr-build.yml +@@ -16,7 +16,7 @@ jobs: + reusable_workflow_copr_build_job: + # This job only runs for '/rerun' pull request comments by owner, member, or collaborator of the repo/organization. + name: Build copr builds for tft tests +- runs-on: ubuntu-20.04 ++ runs-on: ubuntu-22.04 + outputs: + artifacts: ${{ steps.gen_artifacts.outputs.artifacts }} + if: | +diff --git a/.github/workflows/reuse-tests-7to8.yml b/.github/workflows/reuse-tests-7to8.yml +index cfdfb35..cfa8f41 100644 +--- a/.github/workflows/reuse-tests-7to8.yml ++++ b/.github/workflows/reuse-tests-7to8.yml +@@ -42,7 +42,7 @@ on: + jobs: + reusable_workflow_job: + name: Schedule regression tests on Testing Farm +- runs-on: ubuntu-20.04 ++ runs-on: ubuntu-22.04 + steps: + - name: Schedule regression testing for 7to8 + id: run_test_7to8 +diff --git a/.github/workflows/reuse-tests-8to9.yml b/.github/workflows/reuse-tests-8to9.yml +index 5d2e9d5..2315e70 100644 +--- a/.github/workflows/reuse-tests-8to9.yml ++++ b/.github/workflows/reuse-tests-8to9.yml +@@ -43,7 +43,7 @@ jobs: + reusable_workflow_job: + # This job only runs for '/rerun' pull request comments by owner, member, or collaborator of the repo/organization. + name: Schedule regression tests on Testing Farm +- runs-on: ubuntu-20.04 ++ runs-on: ubuntu-22.04 + steps: + - name: Schedule regression testing for 8to9 + id: run_test_8to9 +-- +2.42.0 + diff --git a/0010-Update-actions-github-script-action-to-v7.patch b/0010-Update-actions-github-script-action-to-v7.patch new file mode 100644 index 0000000..a583c21 --- /dev/null +++ b/0010-Update-actions-github-script-action-to-v7.patch @@ -0,0 +1,34 @@ +From 765f040e97bda245099f66768d3192745eb8a17a Mon Sep 17 00:00:00 2001 +From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> +Date: Thu, 9 May 2024 10:35:11 +0000 +Subject: [PATCH 10/23] Update actions/github-script action to v7 + +--- + .github/workflows/reuse-copr-build.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.github/workflows/reuse-copr-build.yml b/.github/workflows/reuse-copr-build.yml +index 06124d2..3327874 100644 +--- a/.github/workflows/reuse-copr-build.yml ++++ b/.github/workflows/reuse-copr-build.yml +@@ -102,7 +102,7 @@ jobs: + - name: Add comment with copr build url + # TODO: Create comment when copr build fails. + id: link_copr +- uses: actions/github-script@v4 ++ uses: actions/github-script@v7 + with: + script: | + github.issues.createComment({ +@@ -160,7 +160,7 @@ jobs: + # TODO: Create comment when copr build fails. + id: link_copr_leapp_repository + if: ${{ steps.leapp_repository_pr_regex_match.outputs.match != '' }} +- uses: actions/github-script@v4 ++ uses: actions/github-script@v7 + with: + script: | + github.issues.createComment({ +-- +2.42.0 + diff --git a/0011-Update-actions-checkout-action-to-v4.patch b/0011-Update-actions-checkout-action-to-v4.patch new file mode 100644 index 0000000..6a9ee4f --- /dev/null +++ b/0011-Update-actions-checkout-action-to-v4.patch @@ -0,0 +1,48 @@ +From 03c651c4ada21442dc3604f18c8149f55d66e0f5 Mon Sep 17 00:00:00 2001 +From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> +Date: Thu, 9 May 2024 10:35:07 +0000 +Subject: [PATCH 11/23] Update actions/checkout action to v4 + +--- + .github/workflows/reuse-copr-build.yml | 4 ++-- + .github/workflows/unit-tests.yml | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.github/workflows/reuse-copr-build.yml b/.github/workflows/reuse-copr-build.yml +index 3327874..a935c7e 100644 +--- a/.github/workflows/reuse-copr-build.yml ++++ b/.github/workflows/reuse-copr-build.yml +@@ -49,7 +49,7 @@ jobs: + # TODO: The correct way to checkout would be to use simmilar approach as in get_commit_by_timestamp function of + # the github gluetool module (i.e. do not use HEAD but the last commit before comment). + id: checkout +- uses: actions/checkout@v2 ++ uses: actions/checkout@v4 + with: + ref: "refs/pull/${{ steps.pr_nr.outputs.pr_nr }}/head" + +@@ -121,7 +121,7 @@ jobs: + - name: Checkout leapp-repository + id: checkout_leapp_repository + if: ${{ steps.leapp_repository_pr_regex_match.outputs.match != '' }} +- uses: actions/checkout@v2 ++ uses: actions/checkout@v4 + with: + repository: "oamg/leapp-repository" + ref: "refs/pull/${{ steps.leapp_repository_pr.outputs.leapp_repository_pr }}/head" +diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml +index 123a73e..e2376b7 100644 +--- a/.github/workflows/unit-tests.yml ++++ b/.github/workflows/unit-tests.yml +@@ -27,7 +27,7 @@ jobs: + + steps: + - name: Checkout code +- uses: actions/checkout@v2 ++ uses: actions/checkout@v4 + with: + fetch-depth: '0' + - name: Set master to origin/master +-- +2.42.0 + diff --git a/0012-Packit-drop-epel-7-ppc64le-chroot.patch b/0012-Packit-drop-epel-7-ppc64le-chroot.patch new file mode 100644 index 0000000..969aba7 --- /dev/null +++ b/0012-Packit-drop-epel-7-ppc64le-chroot.patch @@ -0,0 +1,34 @@ +From bf4fd611f95a4484e376ba04f55c6626c18bb48c Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Wed, 3 Jul 2024 14:55:52 +0200 +Subject: [PATCH 12/23] Packit: drop epel-7-ppc64le chroot + +CentOS 7 is EOM and based on that additional changes have to be made +in COPR. Use x86_64 arch for epel7 now only. +--- + .packit.yaml | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/.packit.yaml b/.packit.yaml +index 4e9c239..eb3a8f9 100644 +--- a/.packit.yaml ++++ b/.packit.yaml +@@ -12,7 +12,6 @@ jobs: + owner: "@oamg" + project: leapp + targets: +- - epel-7-ppc64le + - epel-7-x86_64 + - epel-8-x86_64 + - fedora-all-aarch64 +@@ -31,7 +30,6 @@ jobs: + owner: "@oamg" + project: leapp + targets: +- - epel-7-ppc64le + - epel-7-x86_64 + - epel-8-x86_64 + - fedora-all-aarch64 +-- +2.42.0 + diff --git a/0013-Packit-Bring-all-changes-from-leapp-repository.patch b/0013-Packit-Bring-all-changes-from-leapp-repository.patch new file mode 100644 index 0000000..4faec1c --- /dev/null +++ b/0013-Packit-Bring-all-changes-from-leapp-repository.patch @@ -0,0 +1,831 @@ +From c397a0d142ed9915ba3b1e4276b7fbf8856b37da Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Tue, 16 Jul 2024 18:32:07 +0200 +Subject: [PATCH 13/23] Packit: Bring all changes from leapp-repository + +- replace the sanity tag by 'tier0' (RHELMISC-3211) +- Update ENV variables for RHUI tests +- Enable upgrade path to 8.10 on AWS +- adjust post_install_script for RHEL 7.9 (moved to TF) +- Use frozen branch for rhel7 downstream testing as RHEL 7 is EOM +--- + .packit.yaml | 542 +++++++++++++++++++++++++++++++++------------------ + 1 file changed, 352 insertions(+), 190 deletions(-) + +diff --git a/.packit.yaml b/.packit.yaml +index eb3a8f9..318abd4 100644 +--- a/.packit.yaml ++++ b/.packit.yaml +@@ -45,7 +45,8 @@ jobs: + + # NOTE: to see what envars, targets, .. can be set in tests, see + # the configuration of tests here: +-# https://gitlab.cee.redhat.com/oamg/leapp-tests/-/blob/main/config.yaml ++# 7toX path https://gitlab.cee.redhat.com/oamg/leapp-tests/-/blob/rhel7/config.yaml ++# >7tox path https://gitlab.cee.redhat.com/oamg/leapp-tests/-/blob/main/config.yaml + # Available only to RH Employees. + + # ###################################################################### # +@@ -59,7 +60,7 @@ jobs: + job: tests + trigger: ignore + fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" +- fmf_ref: "main" ++ fmf_ref: "rhel7" + use_internal_tf: True + labels: + - sanity +@@ -68,26 +69,6 @@ jobs: + distros: [RHEL-7.9-ZStream] + identifier: sanity-abstract-7to8 + tmt_plan: "" +- tf_extra_params: +- test: +- tmt: +- plan_filter: 'tag:tier0 & enabled:true' +- environments: +- - artifacts: +- - type: "repository" +- id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-7-x86_64/" +- packages: +- - leapp-repository +- - python2-leapp +- - leapp-upgrade-el7toel8-deps +- order: 40 +- tmt: +- context: +- distro: "rhel-7.9" +- settings: +- provisioning: +- tags: +- BusinessUnit: sst_upgrades@leapp_upstream_test + + - &sanity-abstract-7to8-aws + <<: *sanity-abstract-7to8 +@@ -98,12 +79,35 @@ jobs: + epel-7-x86_64: + distros: [RHEL-7.9-rhui] + identifier: sanity-abstract-7to8-aws +- # NOTE(ivasilev) Unfortunately to use yaml templates we need to rewrite the whole tf_extra_params dict +- # to use plan_filter (can't just specify one section test.tmt.plan_filter, need to specify environments.* as well) ++ ++# On-demand minimal beaker tests ++- &beaker-minimal-7to8-abstract-ondemand ++ <<: *sanity-abstract-7to8 ++ manual_trigger: True ++ labels: ++ - beaker-minimal ++ identifier: beaker-minimal-7to8-abstract-ondemand ++ ++# On-demand kernel-rt tests ++- &kernel-rt-abstract-7to8-ondemand ++ <<: *beaker-minimal-7to8-abstract-ondemand ++ labels: ++ - kernel-rt ++ identifier: sanity-7to8-kernel-rt-abstract-ondemand ++ ++# ###################################################################### # ++# ######################### Individual tests ########################### # ++# ###################################################################### # ++ ++# Tests: 7.9 -> 8.8 ++- &sanity-79to88-aws ++ <<: *sanity-abstract-7to8-aws ++ trigger: pull_request ++ identifier: sanity-7.9to8.8-aws + tf_extra_params: + test: + tmt: +- plan_filter: 'tag:upgrade_happy_path & enabled:true' ++ plan_filter: 'tag:7to8 & tag:upgrade_happy_path & enabled:true' + environments: + - artifacts: + - type: "repository" +@@ -113,26 +117,31 @@ jobs: + - python2-leapp + - leapp-upgrade-el7toel8-deps + order: 40 +- tmt: ++ - tmt: + context: + distro: "rhel-7.9" ++ distro_target: "rhel-8.8" + settings: + provisioning: +- post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys; yum-config-manager --enable rhel-7-server-rhui-optional-rpms" ++ post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" + tags: + BusinessUnit: sst_upgrades@leapp_upstream_test ++ env: ++ SOURCE_RELEASE: "7.9" ++ TARGET_RELEASE: "8.8" ++ RHUI: "aws" ++ LEAPPDATA_BRANCH: "upstream" ++ LEAPP_NO_RHSM: "1" ++ USE_CUSTOM_REPOS: rhui + +-# On-demand minimal beaker tests +-- &beaker-minimal-7to8-abstract-ondemand ++- &sanity-79to88 + <<: *sanity-abstract-7to8 +- manual_trigger: True +- labels: +- - beaker-minimal +- identifier: beaker-minimal-7to8-abstract-ondemand ++ trigger: pull_request ++ identifier: sanity-7.9to8.8 + tf_extra_params: + test: + tmt: +- plan_filter: 'tag:partitioning & tag:7to8 & enabled:true' ++ plan_filter: 'tag:7to8 & tag:sanity & enabled:true' + environments: + - artifacts: + - type: "repository" +@@ -142,24 +151,30 @@ jobs: + - python2-leapp + - leapp-upgrade-el7toel8-deps + order: 40 +- tmt: ++ - tmt: + context: + distro: "rhel-7.9" ++ distro_target: "rhel-8.8" + settings: + provisioning: + tags: + BusinessUnit: sst_upgrades@leapp_upstream_test ++ env: ++ SOURCE_RELEASE: "7.9" ++ TARGET_RELEASE: "8.8" + +-# On-demand kernel-rt tests +-- &kernel-rt-abstract-7to8-ondemand ++- &beaker-minimal-79to88 + <<: *beaker-minimal-7to8-abstract-ondemand ++ trigger: pull_request + labels: +- - kernel-rt +- identifier: sanity-7to8-kernel-rt-abstract-ondemand ++ - beaker-minimal ++ - beaker-minimal-7.9to8.8 ++ - 7.9to8.8 ++ identifier: sanity-7.9to8.8-beaker-minimal-ondemand + tf_extra_params: + test: + tmt: +- plan_filter: 'tag:kernel-rt & tag:7to8 & enabled:true' ++ plan_filter: 'tag:7to8 & tag:partitioning & enabled:true' + environments: + - artifacts: + - type: "repository" +@@ -169,53 +184,17 @@ jobs: + - python2-leapp + - leapp-upgrade-el7toel8-deps + order: 40 +- tmt: ++ - tmt: + context: + distro: "rhel-7.9" ++ distro_target: "rhel-8.8" + settings: + provisioning: + tags: + BusinessUnit: sst_upgrades@leapp_upstream_test +- +- +-# ###################################################################### # +-# ######################### Individual tests ########################### # +-# ###################################################################### # +- +-# Tests: 7.9 -> 8.8 +-- &sanity-79to88-aws +- <<: *sanity-abstract-7to8-aws +- trigger: pull_request +- identifier: sanity-7.9to8.8-aws +- env: +- SOURCE_RELEASE: "7.9" +- TARGET_RELEASE: "8.8" +- RHUI: "aws" +- LEAPPDATA_BRANCH: "upstream" +- LEAPP_NO_RHSM: "1" +- USE_CUSTOM_REPOS: rhui +- +-- &sanity-79to88 +- <<: *sanity-abstract-7to8 +- trigger: pull_request +- identifier: sanity-7.9to8.8 + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.8" +- LEAPPDATA_BRANCH: "upstream" +- +-- &beaker-minimal-79to88 +- <<: *beaker-minimal-7to8-abstract-ondemand +- trigger: pull_request +- labels: +- - beaker-minimal +- - beaker-minimal-7.9to8.8 +- - 7.9to8.8 +- identifier: sanity-7.9to8.8-beaker-minimal-ondemand +- env: +- SOURCE_RELEASE: "7.9" +- TARGET_RELEASE: "8.8" +- LEAPPDATA_BRANCH: "upstream" + + - &kernel-rt-79to88 + <<: *kernel-rt-abstract-7to8-ondemand +@@ -225,33 +204,94 @@ jobs: + - kernel-rt-7.9to8.8 + - 7.9to8.8 + identifier: sanity-7.9to8.8-kernel-rt-ondemand ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:7to8 & tag:kernel-rt & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-7-x86_64/" ++ packages: ++ - leapp-repository ++ - python2-leapp ++ - leapp-upgrade-el7toel8-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-7.9" ++ distro_target: "rhel-8.8" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.8" +- LEAPPDATA_BRANCH: "upstream" + + # Tests: 7.9 -> 8.10 + - &sanity-79to810 + <<: *sanity-abstract-7to8 + trigger: pull_request + identifier: sanity-7.9to8.10 ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:7to8 & tag:sanity & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-7-x86_64/" ++ packages: ++ - leapp-repository ++ - python2-leapp ++ - leapp-upgrade-el7toel8-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-7.9" ++ distro_target: "rhel-8.10" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.10" +- LEAPPDATA_BRANCH: "upstream" + +-# NOTE(mkluson) RHEL 8.10 content is not publicly available (via RHUI) +-#- &sanity-79to810-aws +-# <<: *sanity-abstract-7to8-aws +-# trigger: pull_request +-# identifier: sanity-7.9to8.10-aws +-# env: +-# SOURCE_RELEASE: "7.9" +-# TARGET_RELEASE: "8.10" +-# RHUI: "aws" +-# LEAPPDATA_BRANCH: "upstream" +-# LEAPP_NO_RHSM: "1" +-# USE_CUSTOM_REPOS: rhui ++- &sanity-79to810-aws ++ <<: *sanity-abstract-7to8-aws ++ trigger: pull_request ++ identifier: sanity-7.9to8.10-aws ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:7to8 & tag:upgrade_happy_path & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-7-x86_64/" ++ packages: ++ - leapp-repository ++ - python2-leapp ++ - leapp-upgrade-el7toel8-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-7.9" ++ distro_target: "rhel-8.10" ++ settings: ++ provisioning: ++ post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test ++ env: ++ SOURCE_RELEASE: "7.9" ++ TARGET_RELEASE: "8.10" ++ RHUI: "aws" ++ LEAPPDATA_BRANCH: "upstream" ++ LEAPP_NO_RHSM: "1" ++ USE_CUSTOM_REPOS: rhui + + - &beaker-minimal-79to810 + <<: *beaker-minimal-7to8-abstract-ondemand +@@ -261,10 +301,30 @@ jobs: + - beaker-minimal-7.9to8.10 + - 7.9to8.10 + identifier: sanity-7.9to8.10-beaker-minimal-ondemand ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:7to8 & tag:partitioning & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-7-x86_64/" ++ packages: ++ - leapp-repository ++ - python2-leapp ++ - leapp-upgrade-el7toel8-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-7.9" ++ distro_target: "rhel-8.10" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.10" +- LEAPPDATA_BRANCH: "upstream" + + - &kernel-rt-79to810 + <<: *kernel-rt-abstract-7to8-ondemand +@@ -274,14 +334,34 @@ jobs: + - kernel-rt-7.9to8.10 + - 7.9to8.10 + identifier: sanity-7.9to8.10-kernel-rt-ondemand ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:7to8 & tag:kernel-rt & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-7-x86_64/" ++ packages: ++ - leapp-repository ++ - python2-leapp ++ - leapp-upgrade-el7toel8-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-7.9" ++ distro_target: "rhel-8.10" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.10" +- LEAPPDATA_BRANCH: "upstream" + + + # ###################################################################### # +-# ############################## 8 TO 10 ############################### # ++# ############################## 8 TO 9 ################################ # + # ###################################################################### # + + # ###################################################################### # +@@ -304,26 +384,6 @@ jobs: + epel-8-x86_64: + distros: [RHEL-8.10.0-Nightly] + identifier: sanity-abstract-8to9 +- tf_extra_params: +- test: +- tmt: +- plan_filter: 'tag:tier0 & tag:8to9 & enabled:true' +- environments: +- - artifacts: +- - type: "repository" +- id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" +- packages: +- - leapp-repository +- - python3-leapp +- - leapp-upgrade-el8toel9-deps +- order: 40 +- tmt: +- context: +- distro: "rhel-8.10" +- settings: +- provisioning: +- tags: +- BusinessUnit: sst_upgrades@leapp_upstream_test + + - &sanity-abstract-8to9-aws + <<: *sanity-abstract-8to9 +@@ -334,27 +394,6 @@ jobs: + epel-8-x86_64: + distros: [RHEL-8.10-rhui] + identifier: sanity-abstract-8to9-aws +- tf_extra_params: +- test: +- tmt: +- plan_filter: 'tag:upgrade_happy_path & enabled:true' +- environments: +- - artifacts: +- - type: "repository" +- id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" +- packages: +- - leapp-repository +- - python3-leapp +- - leapp-upgrade-el8toel9-deps +- order: 40 +- tmt: +- context: +- distro: "rhel-8.10" +- settings: +- provisioning: +- post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" +- tags: +- BusinessUnit: sst_upgrades@leapp_upstream_test + + - &beaker-minimal-8to9-abstract-ondemand + <<: *sanity-abstract-8to9 +@@ -365,45 +404,16 @@ jobs: + epel-8-x86_64: + distros: [RHEL-8.10.0-Nightly] + identifier: beaker-minimal-8to9-abstract-ondemand +- tf_extra_params: +- test: +- tmt: +- plan_filter: 'tag:partitioning & tag:8to9 & enabled:true' +- environments: +- - artifacts: +- - type: "repository" +- id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" +- packages: +- - leapp-repository +- - python3-leapp +- - leapp-upgrade-el8toel9-deps +- order: 40 +- tmt: +- context: +- distro: "rhel-8.10" +- settings: +- provisioning: +- tags: +- BusinessUnit: sst_upgrades@leapp_upstream_test +- + + - &kernel-rt-abstract-8to9-ondemand + <<: *beaker-minimal-8to9-abstract-ondemand + labels: + - kernel-rt + identifier: sanity-8to9-kernel-rt-abstract-ondemand +- tf_extra_params: +- test: +- tmt: +- plan_filter: 'tag:kernel-rt & tag:8to9 & enabled:true' +- environments: +- - tmt: +- context: +- distro: "rhel-8.10" +- settings: +- provisioning: +- tags: +- BusinessUnit: sst_upgrades@leapp_upstream_test ++ ++# ###################################################################### # ++# ######################### Individual tests ########################### # ++# ###################################################################### # + + # Tests: 8.8 -> 9.2 + - &sanity-88to92 +@@ -416,7 +426,7 @@ jobs: + tf_extra_params: + test: + tmt: +- plan_filter: 'tag:tier0 & tag:8to9 & enabled:true' ++ plan_filter: 'tag:8to9 & tag:tier0 & enabled:true' + environments: + - artifacts: + - type: "repository" +@@ -429,6 +439,7 @@ jobs: + tmt: + context: + distro: "rhel-8.8" ++ distro_target: "rhel-9.2" + settings: + provisioning: + tags: +@@ -437,8 +448,6 @@ jobs: + SOURCE_RELEASE: "8.8" + TARGET_RELEASE: "9.2" + RHSM_REPOS_EUS: "eus" +- LEAPPDATA_BRANCH: "upstream" +- LEAPP_DEVEL_TARGET_RELEASE: "9.2" + + - &sanity-88to92-aws + <<: *sanity-abstract-8to9-aws +@@ -447,11 +456,10 @@ jobs: + epel-8-x86_64: + distros: [RHEL-8.8-rhui] + identifier: sanity-8.8to9.2-aws +- # NOTE(mkluson) Unfortunately to use yaml templates we need to rewrite the whole tf_extra_params dict + tf_extra_params: + test: + tmt: +- plan_filter: 'tag:upgrade_happy_path & enabled:true' ++ plan_filter: 'tag:8to9 & tag:rhui-tier[0] & enabled:true' + environments: + - artifacts: + - type: "repository" +@@ -464,6 +472,7 @@ jobs: + tmt: + context: + distro: "rhel-8.8" ++ distro_target: "rhel-9.2" + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" +@@ -472,11 +481,7 @@ jobs: + env: + SOURCE_RELEASE: "8.8" + TARGET_RELEASE: "9.2" +- RHSM_REPOS: "rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms" +- RHUI: "aws" +- LEAPPDATA_BRANCH: "upstream" +- LEAPP_NO_RHSM: "1" +- USE_CUSTOM_REPOS: rhui ++ RHUI_HYPERSCALER: aws + + - &beaker-minimal-88to92 + <<: *beaker-minimal-8to9-abstract-ondemand +@@ -492,7 +497,7 @@ jobs: + tf_extra_params: + test: + tmt: +- plan_filter: 'tag:partitioning & tag:8to9 & enabled:true' ++ plan_filter: 'tag:8to9 &tag:partitioning & enabled:true' + environments: + - artifacts: + - type: "repository" +@@ -505,6 +510,7 @@ jobs: + tmt: + context: + distro: "rhel-8.8" ++ distro_target: "rhel-9.2" + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" +@@ -513,8 +519,7 @@ jobs: + env: + SOURCE_RELEASE: "8.8" + TARGET_RELEASE: "9.2" +- LEAPPDATA_BRANCH: "upstream" +- LEAPP_DEVEL_TARGET_RELEASE: "9.2" ++ RHSM_REPOS_EUS: "eus" + + - &kernel-rt-88to92 + <<: *kernel-rt-abstract-8to9-ondemand +@@ -530,7 +535,7 @@ jobs: + tf_extra_params: + test: + tmt: +- plan_filter: 'tag:kernel-rt & tag:8to9 & enabled:true' ++ plan_filter: 'tag:8to9 & tag:kernel-rt & enabled:true' + environments: + - artifacts: + - type: "repository" +@@ -543,6 +548,7 @@ jobs: + tmt: + context: + distro: "rhel-8.8" ++ distro_target: "rhel-9.2" + settings: + provisioning: + tags: +@@ -550,8 +556,7 @@ jobs: + env: + SOURCE_RELEASE: "8.8" + TARGET_RELEASE: "9.2" +- LEAPPDATA_BRANCH: "upstream" +- LEAPP_DEVEL_TARGET_RELEASE: "9.2" ++ RHSM_REPOS_EUS: "eus" + + + # Tests: 8.10 -> 9.4 +@@ -559,11 +564,30 @@ jobs: + <<: *sanity-abstract-8to9 + trigger: pull_request + identifier: sanity-8.10to9.4 ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:8to9 & tag:tier0 & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" ++ packages: ++ - leapp-repository ++ - python3-leapp ++ - leapp-upgrade-el8toel9-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-8.10" ++ distro_target: "rhel-9.4" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test + env: + SOURCE_RELEASE: "8.10" + TARGET_RELEASE: "9.4" +- RHSM_REPOS: "rhel-8-for-x86_64-appstream-beta-rpms,rhel-8-for-x86_64-baseos-beta-rpms" +- LEAPPDATA_BRANCH: "upstream" + + # On-demand minimal beaker tests + - &beaker-minimal-810to94 +@@ -574,10 +598,30 @@ jobs: + - beaker-minimal-8.10to9.4 + - 8.10to9.4 + identifier: sanity-8.10to9.4-beaker-minimal-ondemand ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:8to9 & tag:partitioning & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" ++ packages: ++ - leapp-repository ++ - python3-leapp ++ - leapp-upgrade-el8toel9-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-8.10" ++ distro_target: "rhel-9.4" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test + env: + SOURCE_RELEASE: "8.10" + TARGET_RELEASE: "9.4" +- LEAPPDATA_BRANCH: "upstream" + + # On-demand kernel-rt tests + - &kernel-rt-810to94 +@@ -588,8 +632,126 @@ jobs: + - kernel-rt-8.10to9.4 + - 8.10to9.4 + identifier: sanity-8.10to9.4-kernel-rt-ondemand ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:8to9 & tag:kernel-rt & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" ++ packages: ++ - leapp-repository ++ - python3-leapp ++ - leapp-upgrade-el8toel9-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-8.10" ++ distro_target: "rhel-9.4" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test + env: + SOURCE_RELEASE: "8.10" + TARGET_RELEASE: "9.4" +- RHSM_REPOS: "rhel-8-for-x86_64-appstream-beta-rpms,rhel-8-for-x86_64-baseos-beta-rpms" +- LEAPPDATA_BRANCH: "upstream" ++ ++ ++# Tests: 8.10 -> 9.5 ++- &sanity-810to95 ++ <<: *sanity-abstract-8to9 ++ trigger: pull_request ++ identifier: sanity-8.10to9.5 ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:8to9 & tag:tier0 & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" ++ packages: ++ - leapp-repository ++ - python3-leapp ++ - leapp-upgrade-el8toel9-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-8.10" ++ distro_target: "rhel-9.5" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test ++ env: ++ SOURCE_RELEASE: "8.10" ++ TARGET_RELEASE: "9.5" ++ ++# On-demand minimal beaker tests ++- &beaker-minimal-810to95 ++ <<: *beaker-minimal-8to9-abstract-ondemand ++ trigger: pull_request ++ labels: ++ - beaker-minimal ++ - beaker-minimal-8.10to9.5 ++ - 8.10to9.5 ++ identifier: sanity-8.10to9.5-beaker-minimal-ondemand ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:8to9 & tag:partitioning & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" ++ packages: ++ - leapp-repository ++ - python3-leapp ++ - leapp-upgrade-el8toel9-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-8.10" ++ distro_target: "rhel-9.5" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test ++ env: ++ SOURCE_RELEASE: "8.10" ++ TARGET_RELEASE: "9.5" ++ ++# On-demand kernel-rt tests ++- &kernel-rt-810to95 ++ <<: *kernel-rt-abstract-8to9-ondemand ++ trigger: pull_request ++ labels: ++ - kernel-rt ++ - kernel-rt-8.10to9.5 ++ - 8.10to9.5 ++ identifier: sanity-8.10to9.5-kernel-rt-ondemand ++ tf_extra_params: ++ test: ++ tmt: ++ plan_filter: 'tag:8to9 & tag:kernel-rt & enabled:true' ++ environments: ++ - artifacts: ++ - type: "repository" ++ id: "https://download.copr.fedorainfracloud.org/results/@oamg/leapp/epel-8-x86_64/" ++ packages: ++ - leapp-repository ++ - python3-leapp ++ - leapp-upgrade-el8toel9-deps ++ order: 40 ++ - tmt: ++ context: ++ distro: "rhel-8.10" ++ distro_target: "rhel-9.5" ++ settings: ++ provisioning: ++ tags: ++ BusinessUnit: sst_upgrades@leapp_upstream_test ++ env: ++ SOURCE_RELEASE: "8.10" ++ TARGET_RELEASE: "9.5" +-- +2.42.0 + diff --git a/0014-Update-sclorg-testing-farm-as-github-action-action-t.patch b/0014-Update-sclorg-testing-farm-as-github-action-action-t.patch new file mode 100644 index 0000000..7d8902b --- /dev/null +++ b/0014-Update-sclorg-testing-farm-as-github-action-action-t.patch @@ -0,0 +1,40 @@ +From 4e8ba88e0ebe78cd208d9501738c7a9ec2656a64 Mon Sep 17 00:00:00 2001 +From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> +Date: Tue, 16 Jul 2024 16:09:34 +0000 +Subject: [PATCH 14/23] Update sclorg/testing-farm-as-github-action action to + v3 + +--- + .github/workflows/reuse-tests-7to8.yml | 2 +- + .github/workflows/reuse-tests-8to9.yml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.github/workflows/reuse-tests-7to8.yml b/.github/workflows/reuse-tests-7to8.yml +index cfa8f41..920372b 100644 +--- a/.github/workflows/reuse-tests-7to8.yml ++++ b/.github/workflows/reuse-tests-7to8.yml +@@ -46,7 +46,7 @@ jobs: + steps: + - name: Schedule regression testing for 7to8 + id: run_test_7to8 +- uses: sclorg/testing-farm-as-github-action@v1.2.10 ++ uses: sclorg/testing-farm-as-github-action@v3.0.0 + with: + # required + api_url: ${{ secrets.TF_ENDPOINT }} +diff --git a/.github/workflows/reuse-tests-8to9.yml b/.github/workflows/reuse-tests-8to9.yml +index 2315e70..c0b7f06 100644 +--- a/.github/workflows/reuse-tests-8to9.yml ++++ b/.github/workflows/reuse-tests-8to9.yml +@@ -47,7 +47,7 @@ jobs: + steps: + - name: Schedule regression testing for 8to9 + id: run_test_8to9 +- uses: sclorg/testing-farm-as-github-action@v1.2.10 ++ uses: sclorg/testing-farm-as-github-action@v3.0.0 + with: + # required + api_url: ${{ secrets.TF_ENDPOINT }} +-- +2.42.0 + diff --git a/0015-Add-.readthedocs.yaml-fixing-builds-on-RTD.patch b/0015-Add-.readthedocs.yaml-fixing-builds-on-RTD.patch new file mode 100644 index 0000000..74c87b3 --- /dev/null +++ b/0015-Add-.readthedocs.yaml-fixing-builds-on-RTD.patch @@ -0,0 +1,56 @@ +From 480d9b5cc0e4cb02992b2319e180bbeacf6a5f2d Mon Sep 17 00:00:00 2001 +From: Matej Matuska +Date: Wed, 17 Jul 2024 15:10:16 +0200 +Subject: [PATCH 15/23] Add .readthedocs.yaml fixing builds on RTD + +The builds in Read the Docs have been broken for a few months now, +because the .readthedocs.yaml is required. +--- + .readthedocs.yaml | 35 +++++++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + create mode 100644 .readthedocs.yaml + +diff --git a/.readthedocs.yaml b/.readthedocs.yaml +new file mode 100644 +index 0000000..5b892d8 +--- /dev/null ++++ b/.readthedocs.yaml +@@ -0,0 +1,35 @@ ++# Read the Docs configuration file for Sphinx projects ++# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details ++ ++# Required ++version: 2 ++ ++# Set the OS, Python version and other tools you might need ++build: ++ os: ubuntu-22.04 ++ tools: ++ python: "2.7" ++ # You can also specify other tool versions: ++ # nodejs: "20" ++ # rust: "1.70" ++ # golang: "1.20" ++ ++# Build documentation in the "docs/" directory with Sphinx ++sphinx: ++ configuration: docs/source/conf.py ++ # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs ++ # builder: "dirhtml" ++ # Fail on all warnings to avoid broken references ++ # fail_on_warning: true ++ ++# Optionally build your docs in additional formats such as PDF and ePub ++# formats: ++# - pdf ++# - epub ++ ++# Optional but recommended, declare the Python requirements required ++# to build your documentation ++# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html ++python: ++ install: ++ - requirements: requirements-docs.txt +-- +2.42.0 + diff --git a/0016-docs-Pin-sphinx-rtd-theme-version-fixing-build-error.patch b/0016-docs-Pin-sphinx-rtd-theme-version-fixing-build-error.patch new file mode 100644 index 0000000..38f1c88 --- /dev/null +++ b/0016-docs-Pin-sphinx-rtd-theme-version-fixing-build-error.patch @@ -0,0 +1,27 @@ +From 3c3112e1ea10707620fa2102c89fac91cc3c7495 Mon Sep 17 00:00:00 2001 +From: Matej Matuska +Date: Wed, 17 Jul 2024 16:02:39 +0200 +Subject: [PATCH 16/23] docs: Pin sphinx-rtd-theme version fixing build error + +Previously the 0.4.3 version was correctly used. There are still some +warnings during build, but those were also present previously (verified +by checking old RTD build). +--- + requirements-docs.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/requirements-docs.txt b/requirements-docs.txt +index 96e66ba..54d5ba1 100644 +--- a/requirements-docs.txt ++++ b/requirements-docs.txt +@@ -2,6 +2,6 @@ + + CommonMark==0.7.5 + sphinx>=1.5,<1.6 +-sphinx_rtd_theme ++sphinx_rtd_theme==0.4.3 + sphinx-autobuild + git+https://github.com/leapp-to/recommonmark.git@master +-- +2.42.0 + diff --git a/0017-Starting-initial-draft-commit-for-building-for-EL-9-.patch b/0017-Starting-initial-draft-commit-for-building-for-EL-9-.patch new file mode 100644 index 0000000..5e4f07c --- /dev/null +++ b/0017-Starting-initial-draft-commit-for-building-for-EL-9-.patch @@ -0,0 +1,297 @@ +From d23f1c92b8e647e678538edcbe9389283a6b647d Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Tue, 2 Apr 2024 14:49:33 +0200 +Subject: [PATCH 17/23] Starting initial draft commit for building for EL 9 + (Python3.12) + +This is initial commit delivering some ground work needed for leapp +to be able to work with Python3.12 on EL 9 systems and prepare +testing. + +Most of the work has been delivered by Matej Matuska (thanks!!) + +Summary of changes: +* Add el9 build container +* Add fake RHEL 10 container for local containerized tests + + As RHEL 10 UBI isn't available yet, use RHEL 9 UBI with Python 3.12 + virtualenv. + The container manually updates the pytest and six modules after + installing requirements as the currently used pytest version is too old + for Python 3.12. + setup() functions defined at module level are unsupported in the newer + pytest versions, these are replaced by autouse=True fixtures. + +* Makefile: include new EL and Fedora containers for tests and builds +* Packit: build automatically for epel-9-x86_64 + +Co-authored-by: Matej Matuska +--- + .packit.yaml | 2 ++ + Makefile | 29 ++++++++++++------- + res/container-builds/Containerfile.ubi9 | 12 ++++++++ + res/container-tests/Containerfile.ubi10 | 38 +++++++++++++++++++++++++ + res/container-tests/Containerfile.ubi9 | 9 +++--- + tests/scripts/test_audit.py | 6 ++++ + tests/scripts/test_exit_status.py | 4 +++ + 7 files changed, 85 insertions(+), 15 deletions(-) + create mode 100644 res/container-builds/Containerfile.ubi9 + create mode 100644 res/container-tests/Containerfile.ubi10 + +diff --git a/.packit.yaml b/.packit.yaml +index 318abd4..2aead86 100644 +--- a/.packit.yaml ++++ b/.packit.yaml +@@ -14,6 +14,7 @@ jobs: + targets: + - epel-7-x86_64 + - epel-8-x86_64 ++ - epel-9-x86_64 + - fedora-all-aarch64 + - fedora-all-x86_64 + actions: +@@ -32,6 +33,7 @@ jobs: + targets: + - epel-7-x86_64 + - epel-8-x86_64 ++ - epel-9-x86_64 + - fedora-all-aarch64 + - fedora-all-x86_64 + actions: +diff --git a/Makefile b/Makefile +index 2653896..677c748 100644 +--- a/Makefile ++++ b/Makefile +@@ -25,7 +25,7 @@ _TEST_CONTAINER=$${TEST_CONTAINER:-rhel8} + # someone will call copr_build without additional parameters + MASTER_BRANCH=master + +-# In case the PR or MR is defined or in case build is not comming from the ++# In case the PR or MR is defined or in case build is not coming from the + # MATER_BRANCH branch, N_REL=0; (so build is not update of the approved + # upstream solution). For upstream builds N_REL=100; + N_REL=`_NR=$${PR:+0}; if test "$${_NR:-100}" == "100"; then _NR=$${MR:+0}; fi; git rev-parse --abbrev-ref HEAD | grep -q "^$(MASTER_BRANCH)$$" || _NR=0; echo $${_NR:-100}` +@@ -76,13 +76,13 @@ help: + @echo " test_container runs linter and unit tests in a container" + @echo " - by default rhel8 container is used" + @echo " - can be changed by setting TEST_CONTAINER env variable" +- @echo " - available containers are: rhel7, rhel8, rhel9" ++ @echo " - available containers are:" rhel{7..10} + @echo " test_container_all runs linter and tests in all available containers" + @echo " lint runs just the linter" + @echo " build create the RPM" + @echo " build_container create the RPM in container" + @echo " - set BUILD_CONTAINER to select the container" +- @echo " - available containers are: el7, el8, f35, f36, rawhide" ++ @echo " - available containers are:" el{7..9} f{35..40} rawhide + @echo " - this can't be used to build in parallel," + @echo " as build containers operate on the same files" + @echo " clean_containers clean container images used for building" +@@ -154,10 +154,10 @@ build_container: + el7) \ + _CONT_FILE="Containerfile.centos7"; \ + ;; \ +- el8) \ +- _CONT_FILE="Containerfile.ubi8"; \ ++ el[8-9]) \ ++ _CONT_FILE="Containerfile.ubi"$${BUILD_CONTAINER: -1}; \ + ;; \ +- f3[56]|rawhide) \ ++ f3[5-9]|f40|rawhide) \ + [ $$BUILD_CONTAINER = rawhide ] && VERSION=latest || VERSION=$${BUILD_CONTAINER: -2}; \ + _CONT_FILE=".Containerfile.$${BUILD_CONTAINER}"; \ + cp res/container-builds/Containerfile.fedora_generic res/container-builds/$$_CONT_FILE && \ +@@ -168,7 +168,7 @@ build_container: + exit 1; \ + ;; \ + *) \ +- echo "Available containers are el7, el8, f35, f36, rawhide"; \ ++ echo "Available containers are: el{7..9} f{35..40} rawhide"; \ + exit 1; \ + ;; \ + esac && \ +@@ -182,6 +182,7 @@ print_release: + @echo $(RELEASE) + + install-deps: ++ @ $(ENTER_VENV) \ + pip install -r requirements.txt + + install: +@@ -200,10 +201,11 @@ else + pip install -r requirements-tests.txt + endif + +-test: lint ++test: lint + @ $(ENTER_VENV) \ + pytest -vv --cov-report term-missing --cov=leapp tests/scripts + ++# TODO(pstodulk): create ticket to add rhel10 for testing.... py: 3.12 + test_container: + @case $(_TEST_CONTAINER) in \ + rhel7) \ +@@ -218,8 +220,13 @@ test_container: + export _VENV=python3.9; \ + export _CONT_FILE="res/container-tests/Containerfile.ubi9"; \ + ;; \ ++ # TODO the container is currently built on top of RHEL 9 UBI with python3.12 virtualenv \ ++ rhel10) \ ++ export _VENV=python3.12; \ ++ export _CONT_FILE="res/container-tests/Containerfile.ubi10"; \ ++ ;; \ + *) \ +- echo "Available test containers are rhel7, rhel8, rhel9"; \ ++ echo "Available test containers are: rhel{7..10}"; \ + exit 1; \ + ;; \ + esac; \ +@@ -229,12 +236,12 @@ test_container: + $(_CONTAINER_TOOL) run --rm -v $${PWD}:/payload:Z -e PYTHON_VENV=$$_VENV $$TEST_IMAGE + + test_container_all: +- @for container in "rhel"{7,8,9}; do \ ++ @for container in "rhel"{7..10}; do \ + TEST_CONTAINER=$$container $(MAKE) test_container; \ + done + + clean_containers: +- @for i in "leapp-build-"{el7,el8,f35,f36,rawhide} "leapp-tests-rhel"{7,8,9}; do \ ++ @for i in "leapp-build-"{el7,el8,el9,f35,f36,rawhide} "leapp-tests-rhel"{7..10}; do \ + [ -z $$($(_CONTAINER_TOOL) images -q "$$i") ] || \ + $(_CONTAINER_TOOL) rmi "$$i" > /dev/null 2>&1 || :; \ + done +diff --git a/res/container-builds/Containerfile.ubi9 b/res/container-builds/Containerfile.ubi9 +new file mode 100644 +index 0000000..7c63339 +--- /dev/null ++++ b/res/container-builds/Containerfile.ubi9 +@@ -0,0 +1,12 @@ ++FROM registry.access.redhat.com/ubi9/ubi:latest ++ ++VOLUME /payload ++ ++ENV DIST_VERSION 9 ++ ++RUN dnf update -y && \ ++ dnf install -y python3 make git rpm-build python3-devel ++ #yum install -y python3-pip && \ python3 -m pip install --upgrade pip==20.3.4 ++ ++WORKDIR /payload ++ENTRYPOINT make build +diff --git a/res/container-tests/Containerfile.ubi10 b/res/container-tests/Containerfile.ubi10 +new file mode 100644 +index 0000000..22d5a8f +--- /dev/null ++++ b/res/container-tests/Containerfile.ubi10 +@@ -0,0 +1,38 @@ ++FROM registry.access.redhat.com/ubi9/ubi:latest ++ ++VOLUME /payload ++ ++RUN dnf update -y && \ ++ dnf install python3 python312 python3-pip make -y && \ ++ python3 -m pip install --upgrade pip==20.3.4 ++ ++RUN pip install virtualenv ++ ++WORKDIR /payload ++ENTRYPOINT virtualenv testenv -p "/usr/bin/$PYTHON_VENV" && \ ++ source testenv/bin/activate && \ ++ pip install -U setuptools && \ ++ pip install -U funcsigs && \ ++ pip install -U -r requirements-tests.txt && \ ++ pip install -U pytest && \ ++ pip install -U six && \ ++ pip install -U . && \ ++ export LINTABLES=$(find . -name '*.py' | grep -E -e '^\./leapp\/' -e '^\./tests/scripts/' | sort -u ) && \ ++ echo '==================================================' && \ ++ echo '==================================================' && \ ++ echo '=============== Running pylint ===============' && \ ++ echo '==================================================' && \ ++ echo '==================================================' && \ ++ echo $LINTABLES | xargs pylint && echo '===> pylint PASSED' && \ ++ echo '==================================================' && \ ++ echo '==================================================' && \ ++ echo '=============== Running flake8 ===============' && \ ++ echo '==================================================' && \ ++ echo '==================================================' && \ ++ flake8 $LINTABLES && echo '===> flake8 PASSED' && \ ++ echo '==================================================' && \ ++ echo '==================================================' && \ ++ echo '=============== Running tests ===============' && \ ++ echo '==================================================' && \ ++ echo '==================================================' && \ ++ py.test -vv --cov-report term-missing --cov=leapp tests/scripts/*.py +diff --git a/res/container-tests/Containerfile.ubi9 b/res/container-tests/Containerfile.ubi9 +index 359d46b..b1b5b71 100644 +--- a/res/container-tests/Containerfile.ubi9 ++++ b/res/container-tests/Containerfile.ubi9 +@@ -1,12 +1,13 @@ +-FROM registry.access.redhat.com/ubi8/ubi:latest ++FROM registry.access.redhat.com/ubi9/ubi:latest + + VOLUME /payload + +-RUN yum update -y && \ +- yum install python3 python39 python3-virtualenv make -y && \ +- yum -y install python3-pip && \ ++RUN dnf update -y && \ ++ dnf install python3 python39 make python3-pip -y && \ + python3 -m pip install --upgrade pip==20.3.4 + ++RUN pip install virtualenv ++ + WORKDIR /payload + ENTRYPOINT virtualenv testenv -p "/usr/bin/$PYTHON_VENV" && \ + source testenv/bin/activate && \ +diff --git a/tests/scripts/test_audit.py b/tests/scripts/test_audit.py +index fae01c3..98a1998 100644 +--- a/tests/scripts/test_audit.py ++++ b/tests/scripts/test_audit.py +@@ -4,6 +4,8 @@ import os + import sqlite3 + import uuid + ++import pytest ++ + from leapp.utils.audit import get_connection, Execution, Host, MessageData, \ + DataSource, Message, Audit, get_messages, checkpoint, get_checkpoints, create_audit_entry, get_audit_entry + from leapp.config import get_config +@@ -95,10 +97,14 @@ def setup_module(): + get_config().set('database', 'path', '/tmp/leapp-test.db') + + ++@pytest.fixture(autouse=True) + def setup(): + path = get_config().get('database', 'path') + if os.path.isfile(path): + os.unlink(path) ++ yield ++ if os.path.isfile(path): ++ os.unlink(path) + + + def test_migrations_are_applied(): +diff --git a/tests/scripts/test_exit_status.py b/tests/scripts/test_exit_status.py +index 11e8583..0596ab3 100644 +--- a/tests/scripts/test_exit_status.py ++++ b/tests/scripts/test_exit_status.py +@@ -29,10 +29,14 @@ def setup_module(): + get_config().set('database', 'path', '/tmp/leapp-test.db') + + ++@pytest.fixture(autouse=True) + def setup(): + path = get_config().get('database', 'path') + if os.path.isfile(path): + os.unlink(path) ++ yield ++ if os.path.isfile(path): ++ os.unlink(path) + + + @pytest.mark.parametrize('error, code', [(None, 0), ('StopActorExecution', 0), ('StopActorExecutionError', 0), +-- +2.42.0 + diff --git a/0018-Replace-deprecated-FileFinder.find_module-Python-3.1.patch b/0018-Replace-deprecated-FileFinder.find_module-Python-3.1.patch new file mode 100644 index 0000000..d05e6f1 --- /dev/null +++ b/0018-Replace-deprecated-FileFinder.find_module-Python-3.1.patch @@ -0,0 +1,157 @@ +From 098e32d0b9d179992f76e6e6e0cb4c54f852de4d Mon Sep 17 00:00:00 2001 +From: Michal Reznik +Date: Sun, 7 Apr 2024 18:08:05 +0200 +Subject: [PATCH 18/23] Replace deprecated FileFinder.find_module (Python 3.12) + +The find_module function has been deprecated for a long time and +it has been removed in Python3.12. To keep the backward compatibility, +we introduce compat.load_module() function that is compatible with +Python2.7 -> Python3.12 now. Replacing all previous load of module +in code by this function. + +Similar applies for the pkgutil.get_loader() + +Co-authored-by: Matej Matuska +--- + leapp/cli/__init__.py | 7 ++++++- + leapp/compat.py | 19 +++++++++++++++++++ + leapp/repository/__init__.py | 3 ++- + leapp/repository/actor_definition.py | 3 ++- + leapp/snactor/__init__.py | 3 ++- + res/container-tests/Containerfile.ubi10 | 3 +++ + 6 files changed, 34 insertions(+), 4 deletions(-) + +diff --git a/leapp/cli/__init__.py b/leapp/cli/__init__.py +index ab16198..59192f9 100644 +--- a/leapp/cli/__init__.py ++++ b/leapp/cli/__init__.py +@@ -1,3 +1,4 @@ ++import importlib + import os + import pkgutil + import socket +@@ -24,7 +25,11 @@ def _load_commands(base_command): + if os.path.isdir(entry_path) and os.path.isfile(os.path.join(entry_path, '__init__.py')): + # We found a package - We will import it and get the `register` symbol and check if it is callable. + package_name = 'leapp.cli.commands.{}'.format(entry) +- package = pkgutil.get_loader(package_name).load_module(package_name) ++ if sys.version_info < (3, 12): ++ # get_loader and load_module are deprecated since 3.12 ++ package = pkgutil.get_loader(package_name).load_module(package_name) # noqa: E501, pylint: disable=deprecated-method ++ else: ++ package = importlib.import_module(package_name) + register = getattr(package, 'register', None) + if callable(register): + register(base_command) +diff --git a/leapp/compat.py b/leapp/compat.py +index 2e340a2..a8c8bdf 100644 +--- a/leapp/compat.py ++++ b/leapp/compat.py +@@ -1,4 +1,5 @@ + import gettext # noqa: F401; pylint: disable=unused-import ++import importlib + import locale + import sys + +@@ -66,3 +67,21 @@ else: + :return: Nothing + """ + raise exc.with_traceback(tb) ++ ++ ++def load_module(importer, name): ++ """ ++ Loads a module using the given importer and module name ++ ++ :param importer: A finder implementation (returned by e.g. pkgutils.iter_modules) ++ :param name: Module name ++ :return: The loaded module ++ """ ++ if sys.version_info < (3, 4): ++ return importer.find_module(name).load_module(name) ++ ++ spec = importer.find_spec(name) ++ module = importlib.util.module_from_spec(spec) ++ sys.modules[name] = module ++ spec.loader.exec_module(module) ++ return module +diff --git a/leapp/repository/__init__.py b/leapp/repository/__init__.py +index b47af3e..58b6d16 100644 +--- a/leapp/repository/__init__.py ++++ b/leapp/repository/__init__.py +@@ -3,6 +3,7 @@ import os + import pkgutil + import sys + ++from leapp.compat import load_module + from leapp.exceptions import RepoItemPathDoesNotExistError, UnsupportedDefinitionKindError + from leapp.models import get_models, resolve_model_references + import leapp.libraries.common # noqa # pylint: disable=unused-import +@@ -166,7 +167,7 @@ class Repository(object): + directories = [os.path.join(self._repo_dir, os.path.dirname(module)) for module in modules] + prefix = prefix + '.' if not prefix.endswith('.') else prefix + for importer, name, ispkg in pkgutil.iter_modules(directories, prefix=prefix): +- importer.find_module(name).load_module(name) ++ load_module(importer, name) + + def serialize(self): + """ +diff --git a/leapp/repository/actor_definition.py b/leapp/repository/actor_definition.py +index 2b5df1a..0e9cc0a 100644 +--- a/leapp/repository/actor_definition.py ++++ b/leapp/repository/actor_definition.py +@@ -11,6 +11,7 @@ from multiprocessing import Process, Queue, Pipe + + import leapp.libraries.actor # noqa # pylint: disable=unused-import + from leapp.actors import get_actor_metadata, get_actors ++from leapp.compat import load_module + from leapp.exceptions import (ActorInspectionFailedError, LeappRuntimeError, MultipleActorsError, + UnsupportedDefinitionKindError) + from leapp.repository.definition import DefinitionKind +@@ -193,7 +194,7 @@ class ActorDefinition(object): + path = os.path.abspath(os.path.join(self._repo_dir, self.directory)) + for importer, name, is_pkg in pkgutil.iter_modules((path,)): + if not is_pkg: +- self._module = importer.find_module(name).load_module(name) ++ self._module = load_module(importer, name) + break + + def discover(self): +diff --git a/leapp/snactor/__init__.py b/leapp/snactor/__init__.py +index 22ea993..3264a26 100644 +--- a/leapp/snactor/__init__.py ++++ b/leapp/snactor/__init__.py +@@ -2,6 +2,7 @@ import os + import pkgutil + import socket + ++from leapp.compat import load_module + from leapp.utils.i18n import _ # noqa; pylint: disable=redefined-builtin + from leapp.snactor import commands + from leapp.snactor.commands import workflow +@@ -30,7 +31,7 @@ def _load_commands_from(path): + for importer, name, is_pkg in pkgutil.iter_modules([pkg_path]): + if is_pkg: + continue +- mod = importer.find_module(name).load_module(name) ++ mod = load_module(importer, name) + if hasattr(mod.cli, 'command'): + if not mod.cli.command.parent: + cli.command.add_sub(mod.cli.command) +diff --git a/res/container-tests/Containerfile.ubi10 b/res/container-tests/Containerfile.ubi10 +index 22d5a8f..6d6507c 100644 +--- a/res/container-tests/Containerfile.ubi10 ++++ b/res/container-tests/Containerfile.ubi10 +@@ -14,6 +14,9 @@ ENTRYPOINT virtualenv testenv -p "/usr/bin/$PYTHON_VENV" && \ + pip install -U setuptools && \ + pip install -U funcsigs && \ + pip install -U -r requirements-tests.txt && \ ++ # NOTE(mmatuska): The pytest ver defined in requirements-tests is too old \ ++ # for Python 3.12 (missing imp module), there do an update here until we \ ++ # bump that. Similarly for six. \ + pip install -U pytest && \ + pip install -U six && \ + pip install -U . && \ +-- +2.42.0 + diff --git a/0019-draft-Fix-SafeConfigParser-error.patch b/0019-draft-Fix-SafeConfigParser-error.patch new file mode 100644 index 0000000..58427a1 --- /dev/null +++ b/0019-draft-Fix-SafeConfigParser-error.patch @@ -0,0 +1,42 @@ +From 666e66c1f3f1d21b0b63cc9e4bbbb3eb263513aa Mon Sep 17 00:00:00 2001 +From: Michal Reznik +Date: Sat, 13 Apr 2024 11:18:40 +0200 +Subject: [PATCH 19/23] draft: Fix SafeConfigParser error + +AttributeError: module 'configparser' has no attribute 'SafeConfigParser' +--- + leapp/messaging/answerstore.py | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/leapp/messaging/answerstore.py b/leapp/messaging/answerstore.py +index b2c707d..afd28dc 100644 +--- a/leapp/messaging/answerstore.py ++++ b/leapp/messaging/answerstore.py +@@ -2,6 +2,10 @@ import multiprocessing + + import six + from six.moves import configparser ++try: ++ from six.moves.configparser import SafeConfigParser as ConfigParser ++except ImportError: ++ from six.moves.configparser import ConfigParser + + from leapp.exceptions import CommandError + from leapp.utils.audit import create_audit_entry +@@ -46,10 +50,11 @@ class AnswerStore(object): + Loads an ini config file from the given location. + + :param inifile: Path to the answer file to load. +- :return: configparser.SafeConfigParser object ++ :return: configparser.ConfigParser object + :raises CommandError if any of the values are not in key=value format + """ +- conf = configparser.SafeConfigParser(allow_no_value=False) ++ conf = ConfigParser(allow_no_value=False) ++ + try: + conf.read(inifile) + return conf +-- +2.42.0 + diff --git a/0020-Silence-linter-on-deprecated-module-false-positive.patch b/0020-Silence-linter-on-deprecated-module-false-positive.patch new file mode 100644 index 0000000..cf47807 --- /dev/null +++ b/0020-Silence-linter-on-deprecated-module-false-positive.patch @@ -0,0 +1,25 @@ +From 652de82aa6be50c2971e3e5ead16f42043a3d879 Mon Sep 17 00:00:00 2001 +From: Matej Matuska +Date: Tue, 2 Jul 2024 15:50:21 +0200 +Subject: [PATCH 20/23] Silence linter on deprecated module false positive + +--- + leapp/libraries/stdlib/call.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/leapp/libraries/stdlib/call.py b/leapp/libraries/stdlib/call.py +index b80f860..5d9ceed 100644 +--- a/leapp/libraries/stdlib/call.py ++++ b/leapp/libraries/stdlib/call.py +@@ -11,7 +11,7 @@ except ImportError: + # (pstodulk): find_executable() is from the distutils module which was + # removed in Python 3.12. We can get rid of this fallback when we drop + # support for Python 2. https://peps.python.org/pep-0632/ +- from distutils.spawn import find_executable as which ++ from distutils.spawn import find_executable as which # pylint: disable=deprecated-module + + from leapp.compat import string_types + from leapp.libraries.stdlib.eventloop import POLL_HUP, POLL_IN, POLL_OUT, POLL_PRI, EventLoop +-- +2.42.0 + diff --git a/0021-Run-unit-tests-on-Python-3.9-on-ubi9-instead-of-ubi8.patch b/0021-Run-unit-tests-on-Python-3.9-on-ubi9-instead-of-ubi8.patch new file mode 100644 index 0000000..9d7a2b4 --- /dev/null +++ b/0021-Run-unit-tests-on-Python-3.9-on-ubi9-instead-of-ubi8.patch @@ -0,0 +1,27 @@ +From 5c8bb645208ac2e98d3389dcf0dca215bfebf967 Mon Sep 17 00:00:00 2001 +From: Matej Matuska +Date: Fri, 12 Jul 2024 11:10:15 +0200 +Subject: [PATCH 21/23] Run unit tests on Python 3.9 on ubi9 instead of ubi8 + +--- + .github/workflows/unit-tests.yml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml +index e2376b7..008ce28 100644 +--- a/.github/workflows/unit-tests.yml ++++ b/.github/workflows/unit-tests.yml +@@ -16,8 +16,9 @@ jobs: + matrix: + scenarios: + - name: Run unit tests with python3.9 on el8 ++ - name: Run unit tests with python3.9 on el9 + python: python3.9 +- container: ubi8 ++ container: ubi9 + - name: Run unit tests with python 3.6 on el8 + python: python3.6 + container: ubi8 +-- +2.42.0 + diff --git a/0022-Add-unit-tests-on-Python-3.12-to-the-GH-action.patch b/0022-Add-unit-tests-on-Python-3.12-to-the-GH-action.patch new file mode 100644 index 0000000..cc5d02d --- /dev/null +++ b/0022-Add-unit-tests-on-Python-3.12-to-the-GH-action.patch @@ -0,0 +1,28 @@ +From 0b00cc695ea076eb0f45176385f750654c4acea1 Mon Sep 17 00:00:00 2001 +From: Matej Matuska +Date: Fri, 12 Jul 2024 11:11:18 +0200 +Subject: [PATCH 22/23] Add unit tests on Python 3.12 to the GH action + +Currently the fake RHEL 10 container is used (based on ubi9). +--- + .github/workflows/unit-tests.yml | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml +index 008ce28..e67264b 100644 +--- a/.github/workflows/unit-tests.yml ++++ b/.github/workflows/unit-tests.yml +@@ -15,7 +15,9 @@ jobs: + fail-fast: false + matrix: + scenarios: +- - name: Run unit tests with python3.9 on el8 ++ - name: Run unit tests with python3.12 on el9 ++ python: python3.12 ++ container: ubi10 + - name: Run unit tests with python3.9 on el9 + python: python3.9 + container: ubi9 +-- +2.42.0 + diff --git a/0023-Fix-broken-queries-on-rerun.patch b/0023-Fix-broken-queries-on-rerun.patch new file mode 100644 index 0000000..5b3e749 --- /dev/null +++ b/0023-Fix-broken-queries-on-rerun.patch @@ -0,0 +1,46 @@ +From fcd13bc8720cd7efdf5398387307971f6f8afc76 Mon Sep 17 00:00:00 2001 +From: David Kubek +Date: Thu, 6 Jun 2024 15:08:44 +0200 +Subject: [PATCH 23/23] Fix broken queries on rerun + +After the update to the leapp db table names, the rerun command fails. +This commit fixes the issue by using the current schema. +--- + leapp/utils/audit/contextclone.py | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/leapp/utils/audit/contextclone.py b/leapp/utils/audit/contextclone.py +index 1c80f2c..d988d06 100644 +--- a/leapp/utils/audit/contextclone.py ++++ b/leapp/utils/audit/contextclone.py +@@ -70,14 +70,14 @@ def _dup_audit(db, message, data_source, newcontext, oldcontext): + return lookup + + +-def _dup_metadata(db, newcontext, oldcontext): +- for row in _fetch_table_for_context(db, 'metadata', oldcontext): +- # id context kind name metadata +- row_id, kind, name, metadata = _row_tuple(row, 'id', 'kind', 'name', 'metadata') ++def _dup_entity(db, newcontext, oldcontext): ++ for row in _fetch_table_for_context(db, 'entity', oldcontext): ++ # id context kind name metadata_hash ++ row_id, kind, name, metadata_hash = _row_tuple(row, 'id', 'kind', 'name', 'metadata_hash') + + db.execute( +- 'INSERT INTO metadata (context, kind, name, metadata) VALUES(?, ?, ?, ?)', +- (newcontext, kind, name, metadata)) ++ 'INSERT INTO entity (context, kind, name, metadata_hash) VALUES(?, ?, ?, ?)', ++ (newcontext, kind, name, metadata_hash)) + + + def _dup_dialog(db, data_source, newcontext, oldcontext): +@@ -102,5 +102,5 @@ def clone_context(oldcontext, newcontext, use_db=None): + message = _dup_message(db=db, data_source=data_source, newcontext=newcontext, oldcontext=oldcontext) + # Last clone message entries and use the lookup table generated by the data_source and message duplications + _dup_audit(db=db, data_source=data_source, message=message, newcontext=newcontext, oldcontext=oldcontext) +- _dup_metadata(db=db, oldcontext=oldcontext, newcontext=newcontext) ++ _dup_entity(db=db, oldcontext=oldcontext, newcontext=newcontext) + _dup_dialog(db=db, data_source=data_source, oldcontext=oldcontext, newcontext=newcontext) +-- +2.42.0 + diff --git a/leapp.spec b/leapp.spec index 618e260..b4dd135 100644 --- a/leapp.spec +++ b/leapp.spec @@ -37,7 +37,7 @@ Name: leapp Version: 0.17.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: OS & Application modernization framework License: ASL 2.0 @@ -73,6 +73,23 @@ Patch0005: 0005-Update-renovate.json.patch Patch0006: 0006-Add-process-lock.patch Patch0007: 0007-Extend-information-from-leapp-saved-to-leappdb-847.patch +# CTC2 +Patch0008: 0008-Update-peter-evans-create-or-update-comment-digest-t.patch +Patch0009: 0009-Update-dependency-ubuntu-to-v22.patch +Patch0010: 0010-Update-actions-github-script-action-to-v7.patch +Patch0011: 0011-Update-actions-checkout-action-to-v4.patch +Patch0012: 0012-Packit-drop-epel-7-ppc64le-chroot.patch +Patch0013: 0013-Packit-Bring-all-changes-from-leapp-repository.patch +Patch0014: 0014-Update-sclorg-testing-farm-as-github-action-action-t.patch +Patch0015: 0015-Add-.readthedocs.yaml-fixing-builds-on-RTD.patch +Patch0016: 0016-docs-Pin-sphinx-rtd-theme-version-fixing-build-error.patch +Patch0017: 0017-Starting-initial-draft-commit-for-building-for-EL-9-.patch +Patch0018: 0018-Replace-deprecated-FileFinder.find_module-Python-3.1.patch +Patch0019: 0019-draft-Fix-SafeConfigParser-error.patch +Patch0020: 0020-Silence-linter-on-deprecated-module-false-positive.patch +Patch0021: 0021-Run-unit-tests-on-Python-3.9-on-ubi9-instead-of-ubi8.patch +Patch0022: 0022-Add-unit-tests-on-Python-3.12-to-the-GH-action.patch +Patch0023: 0023-Fix-broken-queries-on-rerun.patch %description Leapp utility provides the possibility to use the Leapp framework via CLI. @@ -173,6 +190,22 @@ Requires: findutils %patch0005 -p1 %patch0006 -p1 %patch0007 -p1 +%patch0008 -p1 +%patch0009 -p1 +%patch0010 -p1 +%patch0011 -p1 +%patch0012 -p1 +%patch0013 -p1 +%patch0014 -p1 +%patch0015 -p1 +%patch0016 -p1 +%patch0017 -p1 +%patch0018 -p1 +%patch0019 -p1 +%patch0020 -p1 +%patch0021 -p1 +%patch0022 -p1 +%patch0023 -p1 ################################################## @@ -256,6 +289,11 @@ install -m 0644 -p man/leapp.1 %{buildroot}%{_mandir}/man1/ # no files here %changelog +* Wed Jul 24 2024 Toshio Kuratomi - 0.17.0-3 +- Fix broken leapp db queries on rerun +- Port all code to be Python-3.12 compatible. +- Resolves: RHEL-40363 + * Mon May 13 2024 Toshio Kuratomi - 0.17.0-2 - Minor improvement of the summary overview in the console output. - Store metadata about the LEAPP plugins inside leapp audit db.