Compare commits
16 Commits
v2.0.0
...
v2.0.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
| 47f1473167 | |||
| 72101c90d5 | |||
| 261dc38748 | |||
| e20cb3464f | |||
| d4ed578178 | |||
| 46017d027a | |||
| d4d38e26ce | |||
| a2c525ecd1 | |||
| f743c47d6b | |||
| 08ba3678f8 | |||
| 9cc837bdd8 | |||
| 9eb32586c7 | |||
| ff18a032f4 | |||
| debcffb9a2 | |||
| 9c15f23987 | |||
| 5f89f0ce31 |
@@ -1,54 +1,74 @@
|
||||
name: Gitea Actions Demo
|
||||
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||
on: [push]
|
||||
name: Build and Create Tag Release
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
Explore-Gitea-Actions:
|
||||
build:
|
||||
runs-on: tcl-tk-builder
|
||||
steps:
|
||||
- name: Build the DEB-packages
|
||||
- name: Клонирование
|
||||
run: |
|
||||
git clone ${{ vars.main_url }}${{ gitea.repository }}
|
||||
pwd
|
||||
cd projman/debian
|
||||
./build-deb-projman.sh
|
||||
cd ../openbsd
|
||||
./build-package-bsd.sh
|
||||
cd ../../
|
||||
curl --user ${{secrets.USER}}:${{secrets.API_TOKEN}} --upload-file "$(ls -1| grep projman | grep -E 'deb$')" ${{vars.main_url}}api/packages/${{vars.user}}/debian/pool/bookworm/main/upload
|
||||
- run: echo "This job's status is ${{ job.status }}."
|
||||
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: Create release
|
||||
- name: Создание тега в git
|
||||
run: |
|
||||
# Создаем релиз через API
|
||||
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 "Собранные файлы:"
|
||||
ls -la projman*
|
||||
|
||||
- name: Создание релиза с тегом
|
||||
run: |
|
||||
echo "Создаем релиз для тега: $TAG"
|
||||
|
||||
curl -X POST \
|
||||
-u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"tag_name": "'"${{ gitea.ref_name }}"'",
|
||||
"name": "Release '"${{ gitea.ref_name }}"'",
|
||||
"body": "Automated release for '"${{ gitea.ref_name }}"'",
|
||||
"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"
|
||||
|
||||
- name: Get release ID
|
||||
id: release_info
|
||||
- name: Загрузка файлов
|
||||
run: |
|
||||
response=$(curl -s -u "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
||||
"${{vars.main_url}}/api/v1/repos/${{ gitea.repository }}/releases/tags/${{ gitea.ref_name }}")
|
||||
|
||||
echo "id=$(echo $response | jq -r '.id')" >> $GITHUB_OUTPUT
|
||||
# Загружаем все файлы 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"
|
||||
|
||||
- name: Upload Linux package
|
||||
run: |
|
||||
curl --user "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
||||
--upload-file "$(ls -1| grep projman | grep -E 'deb$')" \
|
||||
"${{vars.main_url}}/api/v1/repos/${{ gitea.repository }}/releases/${{ steps.release_info.outputs.id }}/assets?name=$(ls -1| grep projman | grep -E 'deb$')"
|
||||
|
||||
- name: Upload OpenBSD package
|
||||
run: |
|
||||
curl --user "${{ secrets.USER }}:${{ secrets.API_TOKEN }}" \
|
||||
--upload-file "$(ls -1| grep projman | grep -E 'tgz$')" \
|
||||
"${{vars.main_url}}/api/v1/repos/${{ gitea.repository }}/releases/${{ steps.release_info.outputs.id }}/assets?name=$(ls -1| grep projman | grep -E 'tgz$')"
|
||||
|
||||
Reference in New Issue
Block a user