Files
repoCat/.github/workflows/build-and-deploy.yml
Max P. 81459d631f feat(workflows): add cache restore step to build process
- Introduces caching for Poetry and pip to improve CI efficiency
- Updates .gitignore to track poetry.lock for consistency

Signed-off-by: Max P. <Mail@MPassarello.de>
2025-04-30 12:31:50 +02:00

53 lines
1.3 KiB
YAML

name: Build and Publish
on:
push:
paths:
- "pyproject.toml" # Nur bei Änderungen an dieser Datei
workflow_dispatch: # Manuelles Anstoßen zulassen
jobs:
build-and-publish:
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: 🐍 Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: 🔄 Restore cache
uses: https://git.0xmax42.io/actions/cache@v2
with:
keys: |
poetry-v1-${{ runner.os }}-${{ hashFiles('poetry.lock') }}
poetry-v1-${{ runner.os }}
paths: |
~/.cache/pypoetry
~/.cache/pip
- name: Install Poetry
run: |
pip install poetry
- name: Install Project Dependencies
working-directory: .
run: |
poetry install
- name: Build Package
working-directory: .
run: |
poetry build
- name: Publish to Gitea Package Registry
working-directory: .
env:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
run: |
poetry run twine upload --repository-url ${{ secrets.TWINE_URL }} dist/*