[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/pythonnative/pythonnative/main/.github/workflows/packages.yml [Back]  [Original]

name: Packages

# PyPI package compatibility matrix. Resolves tests/packages/matrix.toml
# for every device target against the live indexes (PyPI, BeeWare,
# Chaquopy) and fails when a package's availability disagrees with the
# manifest, so an index change that breaks or fixes a package shows up
# here rather than in a user's build.
#
# Runs weekly (the indexes change without us), on manual dispatch, and
# on any change to the resolver, the manifest, or the guide's table.

on:
  schedule:
    - cron: '17 6 * * 1'
  workflow_dispatch:
  push:
    branches: [main]
    paths:
      - 'src/pythonnative/project/deps.py'
      - 'tests/packages/**'
      - 'scripts/package-matrix.py'
      - '.github/workflows/packages.yml'
  pull_request:
    paths:
      - 'src/pythonnative/project/deps.py'
      - 'tests/packages/**'
      - 'scripts/package-matrix.py'
      - '.github/workflows/packages.yml'

jobs:
  matrix:
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up uv
        uses: astral-sh/setup-uv@v10.0.1
        with:
          enable-cache: true
          python-version: '3.13'

      - name: Install dependencies
        run: uv sync --locked --group dev

      - name: Resolve the matrix
        env:
          PN_PACKAGE_MATRIX: '1'
        run: uv run pytest tests/packages -q -m network

      # The Markdown table the guide embeds; download it from the run
      # page and paste it into docs/guides/pypi-packages.md when it
      # changes.
      - name: Render the Markdown table
        if: always()
        run: uv run scripts/package-matrix.py > package-matrix.md

      - name: Upload the table
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: package-matrix
          path: package-matrix.md
          retention-days: 30

Web Proxy Viewer  |  New URL  |  Original Page