chore(ci): add homebrew python integration test #173
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test install-poetry.py | |
on: | |
push: | |
paths: | |
- 'install-poetry.py' | |
- '.github/workflows/installer.yml' | |
branches: | |
- main | |
pull_request: | |
paths: | |
- 'install-poetry.py' | |
- '.github/workflows/installer.yml' | |
branches: | |
- '**' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
# default: | |
# name: ${{ matrix.os }} / ${{ matrix.python-version }} / install-poetry.py ${{ matrix.args }} | |
# runs-on: ${{ matrix.image }} | |
# strategy: | |
# matrix: | |
# os: [Ubuntu, macOS, Windows] | |
# python-version: | |
# - "3.9" | |
# - "3.10" | |
# - "3.11" | |
# - "3.12" | |
# - "3.13" | |
# args: | |
# - "" | |
# - "--preview" | |
# - "--git https://github.com/python-poetry/poetry.git" | |
# include: | |
# - os: Ubuntu | |
# image: ubuntu-22.04 | |
# - os: Windows | |
# image: windows-2022 | |
# - os: macOS | |
# image: macos-12 | |
# fail-fast: false | |
# defaults: | |
# run: | |
# shell: bash | |
# steps: | |
# - uses: actions/checkout@v4 | |
# | |
# - name: Set up Python ${{ matrix.python-version }} | |
# uses: actions/setup-python@v5 | |
# with: | |
# python-version: ${{ matrix.python-version }} | |
# | |
# - name: Update PATH | |
# if: ${{ matrix.os != 'Windows' }} | |
# run: echo "$HOME/.local/bin" >> $GITHUB_PATH | |
# | |
# - name: Update PATH for Windows | |
# if: ${{ matrix.os == 'Windows' }} | |
# run: echo "$APPDATA\Python\Scripts" >> $GITHUB_PATH | |
# | |
# - name: Install Poetry | |
# run: python install-poetry.py -y ${{ matrix.args }} | |
# | |
# - name: Upload Failure Log | |
# uses: actions/upload-artifact@v4 | |
# if: failure() | |
# with: | |
# name: poetry-installer-error.log | |
# path: poetry-installer-error-*.log | |
# | |
# - name: Verify Installation | |
# run: | | |
# set -e | |
# poetry new foobar | |
# cd foobar | |
# poetry config virtualenvs.in-project true | |
# poetry env use python | |
# [ "$(poetry run python --version)" == "$(python --version)" ] \ | |
# || { echo >&2 "ERROR: Virtual environment Python version do not match system version." && exit 1; } | |
# | |
# - name: Uninstall Poetry | |
# run: | | |
# python install-poetry.py -y --uninstall | |
# { type poetry 2>/dev/null >&2 && exit 1; } || exit 0 | |
# | |
# # debian/ubuntu needs special testing due to various issues around python packaging | |
# # and configuration | |
# integration-ubuntu: | |
# name: Integration Test / Ubuntu / ${{ matrix.tag }} | |
# runs-on: ubuntu-latest | |
# container: docker.io/ubuntu:${{ matrix.tag }} | |
# strategy: | |
# matrix: | |
# tag: | |
# - focal | |
# - jammy | |
# defaults: | |
# run: | |
# shell: bash | |
# steps: | |
# - uses: actions/checkout@v4 | |
# | |
# - name: Install Packages | |
# run: | | |
# apt-get -y update | |
# apt-get -y install python3 ca-certificates | |
# apt-get -y install --reinstall python3-distutils | |
# | |
# - name: Update PATH | |
# run: echo "$HOME/.local/bin" >> $GITHUB_PATH | |
# | |
# - name: Install Poetry | |
# env: | |
# DEB_PYTHON_INSTALL_LAYOUT: "deb" | |
# run: python3 install-poetry.py -y | |
# | |
# - name: Upload Failure Log | |
# uses: actions/upload-artifact@v4 | |
# if: failure() | |
# with: | |
# name: poetry-installer-error.log | |
# path: poetry-installer-error-*.log | |
# | |
# - name: Verify Installation | |
# run: | | |
# set -e | |
# poetry new foobar | |
# cd foobar | |
# poetry config virtualenvs.in-project true | |
# poetry env use python3 | |
# [ "$(poetry run python --version)" == "$(python3 --version)" ] \ | |
# || { echo >&2 "ERROR: Virtual environment Python version do not match system version." && exit 1; } | |
# | |
# - name: Uninstall Poetry | |
# run: | | |
# python3 install-poetry.py -y --uninstall | |
# { type poetry 2>/dev/null >&2 && exit 1; } || exit 0 | |
integration-macos-homebrew: | |
name: Integration Test / MacOS / Homebrew Python | |
runs-on: macos-latest | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Homebrew | |
run: | | |
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
echo >> /Users/runner/.bash_profile | |
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/runner/.bash_profile | |
- name: Install Python 3.13 | |
run: | | |
brew install [email protected] | |
- name: Install Poetry | |
run: | | |
python -m site | |
ls -all $(which python) | |
curl -sSL https://install.python-poetry.org | python - | |
- name: Install Python 3.12 | |
run: | | |
brew install [email protected] | |
echo "$(brew --prefix [email protected])/libexec/bin" >> $GITHUB_PATH | |
- name: Test Poetry | |
run: | | |
python -m site | |
ls -all $(which python) | |
poetry new foo | |
cd foo | |
poetry add pycowsay | |
poetry run pycowsay | |
- name: Uninstall Python 3.13 | |
run: | | |
brew uninstall [email protected] | |
- name: Test Poetry | |
run: | | |
python -m site | |
ls -all $(which python) | |
cd foo | |
poetry run pycowsay |