DispelEvilBot/.gitea/workflows/ci.yml
Workflow config file is invalid. Please check your config file: yaml: line 28: mapping values are not allowed in this context

54 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: CI
on:
# Без под-фильтров: срабатывает на любой push (ветки и теги). Комбинация
# branches+tags в Forgejo не поддерживается и помечает workflow как проблемный.
push:
workflow_dispatch:
env:
REGISTRY: git.mpakosrv.ru
IMAGE_NAME: mpakobecx/dispelevilbot-bot
jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Установка зависимостей
run: pip install -r requirements-dev.txt
# В Forgejo 1.21 `continue-on-error` игнорируется, поэтому неблокирующий
# режим для black сделан через shell. ruff обязателен.
- name: Ruff
run: ruff check .
- name: Black
run: black --check . || echo "::warning::black: есть отличия в форматировании (пока не блокирует)"
- name: Pytest
run: pytest -q
build-push:
runs-on: ubuntu-latest
needs: lint-test
# Собираем и пушим образ. Автодеплой НЕ делаем — выкатка вручную (test -> prod).
steps:
- uses: actions/checkout@v4
- name: Логин в Gitea Registry
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login "$REGISTRY" -u "${{ secrets.REGISTRY_USER }}" --password-stdin
- name: Сборка и публикация образа
run: |
set -e
IMAGE="$REGISTRY/$IMAGE_NAME"
SHA="${GITHUB_SHA:-unknown}"
SHORT_SHA="$(echo "$SHA" | cut -c1-12)"
TAGS="$IMAGE:$SHORT_SHA $IMAGE:latest"
case "${GITHUB_REF:-}" in
refs/tags/*) TAGS="$TAGS $IMAGE:${GITHUB_REF_NAME:-${GITHUB_REF#refs/tags/}}" ;;
esac
ARGS=""
for t in $TAGS; do ARGS="$ARGS -t $t"; done
docker build $ARGS .
for t in $TAGS; do docker push "$t"; done