name: ubuntu_tests on: [pull_request, push] jobs: ubuntu_tests: strategy: fail-fast: false matrix: python-version: [2.7.18, 3.5.10, 3.6.12, 3.7.9, 3.8.7, 3.9.1] # 2.7.6, 3.4.10, runs-on: Ubuntu-20.04 steps: - uses: actions/checkout@v2 # Normally, we would use the superbly maintained... # - uses: actions/setup-python@v2 # with: # python-version: ${{ matrix.python-version }} # ... but in the repo, we want to test pyenv builds on Ubuntu # https://github.com/pyenv/pyenv#installation - run: echo 'export PYENV_ROOT=$(pwd)' >> ~/.bash_profile - run: echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile - run: echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile - run: | sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl git - run: git clone https://github.com/pyenv/pyenv-update.git $(bin/pyenv root)/plugins/pyenv-update - run: bin/pyenv update - run: bin/pyenv install ${{ matrix.python-version }} - run: bin/pyenv global ${{ matrix.python-version }} - run: bin/pyenv rehash - run: python --version || true - run: python -m pip --version || true - run: python2 --version || true - run: python2 -m pip --version || true - run: python3 --version || true - run: python3 -m pip --version || true