From 345df5e0b0e93a33206fc430a239a0f722e8d46a Mon Sep 17 00:00:00 2001 From: Sviatoslav Sydorenko Date: Tue, 16 Sep 2025 15:02:51 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20Demonstrate=20#2050=20Fedora=20r?= =?UTF-8?q?untime=20failures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/fedora-dev-env.yml | 66 ++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/fedora-dev-env.yml diff --git a/.github/workflows/fedora-dev-env.yml b/.github/workflows/fedora-dev-env.yml new file mode 100644 index 000000000..11cfc01c4 --- /dev/null +++ b/.github/workflows/fedora-dev-env.yml @@ -0,0 +1,66 @@ +# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 +# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt +--- + +name: Fedora dev env + +on: + push: + branches: + - master + - nedbat/* + pull_request: + workflow_dispatch: + +env: + PIP_DISABLE_PIP_VERSION_CHECK: 1 + FORCE_COLOR: 1 # Get colored pytest output + +permissions: + contents: read + +concurrency: + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true + +jobs: + smoke: + name: Smoke test + container: fedora:43 + runs-on: ubuntu-24.04 + timeout-minutes: 15 # takes under 10 min on a laptop + + steps: + - name: Install dependencies + run: >- + dnf install -y + gcc git python3.13-freethreading python3.14-freethreading tox + + - name: Check out the repo + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + persist-credentials: false + + - name: Show environment + continue-on-error: true + run: | + set -xe + whoami + python -VV + python -m site + # For extreme debugging: + # python -c "import urllib.request as r; exec(r.urlopen('https://bit.ly/pydoctor').read())" + env | sort + # Ideally, the system Python wouldn't have writable sitepackages so + # try to make it not writable. We can't always always change the + # permissions (Ubuntu & Windows yes, Mac no), so be ready for it to fail. + chmod u-w $(python -c "import site; print(site.getsitepackages()[0])") || echo "Couldn't lock down site-packages" + ls -ld $(python -c "import site; print(site.getsitepackages()[0])") + + - name: Provision tox envs + run: tox run --notest + + - name: Run tox + run: tox run + +...