Files
projman/.gitea/workflows/build.yml
svk debcffb9a2
Some checks failed
Gitea Actions / Explore-Gitea-Actions (push) Failing after 10s
Тесты сборки
2026-01-22 20:35:54 +03:00

88 lines
3.7 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: Gitea Actions
run-name: ${{ gitea.actor }} тестирует Gitea Actions
on: [push]
jobs:
Explore-Gitea-Actions:
runs-on: tcl-tk-builder # Ваш корректный runner
steps:
- name: Клонирование репозитория
run: |
git clone "${{ vars.main_url }}${{ gitea.repository }}.git" .
pwd
ls -la
- name: Сборка DEB-пакетов
run: |
cd projman/debian
./build-deb-projman.sh
cd ../openbsd
./build-package-bsd.sh
cd ../../
# Ищем DEB файл
DEB_FILE=$(find . -name "*.deb" -type f | head -1)
echo "DEB файл: $DEB_FILE"
# Загружаем в репозиторий пакетов
curl --user "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
--upload-file "$DEB_FILE" \
"${{ vars.main_url }}api/packages/${{ vars.user }}/debian/pool/bookworm/main/upload?version=$(basename "$DEB_FILE" | grep -o '[0-9].*[0-9]')"
- name: Извлечение информации о версии
id: version_info
run: |
VERSION=$(grep "Version" projman.tcl | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
RELEASE=$(grep "# Release" projman.tcl | tail -1 | grep -oE '[0-9A-Za-z]+$')
echo "VERSION=$VERSION" >> $GITEA_OUTPUT
echo "RELEASE=$RELEASE" >> $GITEA_OUTPUT
echo "Извлечено: Version=$VERSION, Release=$RELEASE"
- name: Создание релиза (только для тегов)
if: startsWith(gitea.ref, 'refs/tags/')
id: create_release
run: |
TAG_NAME="${GITEA_REF#refs/tags/}"
echo "Создание релиза для тега: $TAG_NAME"
# Создаем релиз через API Gitea
response=$(curl -s -X POST \
-u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{
"tag_name": "'"$TAG_NAME"'",
"name": "Projman '"$VERSION"' (Release '"$RELEASE"')",
"body": "Автоматический релиз\\n\\nВерсия: '"$VERSION"'\\nРевизия: '"$RELEASE"'\\n\\nСобран: '"$(date)"'",
"draft": false,
"prerelease": false
}' \
"${{ vars.main_url }}api/v1/repos/${{ gitea.repository }}/releases")
echo "Ответ API: $response"
# Извлекаем ID созданного релиза
RELEASE_ID=$(echo "$response" | grep -o '"id":[0-9]*' | cut -d: -f2)
echo "ID релиза: $RELEASE_ID"
echo "RELEASE_ID=$RELEASE_ID" >> $GITEA_OUTPUT
- name: Загрузка пакетов в релиз
if: steps.create_release.outputs.RELEASE_ID != ''
run: |
# Находим все собранные пакеты
for package in $(find . -name "projman*" \( -name "*.deb" -o -name "*.tgz" \) -type f); do
echo "Загрузка пакета: $(basename "$package")"
curl -v --user "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
--upload-file "$package" \
"${{ vars.main_url }}api/v1/repos/${{ gitea.repository }}/releases/${{ steps.create_release.outputs.RELEASE_ID }}/assets?name=$(basename "$package")"
echo "Пакет загружен: $(basename "$package")"
done
- name: Статус выполнения
run: |
echo "Статус задания: ${{ job.status }}"
echo "Текущая директория: $(pwd)"
echo "Содержимое:"
ls -la