diff --git a/.github/workflows/actions.lock b/.github/workflows/actions.lock index 1c6d4fa1..8d0216b7 100644 --- a/.github/workflows/actions.lock +++ b/.github/workflows/actions.lock @@ -47,6 +47,7 @@ workflows: - 'linux-system-roles/.github@main' '.github/workflows/qemu-kvm-integration-tests.yml': - 'actions/checkout@v7.0.1' + - 'actions/setup-python@v7.1.0' - 'actions/upload-artifact@v7.0.2' - 'linux-system-roles/.github@main' '.github/workflows/test_converting_readme.yml': @@ -106,7 +107,7 @@ dependencies: repo_id: 259445878 'linux-system-roles/.github@main': ref: 'main' - commit: 'sha1-df8dd90550279264a8ff13a2153ff747d79047a1' + commit: 'sha1-54e8132c2d5c8ea4edf115040dc11cf0d5b2dfff' owner_id: 28014670 repo_id: 320092621 'sclorg/testing-farm-as-github-action@v4.3.1': diff --git a/.github/workflows/ansible-lint.yml b/.github/workflows/ansible-lint.yml index 59ab3819..0202b8f2 100644 --- a/.github/workflows/ansible-lint.yml +++ b/.github/workflows/ansible-lint.yml @@ -27,7 +27,7 @@ jobs: # https://github.com/ansible-collections/partner-certification-checker/blob/main/.github/workflows/certification-reusable.yml#L108 versions: - { ansible_lint: "24.*", ansible: "2.16.*", python: "3.12" } - - { ansible_lint: "26.*", ansible: "2.20.*", python: "3.13" } + - { ansible_lint: "26.*", ansible: "2.22.*", python: "3.14" } steps: - name: Get PR head SHA and context if: github.event_name == 'issue_comment' @@ -68,7 +68,7 @@ jobs: - name: Install tox, tox-lsr run: | set -euxo pipefail - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@bfd11b23a1ed56388ea7ab8263d30e3172553a7c" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@b8adb1a54303ce668b39fedf86e89cd0895df948" - name: Set up Python uses: actions/setup-python@v7.1.0 diff --git a/.github/workflows/ansible-managed-var-comment.yml b/.github/workflows/ansible-managed-var-comment.yml index bc2fe264..e543dadb 100644 --- a/.github/workflows/ansible-managed-var-comment.yml +++ b/.github/workflows/ansible-managed-var-comment.yml @@ -57,7 +57,7 @@ jobs: - name: Install tox, tox-lsr run: | set -euxo pipefail - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@bfd11b23a1ed56388ea7ab8263d30e3172553a7c" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@b8adb1a54303ce668b39fedf86e89cd0895df948" - name: Run ansible-plugin-scan run: | diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml index 1bb62467..16e5dc53 100644 --- a/.github/workflows/ansible-test.yml +++ b/.github/workflows/ansible-test.yml @@ -18,18 +18,18 @@ permissions: jobs: ansible_test: if: inputs.requested || github.event_name != 'issue_comment' - runs-on: ubuntu-latest + runs-on: ${{ matrix.versions.runner_os }} strategy: fail-fast: false # get all results, not just the first failure matrix: versions: - - { ansible: "2-14", python: "3.9" } - - { ansible: "2-16", python: "3.11" } - - { ansible: "2-17", python: "3.12" } - - { ansible: "2-18", python: "3.12" } - - { ansible: "2-19", python: "3.13" } - - { ansible: "2-20", python: "3.13" } - - { ansible: "milestone", python: "3.13" } + - { ansible: "2-14", python: "3.9", runner_os: "ubuntu-latest" } + - { ansible: "2-16", python: "3.11", runner_os: "ubuntu-latest" } + - { ansible: "2-17", python: "3.12", runner_os: "ubuntu-latest" } + - { ansible: "2-20", python: "3.13", runner_os: "ubuntu-latest" } + - { ansible: "2-21", python: "3.13", runner_os: "ubuntu-latest" } + - { ansible: "2-22", python: "3.14", runner_os: "ubuntu-26.04" } + - { ansible: "milestone", python: "3.14", runner_os: "ubuntu-latest" } steps: - name: Get PR head SHA and context if: github.event_name == 'issue_comment' @@ -71,7 +71,7 @@ jobs: - name: Install tox, tox-lsr run: | set -euxo pipefail - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@bfd11b23a1ed56388ea7ab8263d30e3172553a7c" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@b8adb1a54303ce668b39fedf86e89cd0895df948" - name: Set up Python uses: actions/setup-python@v7.1.0 @@ -82,11 +82,24 @@ jobs: run: tox -e collection - name: Run ansible-test + if: matrix.versions.ansible != '2-22' run: | tox \ -x testenv:ansible-test-${{ matrix.versions.ansible }}.basepython="python${{ matrix.versions.python }}" \ -e ansible-test-${{ matrix.versions.ansible }} + # https://bugs.launchpad.net/ubuntu/+source/podman/+bug/2154379 + - name: Run ansible-test 2.22 without a container + if: matrix.versions.ansible == '2-22' + run: | + set -euo pipefail + python -m pip install 'ansible-core==2.22.*' + tempdir=$(mktemp -d) + trap 'rm -rf "$tempdir"' EXIT + cp -a .tox/ansible_collections "$tempdir/" + cd "$tempdir/ansible_collections/fedora/linux_system_roles" + ansible-test sanity + - name: Set final commit status if: always() && github.event_name == 'issue_comment' && steps.head_sha_context.outputs.head_sha != '' uses: linux-system-roles/.github/github-actions/commit-status@main diff --git a/.github/workflows/python-unit-test.yml b/.github/workflows/python-unit-test.yml index 93dd9bd1..7dbd88a5 100644 --- a/.github/workflows/python-unit-test.yml +++ b/.github/workflows/python-unit-test.yml @@ -94,7 +94,7 @@ jobs: tox=tox virtualenv=virtualenv fi - pip install "$tox" "$virtualenv" "git+https://github.com/linux-system-roles/tox-lsr@bfd11b23a1ed56388ea7ab8263d30e3172553a7c" + pip install "$tox" "$virtualenv" "git+https://github.com/linux-system-roles/tox-lsr@b8adb1a54303ce668b39fedf86e89cd0895df948" # If you have additional OS dependency packages e.g. libcairo2-dev # then put them in .github/config/ubuntu-requirements.txt, one # package per line. diff --git a/.github/workflows/qemu-kvm-integration-tests.yml b/.github/workflows/qemu-kvm-integration-tests.yml index 4dfb898e..6b18a30d 100644 --- a/.github/workflows/qemu-kvm-integration-tests.yml +++ b/.github/workflows/qemu-kvm-integration-tests.yml @@ -25,8 +25,8 @@ jobs: # QEMU - { image: "centos-9", env: "qemu-ansible-core-2-16" } - { image: "centos-10", env: "qemu-ansible-core-2-17" } - - { image: "fedora-43", env: "qemu-ansible-core-2-20" } - { image: "fedora-44", env: "qemu-ansible-core-2-21" } + - { image: "fedora-45", env: "qemu-ansible-core-2-22", python: "3.14" } - { image: "leap-15.6", env: "qemu-ansible-core-2-18" } - { image: "leap-16.0", env: "qemu-ansible-core-2-20" } @@ -36,11 +36,12 @@ jobs: # broken on non-running dbus # - { image: "centos-10", env: "container-ansible-core-2-17" } - { image: "centos-10-bootc", env: "container-ansible-core-2-17" } - - { image: "fedora-43", env: "container-ansible-core-2-20" } - { image: "fedora-44", env: "container-ansible-core-2-21" } - - { image: "fedora-43-bootc", env: "container-ansible-core-2-20" } + - { image: "fedora-45", env: "container-ansible-core-2-22", python: "3.14" } # ansible-core 2.21 cannot enable services using service module in bootc images - { image: "fedora-44-bootc", env: "container-ansible-core-2-20" } + # fedora-45 requires ansible-core 2.22 + - { image: "fedora-45-bootc", env: "container-ansible-core-2-22", python: "3.14" } env: TOX_ARGS: "--skip-tags tests::infiniband,tests::nvme,tests::scsi" @@ -127,6 +128,12 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Set up Python + if: steps.check_platform.outputs.supported && matrix.scenario.python != '' + uses: actions/setup-python@v7.1.0 + with: + python-version: ${{ matrix.scenario.python }} + - name: Install test dependencies if: steps.check_platform.outputs.supported run: | @@ -134,7 +141,7 @@ jobs: python3 -m pip install --upgrade pip sudo apt update sudo apt install -y --no-install-recommends git ansible-core genisoimage qemu-system-x86 qemu-utils - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@bfd11b23a1ed56388ea7ab8263d30e3172553a7c" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@b8adb1a54303ce668b39fedf86e89cd0895df948" - name: Check for podman version 5 or higher id: check_podman_version diff --git a/.github/workflows/tft.yml b/.github/workflows/tft.yml index cc903726..06e363f1 100644 --- a/.github/workflows/tft.yml +++ b/.github/workflows/tft.yml @@ -80,8 +80,8 @@ jobs: meta_main=meta/main.yml # All Fedora are supported, add latest Fedora versions to supported_platforms if yq '.galaxy_info.galaxy_tags[]' "$meta_main" | grep -qi fedora$; then - supported_platforms+=" Fedora-43" supported_platforms+=" Fedora-44" + supported_platforms+=" Fedora-45" fi # Specific Fedora versions supported if yq '.galaxy_info.galaxy_tags[]' "$meta_main" | grep -qiP 'fedora\d+$'; then @@ -107,10 +107,10 @@ jobs: matrix: include: # Ensure ansible version is a string! - - platform: Fedora-43 - ansible_version: "2.20" - platform: Fedora-44 ansible_version: "2.21" + - platform: Fedora-45 + ansible_version: "2.22" - platform: CentOS-7-latest ansible_version: "2.9" - platform: CentOS-Stream-8 @@ -183,6 +183,7 @@ jobs: environment_settings: '{ "provisioning": { "tags": { "BusinessUnit": "system_roles" } } }' # Keeping SR_ARTIFACTS_URL at the bottom makes the link in logs clickable variables: "SR_ANSIBLE_VER=${{ matrix.ansible_version }};\ + SR_ANSIBLE_VER_PRE_RELEASE=${{ matrix.pre_release }};\ SR_REPO_NAME=${{ github.event.repository.name }};\ SR_GITHUB_ORG=${{ github.repository_owner }};\ SR_PR_NUM=${{ github.event.issue.number || github.event.number }};\