From 1a0f912db5f959d7d38784fc8bdb5668ba5046ce Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Thu, 9 Oct 2025 10:21:43 -0400 Subject: [PATCH 01/17] test: add an e2e production test Signed-off-by: William Woodruff --- .github/workflows/test.yml | 73 ++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index da37063..2783617 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,8 @@ on: permissions: {} env: - PYX_UPLOAD_URL: https://astral-sh-staging-api.pyx.dev/v1/upload/pyx-auth-action/main + STAGING_PYX_UPLOAD_URL: https://astral-sh-staging-api.pyx.dev/v1/upload/pyx-auth-action/main + # most tests use the staging API. GHA_PYX_INPUT_INTERNAL_API_BASE: https://astral-sh-staging-api.pyx.dev jobs: @@ -86,17 +87,17 @@ jobs: - uses: ./ id: auth with: - url: ${{ env.PYX_UPLOAD_URL }} + url: ${{ env.STAGING_PYX_UPLOAD_URL }} - name: assert output URL is correct run: | - if [ "${OUTPUT_URL}" != "${PYX_UPLOAD_URL}" ]; then - echo "Expected output URL to be '${PYX_UPLOAD_URL}', got '${OUTPUT_URL}'" + if [ "${OUTPUT_URL}" != "${STAGING_PYX_UPLOAD_URL}" ]; then + echo "Expected output URL to be '${STAGING_PYX_UPLOAD_URL}', got '${OUTPUT_URL}'" exit 1 fi env: OUTPUT_URL: ${{ steps.auth.outputs.url }} - PYX_UPLOAD_URL: ${{ env.PYX_UPLOAD_URL }} + STAGING_PYX_UPLOAD_URL: ${{ env.STAGING_PYX_UPLOAD_URL }} selftest-exchange-only-workspace: name: "Test: ensure that token exchange works with the `workspace` and `registry` inputs" @@ -216,7 +217,7 @@ jobs: id: auth continue-on-error: true with: - url: ${{ env.PYX_UPLOAD_URL }} + url: ${{ env.STAGING_PYX_UPLOAD_URL }} workspace: pyx-auth-action registry: main @@ -254,7 +255,7 @@ jobs: - uses: ./ id: auth with: - url: ${{ env.PYX_UPLOAD_URL }} + url: ${{ env.STAGING_PYX_UPLOAD_URL }} - name: Checkout sampleproject uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -335,6 +336,63 @@ jobs: UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} + selftest-publish-e2e-production: + name: "Test: end-to-end publish against production pyx" + if: |- + ${{ + github.event.pull_request.head.repo.full_name == 'astral-sh/pyx-auth-action' || + github.event_name == 'push' + }} + runs-on: ubuntu-latest + permissions: + id-token: write # for testing the action itself + contents: read # for private repos + + environment: test + + env: + GHA_PYX_INPUT_INTERNAL_API_BASE: https://api.pyx.dev + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + persist-credentials: false + + - name: setup uv + uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + + - uses: ./ + id: auth + with: + workspace: astral-test + registry: main + + - name: Checkout sampleproject + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + repository: pypa/sampleproject + path: sampleproject + persist-credentials: false + + - name: Prep sampleproject + working-directory: sampleproject + run: | + stamp=$(date +%s) + rand=$(od -A n -t u -N 3 /dev/urandom | tr -d ' ') + version="4.0.${stamp}.${rand}" + + # Replace the version in pyproject.toml + sed -i "s/^version = \".*\"/version = \"${version}\"/" pyproject.toml + + - name: Build and publish package + run: | + uv build + uv publish + working-directory: sampleproject + env: + UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} + UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} + all-tests-pass: name: "Ensure all selftests pass" if: always() @@ -349,6 +407,7 @@ jobs: - selftest-inputs-mutex-xfail - selftest-publish-e2e - selftest-publish-e2e-workspace-default-registry + - selftest-publish-e2e-production runs-on: ubuntu-latest From f248348e0835ed53760e757a2d4a027905e67f0b Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Thu, 9 Oct 2025 16:49:37 -0400 Subject: [PATCH 02/17] put PYX_API_URL in the env Signed-off-by: William Woodruff --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2783617..599fb9f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,6 +12,7 @@ env: STAGING_PYX_UPLOAD_URL: https://astral-sh-staging-api.pyx.dev/v1/upload/pyx-auth-action/main # most tests use the staging API. GHA_PYX_INPUT_INTERNAL_API_BASE: https://astral-sh-staging-api.pyx.dev + PYX_API_URL: https://astral-sh-staging-api.pyx.dev jobs: unit: @@ -352,6 +353,7 @@ jobs: env: GHA_PYX_INPUT_INTERNAL_API_BASE: https://api.pyx.dev + PYX_API_URL: https://api.pyx.dev steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 From 6dc2636122bcc522a5c58ed58f5d3bf2a852ccfd Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:18:03 -0400 Subject: [PATCH 03/17] use a temporary uv build Signed-off-by: William Woodruff --- .github/workflows/test.yml | 54 +++++++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 599fb9f..5993b40 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -250,8 +250,22 @@ jobs: with: persist-credentials: false - - name: setup uv - uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + - name: fetch temporary uv + uses: dawidd6/action-download-artifact@v11 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + workflow: ci.yml + pr: 16234 + name: "uv-linux-libc-.+" + name_is_regexp: true + + - name: Add uv to PATH + run: | + ls + echo "${CWD}" >> ${GITHUB_PATH} + + # - name: setup uv + # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 - uses: ./ id: auth @@ -303,8 +317,22 @@ jobs: with: persist-credentials: false - - name: setup uv - uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + - name: fetch temporary uv + uses: dawidd6/action-download-artifact@v11 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + workflow: ci.yml + pr: 16234 + name: "uv-linux-libc-.+" + name_is_regexp: true + + - name: Add uv to PATH + run: | + ls + echo "${CWD}" >> ${GITHUB_PATH} + + # - name: setup uv + # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 - uses: ./ id: auth @@ -360,8 +388,22 @@ jobs: with: persist-credentials: false - - name: setup uv - uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + - name: fetch temporary uv + uses: dawidd6/action-download-artifact@v11 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + workflow: ci.yml + pr: 16234 + name: "uv-linux-libc-.+" + name_is_regexp: true + + - name: Add uv to PATH + run: | + ls + echo "${CWD}" >> ${GITHUB_PATH} + + # - name: setup uv + # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 - uses: ./ id: auth From c91fd64415fc79611fd40a51cb1da6e052e7acc8 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:19:22 -0400 Subject: [PATCH 04/17] add repo Signed-off-by: William Woodruff --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5993b40..693e235 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -254,6 +254,7 @@ jobs: uses: dawidd6/action-download-artifact@v11 with: github_token: ${{ secrets.GITHUB_TOKEN }} + repo: astral-sh/uv workflow: ci.yml pr: 16234 name: "uv-linux-libc-.+" @@ -321,6 +322,7 @@ jobs: uses: dawidd6/action-download-artifact@v11 with: github_token: ${{ secrets.GITHUB_TOKEN }} + repo: astral-sh/uv workflow: ci.yml pr: 16234 name: "uv-linux-libc-.+" @@ -392,6 +394,7 @@ jobs: uses: dawidd6/action-download-artifact@v11 with: github_token: ${{ secrets.GITHUB_TOKEN }} + repo: astral-sh/uv workflow: ci.yml pr: 16234 name: "uv-linux-libc-.+" From 570699a17ba8090a3c4db6cd8dd99d7d4e1d8eed Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:21:24 -0400 Subject: [PATCH 05/17] debugging Signed-off-by: William Woodruff --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 693e235..8e71c7d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -262,6 +262,7 @@ jobs: - name: Add uv to PATH run: | + which uv ls echo "${CWD}" >> ${GITHUB_PATH} @@ -330,6 +331,7 @@ jobs: - name: Add uv to PATH run: | + which uv ls echo "${CWD}" >> ${GITHUB_PATH} @@ -402,6 +404,7 @@ jobs: - name: Add uv to PATH run: | + which uv ls echo "${CWD}" >> ${GITHUB_PATH} From ac398d3a4efb958b5a3169e8e6bb0f850dd385c6 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:22:31 -0400 Subject: [PATCH 06/17] more debugging Signed-off-by: William Woodruff --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8e71c7d..32d4488 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -262,9 +262,9 @@ jobs: - name: Add uv to PATH run: | - which uv ls echo "${CWD}" >> ${GITHUB_PATH} + which uv # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 @@ -331,9 +331,9 @@ jobs: - name: Add uv to PATH run: | - which uv ls echo "${CWD}" >> ${GITHUB_PATH} + which uv # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 @@ -404,9 +404,9 @@ jobs: - name: Add uv to PATH run: | - which uv ls echo "${CWD}" >> ${GITHUB_PATH} + which uv # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 From e9f0e12e04d8e6b591fa4b5c9b081d0a7b140492 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:25:14 -0400 Subject: [PATCH 07/17] add subdir to path Signed-off-by: William Woodruff --- .github/workflows/test.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 32d4488..05502ca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -262,8 +262,8 @@ jobs: - name: Add uv to PATH run: | - ls - echo "${CWD}" >> ${GITHUB_PATH} + path=$(find "${CWD}" -name 'uv-linux-libc*' | head -n 1) + echo "${path}" >> ${GITHUB_PATH} which uv # - name: setup uv @@ -331,8 +331,8 @@ jobs: - name: Add uv to PATH run: | - ls - echo "${CWD}" >> ${GITHUB_PATH} + path=$(find "${CWD}" -name 'uv-linux-libc*' | head -n 1) + echo "${path}" >> ${GITHUB_PATH} which uv # - name: setup uv @@ -404,8 +404,8 @@ jobs: - name: Add uv to PATH run: | - ls - echo "${CWD}" >> ${GITHUB_PATH} + path=$(find "${CWD}" -name 'uv-linux-libc*' | head -n 1) + echo "${path}" >> ${GITHUB_PATH} which uv # - name: setup uv From 454847b1c82659005767151cb2d9770a1beb952c Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:27:03 -0400 Subject: [PATCH 08/17] CWD -> pwd Signed-off-by: William Woodruff --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 05502ca..7f94fec 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -262,7 +262,7 @@ jobs: - name: Add uv to PATH run: | - path=$(find "${CWD}" -name 'uv-linux-libc*' | head -n 1) + path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) echo "${path}" >> ${GITHUB_PATH} which uv @@ -331,7 +331,7 @@ jobs: - name: Add uv to PATH run: | - path=$(find "${CWD}" -name 'uv-linux-libc*' | head -n 1) + path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) echo "${path}" >> ${GITHUB_PATH} which uv @@ -404,7 +404,7 @@ jobs: - name: Add uv to PATH run: | - path=$(find "${CWD}" -name 'uv-linux-libc*' | head -n 1) + path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) echo "${path}" >> ${GITHUB_PATH} which uv From 915a27079d3e69575a9ff6482d7ea5c61e7c500a Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:29:29 -0400 Subject: [PATCH 09/17] remove the which calls Signed-off-by: William Woodruff --- .github/workflows/test.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7f94fec..b3717fd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -264,7 +264,6 @@ jobs: run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) echo "${path}" >> ${GITHUB_PATH} - which uv # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 @@ -333,7 +332,6 @@ jobs: run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) echo "${path}" >> ${GITHUB_PATH} - which uv # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 @@ -406,7 +404,6 @@ jobs: run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) echo "${path}" >> ${GITHUB_PATH} - which uv # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 From 3cbbe8607dab1b14899cc4318f287e0aa6e61923 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:31:40 -0400 Subject: [PATCH 10/17] more debugging Signed-off-by: William Woodruff --- .github/workflows/test.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b3717fd..c126e35 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -292,6 +292,8 @@ jobs: - name: Build and publish package run: | + which uv + uv --version uv build uv publish working-directory: sampleproject @@ -360,6 +362,8 @@ jobs: - name: Build and publish package run: | + which uv + uv --version uv build uv publish working-directory: sampleproject @@ -433,6 +437,8 @@ jobs: - name: Build and publish package run: | + which uv + uv --version uv build uv publish working-directory: sampleproject From df3422206bcfc103bf6905689912c471bf8cc584 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:38:34 -0400 Subject: [PATCH 11/17] YOLO Signed-off-by: William Woodruff --- action.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index c0fd19f..76c76fd 100644 --- a/action.yml +++ b/action.yml @@ -44,8 +44,21 @@ outputs: runs: using: composite steps: - - name: setup uv - uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + - name: fetch temporary uv + uses: dawidd6/action-download-artifact@v11 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + repo: astral-sh/uv + workflow: ci.yml + pr: 16234 + name: "uv-linux-libc-.+" + name_is_regexp: true + + - name: Add uv to PATH + shell: bash + run: | + path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) + echo "${path}" >> ${GITHUB_PATH} - name: exchange id: exchange From c911acd302f80a3f37d24e6a8395c7a3ffbeb0f1 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:41:53 -0400 Subject: [PATCH 12/17] hackety hack Signed-off-by: William Woodruff --- .github/workflows/test.yml | 13 +++++++------ action.yml | 17 ++--------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c126e35..db2b1c1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -260,10 +260,11 @@ jobs: name: "uv-linux-libc-.+" name_is_regexp: true - - name: Add uv to PATH + - name: Find uv + id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - echo "${path}" >> ${GITHUB_PATH} + echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 @@ -292,12 +293,12 @@ jobs: - name: Build and publish package run: | - which uv - uv --version - uv build - uv publish + "${UV_PREFIX}"/uv --version + "${UV_PREFIX}"/uv build + "${UV_PREFIX}"/uv publish working-directory: sampleproject env: + UV_PREFIX: ${{ steps.find-uv.outputs.path }} UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} diff --git a/action.yml b/action.yml index 76c76fd..c0fd19f 100644 --- a/action.yml +++ b/action.yml @@ -44,21 +44,8 @@ outputs: runs: using: composite steps: - - name: fetch temporary uv - uses: dawidd6/action-download-artifact@v11 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - repo: astral-sh/uv - workflow: ci.yml - pr: 16234 - name: "uv-linux-libc-.+" - name_is_regexp: true - - - name: Add uv to PATH - shell: bash - run: | - path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - echo "${path}" >> ${GITHUB_PATH} + - name: setup uv + uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 - name: exchange id: exchange From f23473256cb27df8de25f8380d49a97d7363f70f Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:42:40 -0400 Subject: [PATCH 13/17] do the rest Signed-off-by: William Woodruff --- .github/workflows/test.yml | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index db2b1c1..ab619ca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -331,10 +331,11 @@ jobs: name: "uv-linux-libc-.+" name_is_regexp: true - - name: Add uv to PATH + - name: Find uv + id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - echo "${path}" >> ${GITHUB_PATH} + echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 @@ -363,12 +364,12 @@ jobs: - name: Build and publish package run: | - which uv - uv --version - uv build - uv publish + "${UV_PREFIX}"/uv --version + "${UV_PREFIX}"/uv build + "${UV_PREFIX}"/uv publish working-directory: sampleproject env: + UV_PREFIX: ${{ steps.find-uv.outputs.path }} UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} @@ -405,10 +406,11 @@ jobs: name: "uv-linux-libc-.+" name_is_regexp: true - - name: Add uv to PATH + - name: Find uv + id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - echo "${path}" >> ${GITHUB_PATH} + echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 @@ -438,12 +440,12 @@ jobs: - name: Build and publish package run: | - which uv - uv --version - uv build - uv publish + "${UV_PREFIX}"/uv --version + "${UV_PREFIX}"/uv build + "${UV_PREFIX}"/uv publish working-directory: sampleproject env: + UV_PREFIX: ${{ steps.find-uv.outputs.path }} UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} From 86f4c9a6c892d1025781d505d9d30c4660dc3e5e Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:44:04 -0400 Subject: [PATCH 14/17] i am the captain now Signed-off-by: William Woodruff --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ab619ca..0fcce06 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -264,6 +264,7 @@ jobs: id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) + chmod +x "${path}/*" echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv @@ -335,6 +336,7 @@ jobs: id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) + chmod +x "${path}/*" echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv @@ -410,6 +412,7 @@ jobs: id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) + chmod +x "${path}/*" echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv From 3d68d2f6a591f6b42ee53ce3919219aba342a675 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:45:26 -0400 Subject: [PATCH 15/17] not having the best day Signed-off-by: William Woodruff --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0fcce06..897093c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -264,7 +264,7 @@ jobs: id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - chmod +x "${path}/*" + chmod +x "${path}"/* echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv @@ -336,7 +336,7 @@ jobs: id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - chmod +x "${path}/*" + chmod +x "${path}"/* echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv @@ -412,7 +412,7 @@ jobs: id: find-uv run: | path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - chmod +x "${path}/*" + chmod +x "${path}"/* echo "path=${path}" >> $GITHUB_OUTPUT # - name: setup uv From 2d2a0108ef927ed639c6de80785ac52b114411ca Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:47:14 -0400 Subject: [PATCH 16/17] undo my hacks Signed-off-by: William Woodruff --- .github/workflows/test.yml | 81 ++++++-------------------------------- 1 file changed, 12 insertions(+), 69 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 897093c..599fb9f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -250,25 +250,8 @@ jobs: with: persist-credentials: false - - name: fetch temporary uv - uses: dawidd6/action-download-artifact@v11 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - repo: astral-sh/uv - workflow: ci.yml - pr: 16234 - name: "uv-linux-libc-.+" - name_is_regexp: true - - - name: Find uv - id: find-uv - run: | - path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - chmod +x "${path}"/* - echo "path=${path}" >> $GITHUB_OUTPUT - - # - name: setup uv - # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + - name: setup uv + uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 - uses: ./ id: auth @@ -294,12 +277,10 @@ jobs: - name: Build and publish package run: | - "${UV_PREFIX}"/uv --version - "${UV_PREFIX}"/uv build - "${UV_PREFIX}"/uv publish + uv build + uv publish working-directory: sampleproject env: - UV_PREFIX: ${{ steps.find-uv.outputs.path }} UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} @@ -322,25 +303,8 @@ jobs: with: persist-credentials: false - - name: fetch temporary uv - uses: dawidd6/action-download-artifact@v11 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - repo: astral-sh/uv - workflow: ci.yml - pr: 16234 - name: "uv-linux-libc-.+" - name_is_regexp: true - - - name: Find uv - id: find-uv - run: | - path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - chmod +x "${path}"/* - echo "path=${path}" >> $GITHUB_OUTPUT - - # - name: setup uv - # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + - name: setup uv + uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 - uses: ./ id: auth @@ -366,12 +330,10 @@ jobs: - name: Build and publish package run: | - "${UV_PREFIX}"/uv --version - "${UV_PREFIX}"/uv build - "${UV_PREFIX}"/uv publish + uv build + uv publish working-directory: sampleproject env: - UV_PREFIX: ${{ steps.find-uv.outputs.path }} UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} @@ -398,25 +360,8 @@ jobs: with: persist-credentials: false - - name: fetch temporary uv - uses: dawidd6/action-download-artifact@v11 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - repo: astral-sh/uv - workflow: ci.yml - pr: 16234 - name: "uv-linux-libc-.+" - name_is_regexp: true - - - name: Find uv - id: find-uv - run: | - path=$(find "$(pwd)" -name 'uv-linux-libc*' | head -n 1) - chmod +x "${path}"/* - echo "path=${path}" >> $GITHUB_OUTPUT - - # - name: setup uv - # uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 + - name: setup uv + uses: astral-sh/setup-uv@eb1897b8dc4b5d5bfe39a428a8f2304605e0983c # v7.0.0 - uses: ./ id: auth @@ -443,12 +388,10 @@ jobs: - name: Build and publish package run: | - "${UV_PREFIX}"/uv --version - "${UV_PREFIX}"/uv build - "${UV_PREFIX}"/uv publish + uv build + uv publish working-directory: sampleproject env: - UV_PREFIX: ${{ steps.find-uv.outputs.path }} UV_PUBLISH_URL: ${{ steps.auth.outputs.url }} UV_PUBLISH_TOKEN: ${{ steps.auth.outputs.token }} From cb3be0101e10d0bf2e8a536e1ec7a04082bb9d9e Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 10 Oct 2025 12:50:24 -0400 Subject: [PATCH 17/17] use PYX_API_URL everywhere Signed-off-by: William Woodruff --- .github/workflows/test.yml | 3 --- action.py | 3 +-- action.yml | 2 -- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 599fb9f..fc71fe3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,8 +10,6 @@ permissions: {} env: STAGING_PYX_UPLOAD_URL: https://astral-sh-staging-api.pyx.dev/v1/upload/pyx-auth-action/main - # most tests use the staging API. - GHA_PYX_INPUT_INTERNAL_API_BASE: https://astral-sh-staging-api.pyx.dev PYX_API_URL: https://astral-sh-staging-api.pyx.dev jobs: @@ -352,7 +350,6 @@ jobs: environment: test env: - GHA_PYX_INPUT_INTERNAL_API_BASE: https://api.pyx.dev PYX_API_URL: https://api.pyx.dev steps: diff --git a/action.py b/action.py index 9571cee..86f9d2c 100644 --- a/action.py +++ b/action.py @@ -195,8 +195,7 @@ def _main() -> None: registry = _get_input("registry") raw_url = _get_input("url") - api_base = _get_input("internal-api-base") - assert api_base, "internal-api-base should have a default value" + api_base = os.getenv("PYX_API_URL", "https://api.pyx.dev") # index, workspace/registry, and url are mutually exclusive. if sum((bool(index), bool(workspace), bool(raw_url))) != 1: diff --git a/action.yml b/action.yml index c0fd19f..d18d1a3 100644 --- a/action.yml +++ b/action.yml @@ -57,5 +57,3 @@ runs: GHA_PYX_INPUT_WORKSPACE: ${{ inputs.workspace }} GHA_PYX_INPUT_REGISTRY: ${{ inputs.registry }} GHA_PYX_INPUT_URL: ${{ inputs.url }} - # Not part of the public interface, but allows overriding the API base for testing. - GHA_PYX_INPUT_INTERNAL_API_BASE: ${{ env.GHA_PYX_INPUT_INTERNAL_API_BASE || 'https://api.pyx.dev' }}