[workflows/ci.yml] Build 3.12 with pyenv
This commit is contained in:
parent
2a4e9faa77
commit
ca71e56c48
40
.github/workflows/ci.yml
vendored
40
.github/workflows/ci.yml
vendored
@ -124,7 +124,7 @@ jobs:
|
||||
#-------- Python 3 -----
|
||||
- name: Set up supported Python ${{ matrix.python-version }}
|
||||
id: setup-python
|
||||
if: ${{ matrix.python-impl == 'cpython' && matrix.python-version != '2.6' && matrix.python-version != '2.7'}}
|
||||
if: ${{ matrix.python-impl == 'cpython' && matrix.python-version != '2.6' && matrix.python-version != '2.7' && matrix.python-version != '3.12'}}
|
||||
# wrap broken actions/setup-python@v4
|
||||
uses: ytdl-org/setup-python@v1
|
||||
with:
|
||||
@ -162,6 +162,42 @@ jobs:
|
||||
'import sys' \
|
||||
'print(sys.path)' \
|
||||
| ${expected} -
|
||||
#-------- Python 3.12 -
|
||||
- name: Set up Python 3.12 environment
|
||||
if: ${{ matrix.python-version == '3.12' }}
|
||||
shell: bash
|
||||
run: |
|
||||
PYENV_ROOT=$HOME/.local/share/pyenv
|
||||
echo "PYENV_ROOT=${PYENV_ROOT}" >> "$GITHUB_ENV"
|
||||
- name: Cache Python 3.12
|
||||
id: cache312
|
||||
if: ${{ matrix.python-version == '3.12' }}
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
key: python-3.12
|
||||
path: |
|
||||
${{ env.PYENV_ROOT }}
|
||||
- name: Build and set up Python 3.12
|
||||
if: ${{ matrix.python-version == '3.12' && ! steps.cache312.outputs.cache-hit }}
|
||||
# dl and build locally
|
||||
shell: bash
|
||||
run: |
|
||||
# Install build environment
|
||||
sudo apt-get install -y build-essential llvm libssl-dev tk-dev \
|
||||
libncursesw5-dev libreadline-dev libsqlite3-dev \
|
||||
libffi-dev xz-utils zlib1g-dev libbz2-dev liblzma-dev
|
||||
# Download PyEnv from its GitHub repository.
|
||||
export PYENV_ROOT=${{ env.PYENV_ROOT }}
|
||||
export PATH=$PYENV_ROOT/bin:$PATH
|
||||
git clone "https://github.com/pyenv/pyenv.git" "$PYENV_ROOT"
|
||||
pyenv install 3.12.0b4
|
||||
- name: Locate Python 3.12
|
||||
if: ${{ matrix.python-version == '3.12' }}
|
||||
shell: bash
|
||||
run: |
|
||||
PYTHONHOME="${{ env.PYENV_ROOT }}/versions/3.12.0b4"
|
||||
echo "PYTHONHOME=$PYTHONHOME" >> "$GITHUB_ENV"
|
||||
echo "PATH=${PYTHONHOME}/bin:$PATH" >> "$GITHUB_ENV"
|
||||
#-------- Python 2.7 --
|
||||
- name: Set up Python 2.7
|
||||
if: ${{ matrix.python-version == '2.7' }}
|
||||
@ -325,7 +361,7 @@ jobs:
|
||||
done
|
||||
#-------- nose --------
|
||||
- name: Install nose for Python ${{ matrix.python-version }}
|
||||
if: ${{ (matrix.python-version != '3.2' && steps.setup-python.outputs.python-path) || matrix.python-version == '2.7' }}
|
||||
if: ${{ (matrix.python-version != '3.2' && steps.setup-python.outputs.python-path) || matrix.python-version == '2.7' || matrix.python-version == '3.12' }}
|
||||
shell: bash
|
||||
run: |
|
||||
echo "$PATH"
|
||||
|
Loading…
Reference in New Issue
Block a user