HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //usr/local/share/python/pyenv/.github/workflows/pyenv_tests.yml
name: pyenv_tests
on: [pull_request, push]

permissions:
  contents: read  #  to fetch code (actions/checkout)

jobs:
  pyenv_tests:
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-24.04
          - ubuntu-22.04
          - ubuntu-20.04
          - macos-14
          - macos-13
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      # 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
      # - 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
      # https://github.com/pyenv/pyenv#installation
      - run: |
          if test "$RUNNER_OS" == "macOS"; then
            brew install coreutils fish
          elif [[ $(lsb_release -sr | awk -F. '{print $1}') -ge 20 ]]; then
            # Ubuntu 18 has fish 2 which lacks many features that facilitate testing
            sudo apt install fish -yq
          fi
      - run: pwd
      - env:
          PYENV_ROOT: /home/runner/work/pyenv/pyenv
        run: |
          echo $PYENV_ROOT
          echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
      - run: |
          make test
      - env:
          PYENV_NATIVE_EXT: 1
        run: |
          (cd src; ./configure; make)
          bats/bin/bats test/{pyenv,hooks,versions}.bats