Kumi
6447362d04
- Set up CI/CD workflow for Python package publishing to PyPI - Add MIT License for project - Create .gitignore file to exclude common Python and project files - Document project purpose and licensing in README.md - Add example configuration file (config.yaml.dist) - Define package metadata and dependencies in pyproject.toml - Implement SupportBot class for handling support tickets in Matrix - Implement main script for bot execution and configuration loading This initial commit establishes the structure and core functionality for the Matrix Support Bot project.
54 lines
1.1 KiB
YAML
54 lines
1.1 KiB
YAML
name: Python Package CI/CD
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
tags:
|
|
- "*"
|
|
|
|
jobs:
|
|
setup:
|
|
name: Setup and Test
|
|
container:
|
|
image: node:20-bookworm
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
apt update
|
|
apt install -y python3-venv
|
|
|
|
- name: Set up Python environment
|
|
run: |
|
|
python3 -V
|
|
python3 -m venv venv
|
|
. ./venv/bin/activate
|
|
pip install -U pip
|
|
pip install .[all]
|
|
|
|
publish:
|
|
name: Publish to PyPI
|
|
container:
|
|
image: node:20-bookworm
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
apt update
|
|
apt install -y python3-venv
|
|
|
|
- name: Publish to PyPI
|
|
run: |
|
|
python3 -m venv venv
|
|
. ./venv/bin/activate
|
|
pip install -U hatchling twine build
|
|
python -m build .
|
|
python -m twine upload --username __token__ --password ${PYPI_TOKEN} dist/*
|
|
env:
|
|
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|