This commit is contained in:
@@ -1,50 +1,69 @@
|
|||||||
name: Simple Release
|
name: Build and Create Tag Release
|
||||||
on: [push]
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: tcl-tk-builder
|
runs-on: tcl-tk-builder
|
||||||
steps:
|
steps:
|
||||||
- name: Get tag name
|
- name: Клонирование
|
||||||
run: |
|
|
||||||
# Просто выводим все переменные для отладки
|
|
||||||
echo "=== Все переменные окружения ==="
|
|
||||||
env | grep -i gitea
|
|
||||||
echo "=== Конец ==="
|
|
||||||
|
|
||||||
# Пробуем разные способы получить тег
|
|
||||||
echo "Способ 1: $GITEA_REF"
|
|
||||||
echo "Способ 2: ${{ gitea.ref }}"
|
|
||||||
echo "Способ 3: ${{ gitea.ref_name }}"
|
|
||||||
|
|
||||||
# Сохраняем тег
|
|
||||||
echo "TAG=${{ gitea.ref_name }}" >> $GITEA_ENV
|
|
||||||
|
|
||||||
- name: Checkout
|
|
||||||
run: |
|
run: |
|
||||||
git clone "${{ vars.main_url }}${{ gitea.repository }}.git" .
|
git clone "${{ vars.main_url }}${{ gitea.repository }}.git" .
|
||||||
echo "Current tag: $(git tag --points-at HEAD)"
|
|
||||||
|
- 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: Build
|
- name: Создание тега в git
|
||||||
|
run: |
|
||||||
|
git config user.email "actions@gitea"
|
||||||
|
git config user.name "Gitea Actions"
|
||||||
|
|
||||||
|
# Создаем тег локально
|
||||||
|
git tag -a "$TAG" -m "Release $TAG"
|
||||||
|
|
||||||
|
# Пушим тег на сервер
|
||||||
|
git push origin "$TAG"
|
||||||
|
|
||||||
|
- name: Сборка пакетов
|
||||||
run: |
|
run: |
|
||||||
cd debian && ./build-deb-projman.sh
|
cd debian && ./build-deb-projman.sh
|
||||||
cd ../openbsd && ./build-package-bsd.sh
|
cd ../openbsd && ./build-package-bsd.sh
|
||||||
|
|
||||||
- name: Create and Upload
|
|
||||||
run: |
|
|
||||||
TAG="${{ gitea.ref_name }}"
|
|
||||||
echo "Using tag: $TAG"
|
|
||||||
|
|
||||||
# 1. Создаем релиз
|
echo "Собранные файлы:"
|
||||||
echo "Creating release..."
|
ls -la projman*
|
||||||
|
|
||||||
|
- name: Создание релиза с тегом
|
||||||
|
run: |
|
||||||
|
echo "Создаем релиз для тега: $TAG"
|
||||||
|
|
||||||
curl -X POST \
|
curl -X POST \
|
||||||
-u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
-u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"tag_name":"'"$TAG"'","name":"Release '"$TAG"'","draft":false}' \
|
-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"
|
"${{ vars.main_url }}api/v1/repos/${{ gitea.repository }}/releases"
|
||||||
|
|
||||||
# 2. Загружаем все файлы
|
- name: Загрузка файлов
|
||||||
echo "Uploading files..."
|
run: |
|
||||||
|
# Загружаем все файлы projman*
|
||||||
curl -u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
curl -u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
||||||
--upload-file "../projman_2.0.0-beta1_amd64.deb" \
|
--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"
|
"${{ vars.main_url }}api/v1/repos/${{ gitea.repository }}/releases/tags/$TAG/assets?name=../projman_2.0.0-beta1_amd64.deb"
|
||||||
|
|||||||
Reference in New Issue
Block a user