99 lines
4.2 KiB
YAML
99 lines
4.2 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'release/*'
|
|
jobs:
|
|
build_pip_package:
|
|
name: "Build Pip package"
|
|
runs-on: hostinger
|
|
timeout-minutes: 30
|
|
container:
|
|
image: gitea.woggioni.net/woggioni/gitea-runner/ubuntu:26.04
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.14.6'
|
|
cache: 'pip'
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m venv .venv
|
|
.venv/bin/pip install -r requirements-dev.txt
|
|
- name: Check kaya-core
|
|
run: |
|
|
.venv/bin/python -m mypy -p kaya.core
|
|
.venv/bin/python -m unittest discover -s packages/kaya-core/tests
|
|
- name: Check kaya-rsgi
|
|
run: |
|
|
.venv/bin/python -m mypy -p kaya.rsgi
|
|
.venv/bin/python -m unittest discover -s packages/kaya-rsgi/tests
|
|
- name: Check kaya-session
|
|
run: |
|
|
.venv/bin/python -m mypy -p kaya.session
|
|
.venv/bin/python -m unittest discover -s packages/kaya-session/tests
|
|
- name: Check kaya-session-memcache
|
|
run: |
|
|
.venv/bin/python -m mypy -p kaya.session.memcache
|
|
.venv/bin/python -m unittest discover -s packages/kaya-session-memcache/tests
|
|
- name: Check kaya-session-redis
|
|
run: |
|
|
.venv/bin/python -m mypy -p kaya.session.redis
|
|
.venv/bin/python -m unittest discover -s packages/kaya-session-redis/tests
|
|
- name: Check kaya-oidc
|
|
run: |
|
|
.venv/bin/python -m mypy -p kaya.oidc
|
|
.venv/bin/python -m unittest discover -s packages/kaya-oidc/tests
|
|
- name: Publish kaya-core artifacts
|
|
env:
|
|
TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }}
|
|
TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }}
|
|
TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }}
|
|
run: |
|
|
.venv/bin/pyproject-build packages/kaya-core
|
|
.venv/bin/twine upload --repository gitea packages/kaya-core/dist/*.whl packages/kaya-core/dist/*.tar.gz
|
|
- name: Publish kaya-rsgi artifacts
|
|
env:
|
|
TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }}
|
|
TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }}
|
|
TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }}
|
|
run: |
|
|
.venv/bin/pyproject-build packages/kaya-rsgi
|
|
.venv/bin/twine upload --repository gitea packages/kaya-rsgi/dist/*.whl packages/kaya-rsgi/dist/*.tar.gz
|
|
- name: Publish kaya-session artifacts
|
|
env:
|
|
TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }}
|
|
TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }}
|
|
TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }}
|
|
run: |
|
|
.venv/bin/pyproject-build packages/kaya-session
|
|
.venv/bin/twine upload --repository gitea packages/kaya-session/dist/*.whl packages/kaya-session/dist/*.tar.gz
|
|
- name: Publish kaya-session-memcache artifacts
|
|
env:
|
|
TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }}
|
|
TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }}
|
|
TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }}
|
|
run: |
|
|
.venv/bin/pyproject-build packages/kaya-session-memcache
|
|
.venv/bin/twine upload --repository gitea packages/kaya-session-memcache/dist/*.whl packages/kaya-session-memcache/dist/*.tar.gz
|
|
- name: Publish kaya-session-redis artifacts
|
|
env:
|
|
TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }}
|
|
TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }}
|
|
TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }}
|
|
run: |
|
|
.venv/bin/pyproject-build packages/kaya-session-redis
|
|
.venv/bin/twine upload --repository gitea packages/kaya-session-redis/dist/*.whl packages/kaya-session-redis/dist/*.tar.gz
|
|
- name: Publish kaya-oidc artifacts
|
|
env:
|
|
TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }}
|
|
TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }}
|
|
TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }}
|
|
run: |
|
|
.venv/bin/pyproject-build packages/kaya-oidc
|
|
.venv/bin/twine upload --repository gitea packages/kaya-oidc/dist/*.whl packages/kaya-oidc/dist/*.tar.gz
|