feat(ci): add Forgejo PyPI publish workflow and make target
Adds publish-forgejo and a workflow_dispatch/tag workflow so issue-core 0.2.x can be published to forgejo.coulomb.social before vergabe-teilnahme drops Gitea lockfile URLs.
This commit is contained in:
parent
36ed581d89
commit
d030c20dff
2 changed files with 52 additions and 0 deletions
41
.forgejo/workflows/publish-python-package.yml
Normal file
41
.forgejo/workflows/publish-python-package.yml
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
name: Publish Python package
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Fetch source archive
|
||||||
|
env:
|
||||||
|
REF: ${{ github.sha }}
|
||||||
|
run: |
|
||||||
|
set -eu
|
||||||
|
mkdir -p buildctx
|
||||||
|
wget -qO /tmp/repo.tar.gz \
|
||||||
|
"https://forgejo.coulomb.social/${GITHUB_REPOSITORY}/archive/${REF}.tar.gz"
|
||||||
|
tar xzf /tmp/repo.tar.gz -C buildctx --strip-components=1
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
run: |
|
||||||
|
python3 -m pip install --upgrade pip build twine
|
||||||
|
|
||||||
|
- name: Build and validate distributions
|
||||||
|
working-directory: buildctx
|
||||||
|
run: |
|
||||||
|
python3 -m build
|
||||||
|
python3 -m twine check dist/*
|
||||||
|
|
||||||
|
- name: Upload to Forgejo PyPI
|
||||||
|
working-directory: buildctx
|
||||||
|
env:
|
||||||
|
TWINE_USERNAME: ${{ secrets.FORGEJO_PYPI_USER }}
|
||||||
|
TWINE_PASSWORD: ${{ secrets.FORGEJO_PYPI_TOKEN }}
|
||||||
|
run: >-
|
||||||
|
python3 -m twine upload
|
||||||
|
--repository-url https://forgejo.coulomb.social/api/packages/coulomb/pypi
|
||||||
|
dist/*
|
||||||
11
Makefile
11
Makefile
|
|
@ -66,6 +66,7 @@ ISSUE_CLI := $(shell command -v issue 2> /dev/null)
|
||||||
PYTHON ?= python3
|
PYTHON ?= python3
|
||||||
GITEA_PACKAGE_OWNER ?= coulomb
|
GITEA_PACKAGE_OWNER ?= coulomb
|
||||||
GITEA_PYPI_REPOSITORY_URL ?= https://gitea.coulomb.social/api/packages/$(GITEA_PACKAGE_OWNER)/pypi
|
GITEA_PYPI_REPOSITORY_URL ?= https://gitea.coulomb.social/api/packages/$(GITEA_PACKAGE_OWNER)/pypi
|
||||||
|
FORGEJO_PYPI_REPOSITORY_URL ?= https://forgejo.coulomb.social/api/packages/$(GITEA_PACKAGE_OWNER)/pypi
|
||||||
|
|
||||||
# Core Issue Operations
|
# Core Issue Operations
|
||||||
.PHONY: issue-list
|
.PHONY: issue-list
|
||||||
|
|
@ -238,6 +239,16 @@ ifndef TWINE_PASSWORD
|
||||||
endif
|
endif
|
||||||
$(PYTHON) -m twine upload --repository-url "$(GITEA_PYPI_REPOSITORY_URL)" dist/*
|
$(PYTHON) -m twine upload --repository-url "$(GITEA_PYPI_REPOSITORY_URL)" dist/*
|
||||||
|
|
||||||
|
.PHONY: publish-forgejo
|
||||||
|
publish-forgejo: package-check ## Publish distributions to the Coulomb Forgejo PyPI registry
|
||||||
|
ifndef TWINE_USERNAME
|
||||||
|
$(error TWINE_USERNAME is required)
|
||||||
|
endif
|
||||||
|
ifndef TWINE_PASSWORD
|
||||||
|
$(error TWINE_PASSWORD is required)
|
||||||
|
endif
|
||||||
|
$(PYTHON) -m twine upload --repository-url "$(FORGEJO_PYPI_REPOSITORY_URL)" dist/*
|
||||||
|
|
||||||
# Feedback and Continuous Improvement
|
# Feedback and Continuous Improvement
|
||||||
.PHONY: feedback
|
.PHONY: feedback
|
||||||
feedback: ## Submit feedback (Usage: make feedback MSG="your feedback")
|
feedback: ## Submit feedback (Usage: make feedback MSG="your feedback")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue