Merge f925ada5e2f14201d65a652b829962cc40e61a0a into 4c6b0e9c3b33c0315becb94272841468f71a8f37
This commit is contained in:
commit
7451120f21
12
.github/FUNDING.yml
vendored
12
.github/FUNDING.yml
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: [pyenv] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: pyenv # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
26
.github/ISSUE_TEMPLATE.md
vendored
26
.github/ISSUE_TEMPLATE.md
vendored
@ -1,26 +0,0 @@
|
|||||||
Too many issues will kill our team's development velocity, drastically.
|
|
||||||
Make sure you have checked all steps below.
|
|
||||||
|
|
||||||
### Prerequisite
|
|
||||||
* [ ] Make sure your problem is not listed in [the common build problems](https://github.com/pyenv/pyenv/wiki/Common-build-problems).
|
|
||||||
* [ ] Make sure no duplicated issue has already been reported in [the pyenv issues](https://github.com/pyenv/pyenv/issues). You should look for closed issues, too.
|
|
||||||
* [ ] Make sure you are not asking us to help solving your specific issue.
|
|
||||||
* GitHub issues is opened mainly for development purposes. If you want to ask someone to help solving your problem, go to some community site like [Gitter](https://gitter.im/yyuu/pyenv), [StackOverflow](https://stackoverflow.com/questions/tagged/pyenv), etc.
|
|
||||||
* [ ] Make sure your problem is not derived from packaging (e.g. [Homebrew](https://brew.sh)).
|
|
||||||
* Please refer to the package documentation for the installation issues, etc.
|
|
||||||
* [ ] Make sure your problem is not derived from plugins.
|
|
||||||
* This repository is maintaining `pyenv` and the default `python-build` plugin only. Please refrain from reporting issues of other plugins here.
|
|
||||||
|
|
||||||
### Description
|
|
||||||
- [ ] Platform information (e.g. Ubuntu Linux 16.04):
|
|
||||||
- [ ] OS architecture (e.g. amd64):
|
|
||||||
- [ ] pyenv version:
|
|
||||||
- [ ] Python version:
|
|
||||||
- [ ] C Compiler information (e.g. gcc 7.3):
|
|
||||||
- [ ] Please attach the debug trace of the failing command as a gist:
|
|
||||||
* Run `env PYENV_DEBUG=1 <faulty command> 2>&1 | tee trace.log` and attach `trace.log`. E.g. if you have a problem with installing Python, run `env PYENV_DEBUG=1 pyenv install -v <version> 2>&1 | tee trace.log` (note the `-v` option to `pyenv install`).
|
|
||||||
- [ ] If you have a problem with installing Python, please also attach `config.log` from the build directory
|
|
||||||
* The build directory is reported after the "BUILD FAILED" message and is usually under `/tmp`.
|
|
||||||
- [ ] If the build succeeds but the problem is still with the build process (e.g. the resulting Python is missing a feature), please attach
|
|
||||||
* the debug trace from reinstalling the faulty version with `env PYENV_DEBUG=1 pyenv install -f -k -v <version> 2>&1 | tee trace.log`
|
|
||||||
* `config.log` from the build directory. When using `pyenv install` with `-k` as per above, the build directory will be under `$PYENV_ROOT/sources`.
|
|
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,16 +0,0 @@
|
|||||||
Make sure you have checked all steps below.
|
|
||||||
|
|
||||||
### Prerequisite
|
|
||||||
* [ ] Please consider implementing the feature as a hook script or plugin as a first step.
|
|
||||||
* pyenv has some powerful support for plugins and hook scripts. Please refer to [Authoring plugins](https://github.com/pyenv/pyenv/wiki/Authoring-plugins) for details and try to implement it as a plugin if possible.
|
|
||||||
* [ ] Please consider contributing the patch upstream to [rbenv](https://github.com/rbenv/rbenv), since we have borrowed most of the code from that project.
|
|
||||||
* We occasionally import the changes from rbenv. In general, you can expect changes made in rbenv will be imported to pyenv too, eventually.
|
|
||||||
* Generally speaking, we prefer not to make changes in the core in order to keep compatibility with rbenv.
|
|
||||||
* [ ] My PR addresses the following pyenv issue (if any)
|
|
||||||
- Closes https://github.com/pyenv/pyenv/issues/XXXX
|
|
||||||
|
|
||||||
### Description
|
|
||||||
- [ ] Here are some details about my PR
|
|
||||||
|
|
||||||
### Tests
|
|
||||||
- [ ] My PR adds the following unit tests (if any)
|
|
10
.github/dependabot.yml
vendored
10
.github/dependabot.yml
vendored
@ -1,10 +0,0 @@
|
|||||||
version: 2
|
|
||||||
updates:
|
|
||||||
- package-ecosystem: "github-actions"
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: "monthly"
|
|
||||||
groups:
|
|
||||||
github-actions:
|
|
||||||
patterns:
|
|
||||||
- "*"
|
|
43
.github/workflows/macos_build.yml
vendored
43
.github/workflows/macos_build.yml
vendored
@ -1,43 +0,0 @@
|
|||||||
name: macos_build
|
|
||||||
on: [pull_request, push]
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read # to fetch code (actions/checkout)
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
macos_build:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
python-version:
|
|
||||||
- "3.9"
|
|
||||||
- "3.10"
|
|
||||||
- "3.11"
|
|
||||||
- "3.12"
|
|
||||||
- "3.13"
|
|
||||||
runs-on: macos-14
|
|
||||||
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 macOS
|
|
||||||
- run: |
|
|
||||||
brew install openssl readline sqlite3 xz zlib
|
|
||||||
# https://github.com/pyenv/pyenv#installation
|
|
||||||
- run: pwd
|
|
||||||
- env:
|
|
||||||
PYENV_ROOT: /Users/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"))
|
|
269
.github/workflows/modified_scripts_build.yml
vendored
269
.github/workflows/modified_scripts_build.yml
vendored
@ -1,269 +0,0 @@
|
|||||||
name: modified_scripts
|
|
||||||
on: [pull_request]
|
|
||||||
jobs:
|
|
||||||
discover_modified_scripts:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
versions: ${{steps.modified-versions.outputs.versions}}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- run: git fetch origin "$GITHUB_BASE_REF"
|
|
||||||
- shell: bash
|
|
||||||
run: >
|
|
||||||
versions=$(git diff "origin/$GITHUB_BASE_REF" --name-only -z
|
|
||||||
| perl -ne 'BEGIN {$\="\n";$/="\0";} chomp;
|
|
||||||
if (/^plugins\/python-build\/share\/python-build\/(?:([^\/]+)|patches\/([^\/]+)\/.*)$/ and -e $& )
|
|
||||||
{ print $1.$2; }' \
|
|
||||||
| sort -u);
|
|
||||||
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64);
|
|
||||||
echo "versions<<$EOF" >> $GITHUB_ENV;
|
|
||||||
echo "$versions" >> $GITHUB_ENV;
|
|
||||||
echo "$EOF" >> $GITHUB_ENV;
|
|
||||||
|
|
||||||
versions_cpython_only=$(grep -Ee '^[[:digit:]]' <<<"$version")
|
|
||||||
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64);
|
|
||||||
echo "versions_cpython_only<<$EOF" >> $GITHUB_ENV;
|
|
||||||
echo $versions_cpython_only >> $GITHUB_ENV;
|
|
||||||
echo "$EOF" >> $GITHUB_ENV;
|
|
||||||
- id: modified-versions
|
|
||||||
run: |
|
|
||||||
echo "versions=`echo "${{ env.versions }}" | jq -R . | jq -sc .`" >> $GITHUB_OUTPUT
|
|
||||||
echo "versions_cpython_only=`echo "${{ env.versions_cpython_only }}" | jq -R . | jq -sc .`" >> $GITHUB_OUTPUT
|
|
||||||
macos_build:
|
|
||||||
needs: discover_modified_scripts
|
|
||||||
if: needs.discover_modified_scripts.outputs.versions != '[""]'
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
python-version: ${{fromJson(needs.discover_modified_scripts.outputs.versions)}}
|
|
||||||
os: ["macos-13", "macos-14"]
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- run: |
|
|
||||||
#envvars
|
|
||||||
export PYENV_ROOT="$GITHUB_WORKSPACE"
|
|
||||||
echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
|
|
||||||
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
|
||||||
- run: |
|
|
||||||
#prerequisites
|
|
||||||
brew install openssl openssl@1.1 readline sqlite3 xz zlib
|
|
||||||
if [[ "${{ matrix.python-version }}" =~ pypy.*-(src|dev) ]]; then
|
|
||||||
export PYENV_BOOTSTRAP_VERSION=pypy2.7-7
|
|
||||||
echo "PYENV_BOOTSTRAP_VERSION=$PYENV_BOOTSTRAP_VERSION" >> $GITHUB_ENV
|
|
||||||
pyenv install $PYENV_BOOTSTRAP_VERSION
|
|
||||||
fi
|
|
||||||
- run: |
|
|
||||||
#build
|
|
||||||
pyenv --debug install ${{ matrix.python-version }}
|
|
||||||
pyenv global ${{ matrix.python-version }}
|
|
||||||
# Micropython doesn't support --version
|
|
||||||
- run: |
|
|
||||||
#print version
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
python -c 'import sys; print(sys.version)'
|
|
||||||
else
|
|
||||||
python --version
|
|
||||||
python -m pip --version
|
|
||||||
fi
|
|
||||||
# Micropython doesn't support sys.executable, os.path, older versions even os
|
|
||||||
- env:
|
|
||||||
EXPECTED_PYTHON: ${{ matrix.python-version }}
|
|
||||||
run: |
|
|
||||||
#check
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
[[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
|
|
||||||
python -c 'import sys; assert sys.implementation.name == "micropython"'
|
|
||||||
else
|
|
||||||
python -c 'if True:
|
|
||||||
import os, sys, os.path
|
|
||||||
correct_dir = os.path.join(
|
|
||||||
os.environ["PYENV_ROOT"],
|
|
||||||
"versions",
|
|
||||||
os.environ["EXPECTED_PYTHON"],
|
|
||||||
"bin")
|
|
||||||
assert os.path.dirname(sys.executable) == correct_dir'
|
|
||||||
fi
|
|
||||||
# bundled executables in some Anaconda releases cause the post-run step to hang in MacOS
|
|
||||||
- run: |
|
|
||||||
pyenv global system
|
|
||||||
rm -f "$(pyenv root)"/shims/*
|
|
||||||
|
|
||||||
macos_build_bundled_dependencies:
|
|
||||||
needs: discover_modified_scripts
|
|
||||||
if: needs.discover_modified_scripts.outputs.versions_cpython_only != '[""]'
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
python-version: ${{fromJson(needs.discover_modified_scripts.outputs.versions_cpython_only)}}
|
|
||||||
os: ["macos-13", "macos-14"]
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- run: |
|
|
||||||
#envvars
|
|
||||||
export PYENV_ROOT="$GITHUB_WORKSPACE"
|
|
||||||
echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
|
|
||||||
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
|
||||||
- run: |
|
|
||||||
#prerequisites
|
|
||||||
brew install sqlite3 xz zlib
|
|
||||||
"$GITHUB_WORKSPACE/.github/workflows/scripts/brew-uninstall-cascade.sh" openssl@3 openssl@1.1 readline
|
|
||||||
if [[ "${{ matrix.python-version }}" =~ pypy.*-(src|dev) ]]; then
|
|
||||||
export PYENV_BOOTSTRAP_VERSION=pypy2.7-7
|
|
||||||
echo "PYENV_BOOTSTRAP_VERSION=$PYENV_BOOTSTRAP_VERSION" >> $GITHUB_ENV
|
|
||||||
pyenv install $PYENV_BOOTSTRAP_VERSION
|
|
||||||
fi
|
|
||||||
- run: |
|
|
||||||
#build
|
|
||||||
pyenv --debug install ${{ matrix.python-version }}
|
|
||||||
pyenv global ${{ matrix.python-version }}
|
|
||||||
# Micropython doesn't support --version
|
|
||||||
- run: |
|
|
||||||
#print version
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
python -c 'import sys; print(sys.version)'
|
|
||||||
else
|
|
||||||
python --version
|
|
||||||
python -m pip --version
|
|
||||||
fi
|
|
||||||
# Micropython doesn't support sys.executable, os.path, older versions even os
|
|
||||||
- env:
|
|
||||||
EXPECTED_PYTHON: ${{ matrix.python-version }}
|
|
||||||
run: |
|
|
||||||
#check
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
[[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
|
|
||||||
python -c 'import sys; assert sys.implementation.name == "micropython"'
|
|
||||||
else
|
|
||||||
python -c 'if True:
|
|
||||||
import os, sys, os.path
|
|
||||||
correct_dir = os.path.join(
|
|
||||||
os.environ["PYENV_ROOT"],
|
|
||||||
"versions",
|
|
||||||
os.environ["EXPECTED_PYTHON"],
|
|
||||||
"bin")
|
|
||||||
assert os.path.dirname(sys.executable) == correct_dir'
|
|
||||||
fi
|
|
||||||
# bundled executables in some Anaconda releases cause the post-run step to hang in MacOS
|
|
||||||
- run: |
|
|
||||||
pyenv global system
|
|
||||||
rm -f "$(pyenv root)"/shims/*
|
|
||||||
|
|
||||||
ubuntu_build:
|
|
||||||
needs: discover_modified_scripts
|
|
||||||
if: needs.discover_modified_scripts.outputs.versions != '[""]'
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
python-version: ${{fromJson(needs.discover_modified_scripts.outputs.versions)}}
|
|
||||||
os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"]
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- run: |
|
|
||||||
#envvars
|
|
||||||
export PYENV_ROOT="$GITHUB_WORKSPACE"
|
|
||||||
echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
|
|
||||||
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
|
||||||
- run: |
|
|
||||||
#prerequisites
|
|
||||||
sudo apt-get update -q; sudo apt-get install -yq make build-essential \
|
|
||||||
libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
|
|
||||||
curl llvm libncurses5-dev libncursesw5-dev \
|
|
||||||
xz-utils tk-dev libffi-dev liblzma-dev
|
|
||||||
if [[ "${{ matrix.python-version }}" =~ pypy.*-(src|dev) ]]; then
|
|
||||||
export PYENV_BOOTSTRAP_VERSION=pypy2.7-7
|
|
||||||
echo "PYENV_BOOTSTRAP_VERSION=$PYENV_BOOTSTRAP_VERSION" >> $GITHUB_ENV
|
|
||||||
pyenv install $PYENV_BOOTSTRAP_VERSION
|
|
||||||
fi
|
|
||||||
- run: |
|
|
||||||
#build
|
|
||||||
pyenv install -v ${{ matrix.python-version }}
|
|
||||||
pyenv global ${{ matrix.python-version }}
|
|
||||||
# Micropython doesn't support --version
|
|
||||||
- run: |
|
|
||||||
#print version
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
python -c 'import sys; print(sys.version)'
|
|
||||||
else
|
|
||||||
python --version
|
|
||||||
python -m pip --version
|
|
||||||
fi
|
|
||||||
# Micropython doesn't support sys.executable, os.path, older versions even os
|
|
||||||
- env:
|
|
||||||
EXPECTED_PYTHON: ${{ matrix.python-version }}
|
|
||||||
run: |
|
|
||||||
#check
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
[[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
|
|
||||||
python -c 'import sys; assert sys.implementation.name == "micropython"'
|
|
||||||
else
|
|
||||||
python -c 'if True:
|
|
||||||
import os, sys, os.path
|
|
||||||
correct_dir = os.path.join(
|
|
||||||
os.environ["PYENV_ROOT"],
|
|
||||||
"versions",
|
|
||||||
os.environ["EXPECTED_PYTHON"],
|
|
||||||
"bin")
|
|
||||||
assert os.path.dirname(sys.executable) == correct_dir'
|
|
||||||
fi
|
|
||||||
ubuntu_build_tar_gz:
|
|
||||||
needs: discover_modified_scripts
|
|
||||||
if: needs.discover_modified_scripts.outputs.versions_cpython_only != '[""]'
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
python-version: ${{fromJson(needs.discover_modified_scripts.outputs.versions_cpython_only)}}
|
|
||||||
os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"]
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- run: |
|
|
||||||
#envvars
|
|
||||||
export PYENV_ROOT="$GITHUB_WORKSPACE"
|
|
||||||
echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
|
|
||||||
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
|
||||||
echo "_PYTHON_BUILD_FORCE_SKIP_XZ=1" >> $GITHUB_PATH
|
|
||||||
- run: |
|
|
||||||
#prerequisites
|
|
||||||
sudo apt-get update -q; sudo apt-get install -yq make build-essential \
|
|
||||||
libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
|
|
||||||
curl llvm libncurses5-dev libncursesw5-dev \
|
|
||||||
xz-utils tk-dev libffi-dev liblzma-dev
|
|
||||||
if [[ "${{ matrix.python-version }}" =~ pypy.*-(src|dev) ]]; then
|
|
||||||
export PYENV_BOOTSTRAP_VERSION=pypy2.7-7
|
|
||||||
echo "PYENV_BOOTSTRAP_VERSION=$PYENV_BOOTSTRAP_VERSION" >> $GITHUB_ENV
|
|
||||||
pyenv install $PYENV_BOOTSTRAP_VERSION
|
|
||||||
fi
|
|
||||||
- run: |
|
|
||||||
#build
|
|
||||||
pyenv install -v ${{ matrix.python-version }}
|
|
||||||
pyenv global ${{ matrix.python-version }}
|
|
||||||
# Micropython doesn't support --version
|
|
||||||
- run: |
|
|
||||||
#print version
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
python -c 'import sys; print(sys.version)'
|
|
||||||
else
|
|
||||||
python --version
|
|
||||||
python -m pip --version
|
|
||||||
fi
|
|
||||||
# Micropython doesn't support sys.executable, os.path, older versions even os
|
|
||||||
- env:
|
|
||||||
EXPECTED_PYTHON: ${{ matrix.python-version }}
|
|
||||||
run: |
|
|
||||||
#check
|
|
||||||
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
|
|
||||||
[[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
|
|
||||||
python -c 'import sys; assert sys.implementation.name == "micropython"'
|
|
||||||
else
|
|
||||||
python -c 'if True:
|
|
||||||
import os, sys, os.path
|
|
||||||
correct_dir = os.path.join(
|
|
||||||
os.environ["PYENV_ROOT"],
|
|
||||||
"versions",
|
|
||||||
os.environ["EXPECTED_PYTHON"],
|
|
||||||
"bin")
|
|
||||||
assert os.path.dirname(sys.executable) == correct_dir'
|
|
||||||
fi
|
|
30
.github/workflows/no-response.yml
vendored
30
.github/workflows/no-response.yml
vendored
@ -1,30 +0,0 @@
|
|||||||
name: No Response
|
|
||||||
|
|
||||||
# Both `issue_comment` and `scheduled` event types are required for this Action
|
|
||||||
# to work properly.
|
|
||||||
on:
|
|
||||||
issue_comment:
|
|
||||||
types: [created]
|
|
||||||
schedule:
|
|
||||||
# Schedule for ten minutes after the hour, every hour
|
|
||||||
- cron: '10 * * * *'
|
|
||||||
|
|
||||||
permissions: {}
|
|
||||||
jobs:
|
|
||||||
noResponse:
|
|
||||||
permissions:
|
|
||||||
issues: write # to update issues (lee-dohm/no-response)
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: lee-dohm/no-response@v0.5.0
|
|
||||||
with:
|
|
||||||
token: ${{ github.token }}
|
|
||||||
daysUntilClose: 30
|
|
||||||
responseRequiredLabel: need-feedback
|
|
||||||
closeComment: >
|
|
||||||
This issue has been automatically closed because there has been no response
|
|
||||||
to our request for more information from the original author. With only the
|
|
||||||
information that is currently in the issue, we don't have enough information
|
|
||||||
to take action. Please reach out if you have or find the answers we need so
|
|
||||||
that we can investigate further.
|
|
50
.github/workflows/pyenv_tests.yml
vendored
50
.github/workflows/pyenv_tests.yml
vendored
@ -1,50 +0,0 @@
|
|||||||
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
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
declare -a packages rdepends
|
|
||||||
packages=("$@")
|
|
||||||
|
|
||||||
# have to try one by one, otherwise `brew uses` would only print
|
|
||||||
# packages that require them all rather than any of them
|
|
||||||
for package in "${packages[@]}"; do
|
|
||||||
rdepends+=($(brew uses --installed --include-build --include-test --include-optional --recursive "$package"))
|
|
||||||
done
|
|
||||||
brew uninstall "${packages[@]}" "${rdepends[@]}"
|
|
45
.github/workflows/ubuntu_build.yml
vendored
45
.github/workflows/ubuntu_build.yml
vendored
@ -1,45 +0,0 @@
|
|||||||
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"))
|
|
Loading…
x
Reference in New Issue
Block a user