
Now that ubuntu-24 is out of beta at Github Since for ubuntu_build, we only use one OS version and the changes between versions are not as drastic as with MacOS, it seems safe to have it upgrade automatically.
46 lines
1.5 KiB
YAML
46 lines
1.5 KiB
YAML
name: ubuntu_build
|
|
on: [pull_request, push]
|
|
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
jobs:
|
|
ubuntu_build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version:
|
|
- "3.9"
|
|
- "3.10"
|
|
- "3.11"
|
|
- "3.12"
|
|
- "3.13"
|
|
runs-on: ubuntu-latest
|
|
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 update -q; sudo apt install -yq make build-essential libssl-dev zlib1g-dev \
|
|
libbz2-dev libreadline-dev libsqlite3-dev curl \
|
|
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
|
|
# https://github.com/pyenv/pyenv#installation
|
|
- run: pwd
|
|
- env:
|
|
PYENV_ROOT: /home/runner/work/pyenv/pyenv
|
|
run: |
|
|
echo $PYENV_ROOT
|
|
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
|
bin/pyenv --debug install ${{ matrix.python-version }}
|
|
bin/pyenv global ${{ matrix.python-version }}
|
|
bin/pyenv rehash
|
|
- run: python --version
|
|
- run: python -m pip --version
|
|
- shell: python # Prove that actual Python == expected Python
|
|
env:
|
|
EXPECTED_PYTHON: ${{ matrix.python-version }}
|
|
run: import os, sys ; assert sys.version.startswith(os.getenv("EXPECTED_PYTHON"))
|