You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
218 lines
6.9 KiB
YAML
218 lines
6.9 KiB
YAML
# 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) }}
|