Compare commits

..
4 Commits
Author SHA1 Message Date
shmyga 951cb06b4c ci(action): add setup composite action
test / test (push) Failing after 46s
2026-09-27 21:08:06 +03:00
shmyga 80e9a80edd ci(version): 0.10.2
build / build (push) Successful in 3m26s
test / test (push) Successful in 42s
2026-09-27 21:00:51 +03:00
shmyga b3412d9e53 fix(weather): add deprecated days tag route 2026-09-27 20:59:33 +03:00
shmyga ba91d6d161 ci(action): fix build action name
test / test (push) Successful in 42s
2026-09-24 19:17:15 +03:00
7 changed files with 53 additions and 75 deletions
+32
View File
@@ -0,0 +1,32 @@
name: "Setup"
description: "Setup project"
inputs:
python-version:
default: "3.14"
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
# setup python venv
- run: pip install poetry
- id: cache-venv
uses: actions/cache@v6
with:
path: .venv
key: venv-${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- if: steps.cache-venv.outputs.cache-hit != 'true'
run: pm setup:python -vv
+7 -29
View File
@@ -1,4 +1,4 @@
name: test name: build
on: on:
push: push:
@@ -6,37 +6,15 @@ on:
jobs: jobs:
build: build:
needs: test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# repo - uses: actions/checkout@v7
- name: Check out repository - uses: ./.gitea/actions/setup
uses: actions/checkout@v7 - run: pm build:docker -vv
# python - uses: docker/login-action@v4
- name: Set up python
id: setup-python
uses: actions/setup-python@v7
with:
python-version: "3.14"
cache: "pip"
# project-manager
- name: Install Project Manager
run: |
pip install project-manager \
--index-url https://git.shmyga.ru/api/packages/InfernalGames/pypi/simple/ \
--extra-index-url https://pypi.org/simple
# setup
- name: Setup config
run: pm setup:config -vv
# build
- name: Build docker
run: pm build:docker -vv
# login docker
- name: Login to Docker Hub
uses: docker/login-action@v4
with: with:
registry: git.shmyga.ru registry: git.shmyga.ru
username: ${{ vars.DOCKERHUB_USERNAME }} username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
# pubish - run: pm publish:docker -vv
- name: Publish docker
run: pm publish:docker -vv
+4 -42
View File
@@ -6,45 +6,7 @@ jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# repo - uses: actions/checkout@v7
- name: Check out repository - uses: ./.gitea/actions/setup
uses: actions/checkout@v7 - run: pm lint -vv
# python # - run: pm test -vv
- name: Set up python
id: setup-python
uses: actions/setup-python@v7
with:
python-version: "3.14"
# poetry
- name: Load cached Poetry installation
id: cached-poetry
uses: actions/cache@v5
with:
path: ~/.local
key: poetry-1 # increment to reset cache
- name: Install Poetry
if: steps.cached-poetry.outputs.cache-hit != 'true'
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
virtualenvs-path: .venv
installer-parallel: true
# venv
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v5
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: ~/.local/bin/poetry install --no-interaction --no-root
- name: Install project
run: ~/.local/bin/poetry install --no-interaction
# test
- name: Run tests
run: |
source .venv/bin/activate
coverage run -m pytest tests/
coverage report
@@ -68,6 +68,12 @@ async def get_weather_days(request: AppRequest, weather_api: WeatherApiDepends,
return build_weather_response(request, response) return build_weather_response(request, response)
# TODO: tag mode route deprecated, used in tizen app
@router.get("/{provider}/{location}/tag/days-{days}", response_class=RedirectResponse)
async def get_tag_days(days: int):
return RedirectResponse(f"../days/{days}")
# TODO: tag mode route deprecated, used in tizen app # TODO: tag mode route deprecated, used in tizen app
@router.get("/{provider}/{location}/{mode:str}/{date}", response_class=HTMLResponse) @router.get("/{provider}/{location}/{mode:str}/{date}", response_class=HTMLResponse)
async def get_weather_day( async def get_weather_day(
+1 -1
View File
@@ -1,7 +1,7 @@
[project] [project]
name = "gallery" name = "gallery"
description = "" description = ""
version = "0.10.1" version = "0.10.2"
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'
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "gallery", "name": "gallery",
"version": "0.10.1", "version": "0.10.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "gallery", "name": "gallery",
"version": "0.10.1", "version": "0.10.2",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "gallery", "name": "gallery",
"version": "0.10.1", "version": "0.10.2",
"type": "module", "type": "module",
"scripts": { "scripts": {
"build": "webpack --mode production", "build": "webpack --mode production",