Compare commits

...
2 Commits
Author SHA1 Message Date
petr.polezhaev 4ee428a6fd ha(ci): publish-скрипт на POSIX sh — bash в Alpine не нужен
set -o pipefail убран (единственный bashism), shebang /bin/sh; musl-джоб
вызывает sh scripts/publish-gitea-pypi.sh, bash из apk-списка исключён.
Логика проверена на фейковом индексе: уже загруженный linux-wheel
пропускается, musl-wheel и sdist загружаются.
2026-09-29 16:36:26 +03:00
petr.polezhaev 90b9e2783b ha(ci): bash в musl-джобе (Alpine не содержит bash по умолчанию) 2026-09-29 16:35:47 +03:00
2 changed files with 5 additions and 4 deletions
+2 -2
View File
@@ -83,7 +83,7 @@ jobs:
TOKEN: ${{ secrets.PYPI_TOKEN }} TOKEN: ${{ secrets.PYPI_TOKEN }}
GITEA_JOB_TOKEN: ${{ secrets.GITEA_TOKEN }} GITEA_JOB_TOKEN: ${{ secrets.GITEA_TOKEN }}
PYPI_USER: ${{ secrets.PYPI_USER }} PYPI_USER: ${{ secrets.PYPI_USER }}
run: bash scripts/publish-gitea-pypi.sh run: sh scripts/publish-gitea-pypi.sh
build-musllinux: build-musllinux:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -132,4 +132,4 @@ jobs:
GITEA_JOB_TOKEN: ${{ secrets.GITEA_TOKEN }} GITEA_JOB_TOKEN: ${{ secrets.GITEA_TOKEN }}
PYPI_USER: ${{ secrets.PYPI_USER }} PYPI_USER: ${{ secrets.PYPI_USER }}
DIST_DIR: /src/dist DIST_DIR: /src/dist
run: cd /src && bash scripts/publish-gitea-pypi.sh run: cd /src && sh scripts/publish-gitea-pypi.sh
+3 -2
View File
@@ -1,7 +1,8 @@
#!/usr/bin/env bash #!/bin/sh
# Публикация файлов из DIST_DIR в PyPI-реестр пакетов Gitea. # Публикация файлов из DIST_DIR в PyPI-реестр пакетов Gitea.
# Уже загруженные (по имени файла в simple-индексе) пропускаются: twine 7 не # Уже загруженные (по имени файла в simple-индексе) пропускаются: twine 7 не
# поддерживает --skip-existing для не-PyPI репозиториев. # поддерживает --skip-existing для не-PyPI репозиториев.
# POSIX sh (Alpine busybox/dash) — внешний bash не требуется.
# #
# Переменные: # Переменные:
# TOKEN (или GITEA_JOB_TOKEN) — обязательный токен (PAT write:package или # TOKEN (или GITEA_JOB_TOKEN) — обязательный токен (PAT write:package или
@@ -10,7 +11,7 @@
# SERVER, OWNER — Gitea и владелец; если не заданы, берутся # SERVER, OWNER — Gitea и владелец; если не заданы, берутся
# из git remote (origin) # из git remote (origin)
# PYPI_USER — имя пользователя (по умолчанию актор) # PYPI_USER — имя пользователя (по умолчанию актор)
set -euo pipefail set -eu
DIST_DIR="${DIST_DIR:-dist}" DIST_DIR="${DIST_DIR:-dist}"
TOKEN="${TOKEN:-${GITEA_JOB_TOKEN:-}}" TOKEN="${TOKEN:-${GITEA_JOB_TOKEN:-}}"