From d18f51f1324074565e1a6d8670ea78846008fb3a Mon Sep 17 00:00:00 2001 From: Andrew Schweitzer Date: Fri, 12 Apr 2024 16:12:01 -0400 Subject: [PATCH 1/2] Fix relative path error that appears in CI apparently due to newer version of pipx or some other dependency --- .github/workflows/tests.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4b17f407..eb62dd4b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,8 +14,9 @@ jobs: include: - { python: "3.12", os: "ubuntu-latest", session: "pre-commit" } # - { python: "3.12", os: "ubuntu-latest", session: "mypy" } - - { python: "3.11", os: "ubuntu-latest", session: "tests" } - { python: "3.10", os: "ubuntu-latest", session: "tests" } + - { python: "3.11", os: "ubuntu-latest", session: "tests" } + - { python: "3.12", os: "ubuntu-latest", session: "tests" } - { python: "3.12", os: "windows-latest", session: "tests" } - { python: "3.12", os: "macos-latest", session: "tests" } - { python: "3.12", os: "ubuntu-latest", session: "xdoctest" } @@ -36,7 +37,7 @@ jobs: - name: Upgrade pip run: | - pip install --constraint=.github/workflows/constraints.txt pip + pip install --constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt pip pip --version - name: Upgrade pip in virtual environments @@ -50,13 +51,13 @@ jobs: - name: Install Poetry run: | - pipx install --pip-args=--constraint=.github/workflows/constraints.txt poetry + pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt poetry poetry --version - name: Install Nox run: | - pipx install --pip-args=--constraint=.github/workflows/constraints.txt nox - pipx inject --pip-args=--constraint=.github/workflows/constraints.txt nox nox-poetry + pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox + pipx inject --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox nox-poetry nox --version - name: Compute pre-commit cache key @@ -115,18 +116,18 @@ jobs: - name: Upgrade pip run: | - pip install --constraint=.github/workflows/constraints.txt pip + pip install --constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt pip pip --version - name: Install Poetry run: | - pipx install --pip-args=--constraint=.github/workflows/constraints.txt poetry + pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt poetry poetry --version - name: Install Nox run: | - pipx install --pip-args=--constraint=.github/workflows/constraints.txt nox - pipx inject --pip-args=--constraint=.github/workflows/constraints.txt nox nox-poetry + pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox + pipx inject --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox nox-poetry nox --version - name: Download coverage data From 627a9d785febe09ad68db60b656a364ccf00a60f Mon Sep 17 00:00:00 2001 From: Andrew Schweitzer Date: Mon, 15 Apr 2024 15:10:40 -0400 Subject: [PATCH 2/2] Work around for pipx issue #1331 (#283) pipx 1.5.0 has a bug, https://github.com/pypa/pipx/issues/1331#issuecomment-2043163012, such that the current working directory is ignored during 'pipx install'; This latest broken pipx is included in the latest images used by GitHub runners (e.g. https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md), so we work around the problem by using an absolute path for '.github/workflows/constraints.txt'. --- .github/workflows/tests.yml | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index eb62dd4b..e55fd0b9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -27,6 +27,18 @@ jobs: PRE_COMMIT_COLOR: "always" steps: + ############################### + # Work around pipx issue #1331 with absolute path to constraint.txt + # https://github.com/pypa/pipx/issues/1331#issuecomment-2043163012 + - name: Set PIP_ARGS on Windows + run: echo "PIP_ARGS=--constraint=$env:GITHUB_WORKSPACE/.github/workflows/constraints.txt" | Out-File -FilePath $env:GITHUB_ENV -Append + if: runner.os == 'Windows' + + - name: Set PIP_ARGS on not-Windows + run: echo "PIP_ARGS=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt" >> "$GITHUB_ENV" + if: runner.os != 'Windows' + ############################### + - name: Check out the repository uses: actions/checkout@v4 @@ -37,7 +49,7 @@ jobs: - name: Upgrade pip run: | - pip install --constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt pip + pip install ${{ env.PIP_ARGS }} pip pip --version - name: Upgrade pip in virtual environments @@ -51,13 +63,13 @@ jobs: - name: Install Poetry run: | - pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt poetry + pipx install --pip-args=${{ env.PIP_ARGS }} poetry poetry --version - name: Install Nox run: | - pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox - pipx inject --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox nox-poetry + pipx install --pip-args=${{ env.PIP_ARGS }} nox + pipx inject --pip-args=${{ env.PIP_ARGS }} nox nox-poetry nox --version - name: Compute pre-commit cache key @@ -116,18 +128,18 @@ jobs: - name: Upgrade pip run: | - pip install --constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt pip + pip install ${{ env.PIP_ARGS }} pip pip --version - name: Install Poetry run: | - pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt poetry + pipx install --pip-args=${{ env.PIP_ARGS }} poetry poetry --version - name: Install Nox run: | - pipx install --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox - pipx inject --pip-args=--constraint=$GITHUB_WORKSPACE/.github/workflows/constraints.txt nox nox-poetry + pipx install --pip-args=${{ env.PIP_ARGS }} nox + pipx inject --pip-args=${{ env.PIP_ARGS }} nox nox-poetry nox --version - name: Download coverage data