🌟 Re-add all project files.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: exislow
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
# Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
custom: ["https://www.buymeacoffee.com/exislow"]
|
||||
@@ -0,0 +1,33 @@
|
||||
name: "setup-poetry-env"
|
||||
description: "Composite action to setup the Python and poetry environment."
|
||||
|
||||
inputs:
|
||||
python-version:
|
||||
required: false
|
||||
description: "The python version to use"
|
||||
default: "3.11"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Set up python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ inputs.python-version }}
|
||||
|
||||
- name: Install Poetry
|
||||
uses: snok/install-poetry@v1
|
||||
with:
|
||||
virtualenvs-in-project: true
|
||||
|
||||
- name: Load cached venv
|
||||
id: cached-poetry-dependencies
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .venv
|
||||
key: venv-${{ runner.os }}-${{ inputs.python-version }}-${{ hashFiles('poetry.lock') }}
|
||||
|
||||
- name: Install dependencies
|
||||
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
|
||||
run: poetry install --no-interaction
|
||||
shell: bash
|
||||
@@ -0,0 +1,70 @@
|
||||
name: master
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
jobs:
|
||||
quality:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cache/pre-commit
|
||||
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
|
||||
|
||||
- name: Set up the environment
|
||||
uses: ./.github/actions/setup-poetry-env
|
||||
|
||||
- name: Run checks
|
||||
run: make check
|
||||
|
||||
tox:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.10", "3.11", "3.12"]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Check out
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
- name: Install Poetry
|
||||
uses: snok/install-poetry@v1
|
||||
|
||||
- name: Load cached venv
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .tox
|
||||
key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }}
|
||||
|
||||
- name: Install tox
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install tox tox-gh-actions
|
||||
|
||||
- name: Test with tox
|
||||
run: tox
|
||||
|
||||
check-docs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up the environment
|
||||
uses: ./.github/actions/setup-poetry-env
|
||||
|
||||
- name: Check if documentation can be built
|
||||
run: poetry run mkdocs build -s
|
||||
@@ -0,0 +1,56 @@
|
||||
name: release-master
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
# release:
|
||||
# types: [published]
|
||||
# branches: [master]
|
||||
push:
|
||||
tags:
|
||||
- "v*.*.*"
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up the environment
|
||||
uses: ./.github/actions/setup-poetry-env
|
||||
|
||||
- name: Export tag
|
||||
id: vars
|
||||
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build and publish
|
||||
run: |
|
||||
source .venv/bin/activate
|
||||
poetry version $RELEASE_VERSION
|
||||
make build-and-publish
|
||||
env:
|
||||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
||||
RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
|
||||
|
||||
- name: GitHub Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
draft: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
deploy-docs:
|
||||
needs: publish
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up the environment
|
||||
uses: ./.github/actions/setup-poetry-env
|
||||
|
||||
- name: Deploy documentation
|
||||
run: poetry run mkdocs gh-deploy --force
|
||||
# TODO: Build Qt GUI Standalone.
|
||||
Reference in New Issue
Block a user