diff --git a/.github/workflows/self-smoke-test-action.yml b/.github/workflows/self-smoke-test-action.yml index eecd8cc3..b655019d 100644 --- a/.github/workflows/self-smoke-test-action.yml +++ b/.github/workflows/self-smoke-test-action.yml @@ -42,7 +42,7 @@ jobs: steps: - name: Check out the action locally - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: test - name: Install the packaging-related tools diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 090a0d95..d5f5f7e6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,7 +22,7 @@ repos: - id: remove-tabs - repo: https://github.com/python-jsonschema/check-jsonschema.git - rev: 0.28.1 + rev: 0.29.2 hooks: - id: check-github-actions - id: check-github-workflows @@ -37,7 +37,7 @@ repos: - id: check-readthedocs - repo: https://github.com/pre-commit/pre-commit-hooks.git - rev: v4.5.0 + rev: v4.6.0 hooks: # Side-effects: - id: end-of-file-fixer @@ -115,7 +115,7 @@ repos: language_version: python3.11 # flake8-commas doesn't work w/ Python 3.12 - repo: https://github.com/PyCQA/pylint.git - rev: v3.1.0 + rev: v3.3.0 hooks: - id: pylint args: diff --git a/twine-upload.sh b/twine-upload.sh index fce45172..482e266a 100755 --- a/twine-upload.sh +++ b/twine-upload.sh @@ -69,11 +69,15 @@ The workflow was run with 'attestations: true' input, but the specified \ repository URL does not support PEP 740 attestations. As a result, the \ attestations input is ignored." -MAGIC_LINK_MESSAGE="::warning title=Create a Trusted Publisher::\ -A new Trusted Publisher for the currently running publishing workflow can be created \ -by accessing the following link(s) while logged-in as an owner of the package(s):" +MAGIC_LINK_MESSAGE="A new Trusted Publisher for the currently running \ +publishing workflow can be created by accessing the following link(s) while \ +logged-in as an owner of the package(s):" -if [[ ! "${INPUT_REPOSITORY_URL}" =~ pypi\.org || ${#PACKAGE_NAMES[@]} -eq 0 ]] ; then + +[[ "${INPUT_USER}" == "__token__" && -z "${INPUT_PASSWORD}" ]] \ + && TRUSTED_PUBLISHING=true || TRUSTED_PUBLISHING=false + +if [[ "${TRUSTED_PUBLISHING}" == true || ! "${INPUT_REPOSITORY_URL}" =~ pypi\.org || ${#PACKAGE_NAMES[@]} -eq 0 ]] ; then TRUSTED_PUBLISHING_MAGIC_LINK_NUDGE="" else if [[ "${INPUT_REPOSITORY_URL}" =~ test\.pypi\.org ]] ; then @@ -86,12 +90,14 @@ else LINK="- ${INDEX_URL}/manage/project/${PACKAGE_NAME}/settings/publishing/?provider=github&owner=${GITHUB_REPOSITORY_OWNER}&repository=${REPOSITORY_NAME}&workflow_filename=${WORKFLOW_FILENAME}" ALL_LINKS+="$LINK"$'\n' done - TRUSTED_PUBLISHING_MAGIC_LINK_NUDGE="${MAGIC_LINK_MESSAGE}"$'\n'"${ALL_LINKS}" - echo "${MAGIC_LINK_MESSAGE}" >> $GITHUB_STEP_SUMMARY -fi -[[ "${INPUT_USER}" == "__token__" && -z "${INPUT_PASSWORD}" ]] \ - && TRUSTED_PUBLISHING=true || TRUSTED_PUBLISHING=false + # Construct the summary message without the warning header + MAGIC_LINK_MESSAGE_WITH_LINKS="${MAGIC_LINK_MESSAGE}"$'\n'"${ALL_LINKS}" + echo "${MAGIC_LINK_MESSAGE_WITH_LINKS}" >> $GITHUB_STEP_SUMMARY + + # The actual nudge in the log is formatted as a warning + TRUSTED_PUBLISHING_MAGIC_LINK_NUDGE="::warning title=Create a Trusted Publisher::${MAGIC_LINK_MESSAGE_WITH_LINKS}" +fi if [[ "${INPUT_ATTESTATIONS}" != "false" ]] ; then # Setting `attestations: true` without Trusted Publishing indicates