2021-09-15 13:30:16 -04:00
|
|
|
name: pyenv_tests
|
|
|
|
on: [pull_request, push]
|
2022-11-09 20:46:55 -05:00
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
|
2021-09-15 13:30:16 -04:00
|
|
|
jobs:
|
|
|
|
pyenv_tests:
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
os:
|
2022-09-03 18:40:00 -04:00
|
|
|
- ubuntu-22.04
|
2021-09-15 13:30:16 -04:00
|
|
|
- ubuntu-20.04
|
2024-07-01 15:38:06 -04:00
|
|
|
- macos-14
|
|
|
|
- macos-13
|
2021-09-15 13:30:16 -04:00
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
2023-12-12 00:04:41 -05:00
|
|
|
- uses: actions/checkout@v4
|
2021-09-15 13:30:16 -04:00
|
|
|
# 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
|
2021-09-15 14:05:11 -04:00
|
|
|
- run: |
|
2022-04-03 18:08:49 -04:00
|
|
|
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
|
2021-09-15 13:30:16 -04:00
|
|
|
- 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
|
2023-02-06 07:38:20 -05:00
|
|
|
- env:
|
|
|
|
PYENV_NATIVE_EXT: 1
|
|
|
|
run: |
|
|
|
|
(cd src; ./configure; make)
|
|
|
|
bats/bin/bats test/{pyenv,hooks,versions}.bats
|