# Sync Python releases and create a pull request. # # Based on: https://github.com/astral-sh/rye/blob/57b7c089e494138aae29a130afb2e17f447970bf/.github/workflows/sync-python-releases.yml name: "Sync Python downloads" on: workflow_dispatch: schedule: - cron: "0 0 * * *" permissions: {} jobs: sync: if: github.repository == 'astral-sh/uv' runs-on: ubuntu-latest permissions: contents: write pull-requests: write steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: persist-credentials: false - uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6 with: version: "latest" enable-cache: true - name: Sync Python Releases run: | uv run -- fetch-download-metadata.py working-directory: ./crates/uv-python env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Sync Sysconfig Targets run: ${GITHUB_WORKSPACE}/crates/uv-dev/sync_sysconfig_targets.sh working-directory: ./crates/uv-dev env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: "Create Pull Request" uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0 with: commit-message: "Sync latest Python releases" add-paths: | crates/uv-python/download-metadata.json crates/uv-dev/src/generate_sysconfig_mappings.rs crates/uv-python/src/sysconfig/generated_mappings.rs branch: "sync-python-releases" title: "Sync latest Python releases" body: "Automated update for Python releases." base: "main" draft: true