4 Commits
Author SHA1 Message Date
shmyga 244f995490 ci(action): add gitea actions
test / test (push) Successful in 2m18s
2026-09-30 15:03:56 +03:00
shmyga 75adb282e7 ci(version): 0.3.1 2026-09-29 19:24:02 +03:00
shmyga eacfa17e40 feat(preset): add '--all-extras' flag to poetry install command 2026-09-29 19:23:41 +03:00
shmyga f4448835ab docs: update README 2026-09-15 19:35:00 +03:00
9 changed files with 92 additions and 9 deletions
+20
View File
@@ -0,0 +1,20 @@
name: release
on:
push:
tags: ["*"]
env:
POETRY_HTTP_BASIC_InfernalGames_USERNAME: ${{ vars.PUBLISH_USERNAME }}
POETRY_HTTP_BASIC_InfernalGames_PASSWORD: ${{ secrets.PUBLISH_TOKEN }}
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: https://git.shmyga.ru/InfernalGames/project-manager@master
with:
setup-python: true
- run: pm build -vv
- run: pm publish -vv
+14
View File
@@ -0,0 +1,14 @@
name: test
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: https://git.shmyga.ru/InfernalGames/project-manager@master
with:
setup-python: true
- run: pm lint -vv
- run: pm test -vv
+20 -7
View File
@@ -1,9 +1,17 @@
# Project Manager # Project Manager
Automatically detects modules and executes commands
Supported types:
- python (poetry)
- nodejs (npm)
- docker
## Install ## Install
```bash ```bash
pipx install project-manager -i https://git.shmyga.ru/InfernalGames/project-manager/packages pipx install project-manager -i https://git.shmyga.ru/api/packages/InfernalGames/pypi/simple/ --pip-args="--extra-index-url https://pypi.org/simple"
``` ```
## Usage ## Usage
@@ -14,17 +22,16 @@ pipx install project-manager -i https://git.shmyga.ru/InfernalGames/project-mana
pm [-v] [-vv] pm [-v] [-vv]
``` ```
![pm show](docs/Screenshot_0.png "pm show")
### Run task ### Run task
```bash ```bash
pm <task>[:<tag>] [-v] [-vv] pm <task>[:<tag>][:<sub_tag>] [-v] [-vv]
``` ```
## Presets locations ![pm lint](docs/Screenshot_1.png "pm lint")
![pm build](docs/Screenshot_2.png "pm build")
- default presets [`project_manager/preset/default/*.toml`](./project_manager/preset/default)
- user preset `$HOME/.pm.toml`
- project preset `./.pm.toml`
## Preset format ## Preset format
@@ -39,3 +46,9 @@ commands = ["<command>"]
### Examples ### Examples
[Default presets](./project_manager/preset/default) [Default presets](./project_manager/preset/default)
## Presets locations
- default presets [`project_manager/preset/default/*.toml`](./project_manager/preset/default)
- user preset `$HOME/.pm.toml`
- project preset `./.pm.toml`
+36
View File
@@ -0,0 +1,36 @@
name: "Project Manager"
inputs:
python-version:
default: "3.14"
setup-python:
default: false
venv-version:
default: "1"
runs:
using: "composite"
steps:
- id: setup-python
uses: actions/setup-python@v7
with:
python-version: ${{ inputs.python-version }}
cache: "pip"
- run: |
pip install project-manager \
--index-url https://git.shmyga.ru/api/packages/InfernalGames/pypi/simple/ \
--extra-index-url https://pypi.org/simple
- run: pm setup:config -vv
- if: inputs.setup-python
run: pip install poetry
- id: cache-venv
if: inputs.setup-python
uses: actions/cache@v6
with:
path: .venv
key: venv-${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}-v${{ inputs.venv-version }}
- if: ${{ inputs.setup-python && steps.cache-venv.outputs.cache-hit != 'true' }}
run: pm setup:python -vv
Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

+1 -1
View File
@@ -6,7 +6,7 @@ variables.python_poetry = "{{ 'pyproject.toml' | read | get('build-system.build-
[presets.python.tasks.setup.poetry] [presets.python.tasks.setup.poetry]
conditions = ["{{ python_poetry }}"] conditions = ["{{ python_poetry }}"]
variables.python_version = "{{ 'pyproject.toml' | read | get('project.requires-python') | search('(\\d+.\\d+)') }}" variables.python_version = "{{ 'pyproject.toml' | read | get('project.requires-python') | search('(\\d+.\\d+)') }}"
commands = ["poetry env use {{ python_version }}", "poetry install"] commands = ["poetry env use {{ python_version }}", "poetry install --all-extras"]
# playwright # playwright
[presets.python.tasks.setup.playwright] [presets.python.tasks.setup.playwright]
+1 -1
View File
@@ -1,7 +1,7 @@
[project] [project]
name = "project-manager" name = "project-manager"
description = "" description = ""
version = "0.3.0" version = "0.3.1"
readme = "README.md" readme = "README.md"
authors = [{ name = "shmyga", email = "shmyga.z@gmail.com" }] authors = [{ name = "shmyga", email = "shmyga.z@gmail.com" }]
requires-python = ">=3.14,<4.0" requires-python = ">=3.14,<4.0"