diff --git a/.github/actions/egg/action.yml b/.github/actions/egg/action.yml new file mode 100644 index 0000000000..ff11b2c9ce --- /dev/null +++ b/.github/actions/egg/action.yml @@ -0,0 +1,14 @@ +name: Egg +description: Test running avocado from eggs +runs: + using: composite + steps: + - name: Test running avocado from eggs + shell: sh + run: | + python3 setup.py bdist_egg + mv dist/avocado_framework-*egg /tmp + python3 setup.py clean --all + python3 -c 'import sys; import glob; sys.path.insert(0, glob.glob("/tmp/avocado_framework-*.egg")[0]); from avocado.core.main import main; sys.exit(main())' run /bin/true + cd /tmp + python3 -c 'import sys; from pkg_resources import require; require("avocado-framework"); from avocado.core.main import main; sys.exit(main())' run /bin/true diff --git a/.github/actions/version/action.yml b/.github/actions/version/action.yml new file mode 100644 index 0000000000..6b14813a10 --- /dev/null +++ b/.github/actions/version/action.yml @@ -0,0 +1,10 @@ +name: Version +description: Installs and run avocado --version +runs: + using: composite + steps: + - name: Install and run avocado --version + shell: sh + run: | + python3 setup.py develop --user + python3 -m avocado --version diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ab8d81614..3d994dcf25 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -284,68 +284,209 @@ jobs: retention-days: 1 - run: echo "🥑 This job's status is ${{ job.status }}." + version_task_fedora_37: - version_task: + name: Version task fedora:37 + runs-on: ubuntu-20.04 + container: + image: fedora:37 + steps: + - name: Install Python dependencies + run: dnf -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/version + + version_task_fedora_38: - name: Version task (${{ matrix.container }}) + name: Version task fedora:38 runs-on: ubuntu-20.04 - strategy: - matrix: - container: ["fedora:37", - "fedora:38", - "registry.access.redhat.com/ubi8/ubi:8.8", - "registry.access.redhat.com/ubi9/ubi:9.2", - "debian:10.10", - "debian:11.0", - "ubuntu:21.10", - "ubuntu:20.04"] + container: + image: fedora:38 steps: + - name: Install Python dependencies + run: dnf -y install python3-setuptools - name: Check out repository code uses: actions/checkout@v3 - - name: Install and run avocado --version - run: | - if ! command -v dnf &> /dev/null - then - python3 -c 'import setuptools' || dnf -y install python3 python3-setuptools - else - python3 --version || (apt update && apt -y install python3 python3-setuptools ca-certificates) - fi - python3 setup.py develop --user - python3 -m avocado --version + - uses: ./.github/actions/version + + version_task_ubi_8: + name: Version task ubi:8.8 + runs-on: ubuntu-20.04 + container: + image: registry.access.redhat.com/ubi8/ubi:8.8 + steps: + - name: Install Python dependencies + run: dnf -y install python3.11 python3.11-setuptools python3.11-setuptools-rust + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/version - egg_task: + version_task_ubi_9: - name: Egg task (${{ matrix.container }}) + name: Version task ubi:9.2 runs-on: ubuntu-20.04 - strategy: - matrix: - container: ["fedora:37", - "fedora:38", - "registry.access.redhat.com/ubi8/ubi:8.8", - "registry.access.redhat.com/ubi9/ubi:9.2", - "debian:10.10", - "debian:11.0", - "ubuntu:21.10", - "ubuntu:20.04"] + container: + image: registry.access.redhat.com/ubi9/ubi:9.2 steps: - name: Check out repository code uses: actions/checkout@v3 - - name: Test running avocado from eggs - run: | - if ! command -v dnf &> /dev/null - then - python3 -c 'import setuptools' || dnf -y install python3 python3-setuptools - else - python3 --version || (apt update && apt -y install python3 python3-setuptools) - fi - python3 setup.py bdist_egg - mv dist/avocado_framework-*egg /tmp - python3 setup.py clean --all - python3 -c 'import sys; import glob; sys.path.insert(0, glob.glob("/tmp/avocado_framework-*.egg")[0]); from avocado.core.main import main; sys.exit(main())' run /bin/true - cd /tmp - python3 -c 'import sys; from pkg_resources import require; require("avocado-framework"); from avocado.core.main import main; sys.exit(main())' run /bin/true + - uses: ./.github/actions/version + version_task_debian_12: + + name: Version task debian:12.4 + runs-on: ubuntu-20.04 + container: + image: debian:12.4 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/version + + version_task_debian_11: + + name: Version task debian:11.0 + runs-on: ubuntu-20.04 + container: + image: debian:11.0 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/version + + version_task_ubuntu_22: + + name: Version task ubuntu:22.04 + runs-on: ubuntu-20.04 + container: + image: ubuntu:22.04 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools ca-certificates + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/version + + version_task_ubuntu_20: + + name: Version task ubuntu:20.04 + runs-on: ubuntu-20.04 + container: + image: ubuntu:20.04 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools ca-certificates + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/version + + egg_task_fedora_37: + + name: Egg task fedora:37 + runs-on: ubuntu-20.04 + container: + image: fedora:37 + steps: + - name: Install Python dependencies + run: dnf -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg + + egg_task_fedora_38: + + name: Egg task fedora:38 + runs-on: ubuntu-20.04 + container: + image: fedora:38 + steps: + - name: Install Python dependencies + run: dnf -y install python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg + + egg_task_ubi_8: + + name: Egg task ubi:8.8 + runs-on: ubuntu-20.04 + container: + image: registry.access.redhat.com/ubi8/ubi:8.8 + steps: + - name: Install Python dependencies + run: dnf -y install python38 python38-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg + + egg_task_ubi_9: + + name: Egg task ubi:9.2 + runs-on: ubuntu-20.04 + container: + image: registry.access.redhat.com/ubi9/ubi:9.2 + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg + + egg_task_debian_12: + + name: Egg task debian:12.4 + runs-on: ubuntu-20.04 + container: + image: debian:12.4 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg + + egg_task_debian_11: + + name: Egg task debian:11.0 + runs-on: ubuntu-20.04 + container: + image: debian:11.0 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg + + egg_task_ubuntu_22: + + name: Egg task ubuntu:22.04 + runs-on: ubuntu-20.04 + container: + image: ubuntu:22.04 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg + + egg_task_ubuntu_20: + + name: Egg task ubuntu:20.04 + runs-on: ubuntu-20.04 + container: + image: ubuntu:20.04 + steps: + - name: Install Python dependencies + run: apt update && apt -y install python3 python3-setuptools + - name: Check out repository code + uses: actions/checkout@v3 + - uses: ./.github/actions/egg podman_egg_task: