Files
projman/.gitea/workflows/build.yml
svk b8ada446e1
Some checks failed
Build and Create Tag Release / build (push) Failing after 9s
Тесты сборки
2026-01-22 21:07:33 +03:00

74 lines
2.8 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: Build and Create Tag Release
on:
push:
branches:
- master
- main
jobs:
build:
runs-on: tcl-tk-builder
steps:
- name: Клонирование
run: |
git clone "${{ vars.main_url }}${{ gitea.repository }}.git" .
- name: Получение версии
id: get_version
run: |
VERSION=$(grep "Version" projman.tcl | head -1 | grep -o '[0-9.]\+[a-zA-Z0-9]*' || echo "1.0.0")
RELEASE=$(grep "# Release" projman.tcl | tail -1 | awk '{print $NF}' || echo "$(date +%Y%m%d)")
# Создаем имя тега из версии
TAG="v${VERSION}-${RELEASE}"
echo "TAG=$TAG" >> $GITEA_ENV
echo "VERSION=$VERSION" >> $GITEA_ENV
echo "Будет создан тег: $TAG"
- name: Создание тега в git
run: |
git config user.email "svk@nuk-svk.ru"
git config user.name "svk"
# Создаем тег локально
git tag -a "$TAG" -m "Release $TAG"
git remote set-url origin "https://${{ secrets.USER }}:${{ secrets.API_TOKEN }}@git.nuk-svk.ru/${{ gitea.repository }}.git"
# Пушим тег на сервер
git push origin "$TAG"
- name: Сборка пакетов
run: |
cd debian && ./build-deb-projman.sh
cd ../openbsd && ./build-package-bsd.sh
echo "Собранные файлы:"
- name: Создание релиза с тегом
run: |
echo "Создаем релиз для тега: $TAG"
curl -X POST \
-u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{
"tag_name": "'"$TAG"'",
"name": "Projman '"$VERSION"'",
"body": "## Информация о сборке\n\n- Версия: '"$VERSION"'\n- Дата: '"$(date)"'\n- Коммит: '"$(git rev-parse --short HEAD)"'",
"draft": false,
"prerelease": false
}' \
"${{ vars.main_url }}api/v1/repos/${{ gitea.repository }}/releases"
- name: Загрузка файлов
run: |
# Загружаем все файлы projman*
curl -u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
--upload-file "../projman_2.0.0-beta1_amd64.deb" \
"${{ vars.main_url }}api/v1/repos/${{ gitea.repository }}/releases/tags/$TAG/assets?name=../projman_2.0.0-beta1_amd64.deb"
curl -u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
--upload-file "../projman-2.0.0beta1.tgz" \
"${{ vars.main_url }}api/v1/repos/${{ gitea.repository }}/releases/tags/$TAG/assets?name=../projman-2.0.0beta1.tgz"