# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions name: Tests # env: # ANSIBLE_VERBOSITY: 3 # MITOGEN_LOG_LEVEL: DEBUG on: pull_request: push: branches-ignore: - docs-master # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners # https://github.com/actions/runner-images/blob/main/README.md#software-and-image-support jobs: u2204: name: u2204 ${{ matrix.tox_env }} # https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md runs-on: ubuntu-22.04 timeout-minutes: 25 strategy: fail-fast: false matrix: include: - tox_env: py27-m_ans-ans2.10 - tox_env: py27-m_ans-ans4 - tox_env: py36-m_ans-ans2.10 - tox_env: py36-m_ans-ans4 - tox_env: py27-m_mtg - tox_env: py36-m_mtg steps: - uses: actions/checkout@v4 - uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - run: .ci/show_python_versions - name: Install deps id: install-deps run: | set -o errexit -o nounset -o pipefail source .ci/bash_functions PYTHON="$(toxenv-python '${{ matrix.tox_env }}')" sudo apt-get update if [[ $PYTHON == "python2.7" ]]; then sudo apt install -y python2-dev sshpass virtualenv curl "https://bootstrap.pypa.io/pip/2.7/get-pip.py" --output "get-pip.py" "$PYTHON" get-pip.py --user --no-python-version-warning # Avoid Python 2.x pip masking system pip rm -f ~/.local/bin/{easy_install,pip,wheel} elif [[ $PYTHON == "python3.6" ]]; then sudo apt install -y gcc-10 make libbz2-dev liblzma-dev libreadline-dev libsqlite3-dev libssl-dev sshpass virtualenv zlib1g-dev curl --fail --silent --show-error --location https://pyenv.run | bash CC=gcc-10 ~/.pyenv/bin/pyenv install --force 3.6 PYTHON="$HOME/.pyenv/versions/3.6.15/bin/python3.6" fi "$PYTHON" -m pip install -r "tests/requirements-tox.txt" echo "python=$PYTHON" >> $GITHUB_OUTPUT - name: Run tests env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | set -o errexit -o nounset -o pipefail PYTHON="${{ steps.install-deps.outputs.python }}" "$PYTHON" -m tox -e "${{ matrix.tox_env }}" u2404: name: u2404 ${{ matrix.tox_env }} # https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md runs-on: ubuntu-24.04 timeout-minutes: 25 strategy: fail-fast: false matrix: include: - tox_env: py311-m_ans-ans2.10 python_version: '3.11' - tox_env: py311-m_ans-ans3 python_version: '3.11' - tox_env: py311-m_ans-ans4 python_version: '3.11' - tox_env: py311-m_ans-ans5 python_version: '3.11' - tox_env: py313-m_ans-ans6 python_version: '3.13' - tox_env: py313-m_ans-ans7 python_version: '3.13' - tox_env: py313-m_ans-ans8 python_version: '3.13' - tox_env: py314-m_ans-ans9 python_version: '3.14.0-rc.3' - tox_env: py314-m_ans-ans10 python_version: '3.14.0-rc.3' - tox_env: py314-m_ans-ans11 python_version: '3.14.0-rc.3' - tox_env: py314-m_ans-ans12 python_version: '3.14.0-rc.3' - tox_env: py314-m_ans-ans11-s_lin python_version: '3.14.0-rc.3' - tox_env: py314-m_ans-ans12-s_lin python_version: '3.14.0-rc.3' - tox_env: py314-m_mtg python_version: '3.14.0-rc.3' steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} if: ${{ matrix.python_version }} - uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - run: .ci/show_python_versions - name: Install deps id: install-deps run: | set -o errexit -o nounset -o pipefail source .ci/bash_functions PYTHON="$(toxenv-python '${{ matrix.tox_env }}')" sudo apt-get update sudo apt-get install -y sshpass virtualenv "$PYTHON" -m pip install -r "tests/requirements-tox.txt" echo "python=$PYTHON" >> $GITHUB_OUTPUT - name: Run tests env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | set -o errexit -o nounset -o pipefail PYTHON="${{ steps.install-deps.outputs.python }}" "$PYTHON" -m tox -e "${{ matrix.tox_env }}" macos: name: macos ${{ matrix.tox_env }} # https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md runs-on: macos-13 timeout-minutes: 15 strategy: fail-fast: false matrix: include: - tox_env: py314-m_lcl-ans11 python_version: '3.14.0-rc.3' sshpass_version: "1.10" - tox_env: py314-m_lcl-ans11-s_lin python_version: '3.14.0-rc.3' sshpass_version: "1.10" - tox_env: py314-m_lcl-ans12 python_version: '3.14.0-rc.3' - tox_env: py314-m_lcl-ans12-s_lin python_version: '3.14.0-rc.3' - tox_env: py314-m_mtg python_version: '3.14.0-rc.3' steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} if: ${{ matrix.python_version }} - run: .ci/show_python_versions - run: .ci/install_sshpass ${{ matrix.sshpass_version }} if: ${{ matrix.sshpass_version }} - name: Install deps id: install-deps run: | set -o errexit -o nounset -o pipefail source .ci/bash_functions PYTHON="$(toxenv-python '${{ matrix.tox_env }}')" "$PYTHON" -m pip install -r "tests/requirements-tox.txt" echo "python=$PYTHON" >> $GITHUB_OUTPUT - name: Run tests env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | set -o errexit -o nounset -o pipefail PYTHON="${{ steps.install-deps.outputs.python }}" "$PYTHON" -m tox -e "${{ matrix.tox_env }}" # https://github.com/marketplace/actions/alls-green check: if: always() needs: - u2204 - u2404 - macos runs-on: ubuntu-latest steps: - uses: re-actors/alls-green@release/v1 with: jobs: ${{ toJSON(needs) }}