2025-06-27 15:12:04 +05:00
|
|
|
|
when:
|
|
|
|
|
|
event: [push, tag]
|
|
|
|
|
|
branch: main
|
|
|
|
|
|
|
2025-06-27 14:55:47 +05:00
|
|
|
|
steps:
|
2025-06-27 15:12:04 +05:00
|
|
|
|
checkout:
|
2025-06-27 14:55:47 +05:00
|
|
|
|
image: debian:latest
|
2025-06-27 15:01:56 +05:00
|
|
|
|
environment:
|
2025-06-27 15:12:04 +05:00
|
|
|
|
GONETS:
|
|
|
|
|
|
from_secret: GONETS
|
|
|
|
|
|
commands:
|
2025-06-30 13:48:46 +05:00
|
|
|
|
- pwd
|
2025-06-30 13:16:33 +05:00
|
|
|
|
- echo $SHELL
|
2025-06-30 13:31:55 +05:00
|
|
|
|
- rm -rf gonets
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# ПОДГОТОВКА ГИТА И КЛОНИРОВАНИЕ GONETS
|
|
|
|
|
|
- apt update
|
|
|
|
|
|
- apt install -y git git-lfs
|
2025-06-27 15:12:04 +05:00
|
|
|
|
- git lfs install
|
|
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# УСТАНОВКА НЕОБХОДИМЫХ ЗАВИСИМОСТЕЙ НА СИСТЕМЕ
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- apt update
|
2025-06-30 13:48:46 +05:00
|
|
|
|
- apt install -y python3 tree python3.11-venv python3-pip python3-poetry nodejs npm debhelper devscripts build-essential fakeroot dh-make dpkg-dev cmake libgirepository1.0-dev gobject-introspection libcairo2-dev pkg-config python3-dev libdbus-1-dev
|
2025-06-27 15:12:04 +05:00
|
|
|
|
- python3 --version
|
2025-06-27 15:41:54 +05:00
|
|
|
|
- node -v
|
|
|
|
|
|
- npm -v
|
2025-06-27 12:34:51 +05:00
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# ПОДГОТОВКА СПИСКА PYTHON ЗАВИСИМОСТЕЙ GONETS
|
2025-06-30 13:16:33 +05:00
|
|
|
|
- rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED
|
|
|
|
|
|
- rm -rf /root/.local/share/pypoetry
|
|
|
|
|
|
- rm -rf /root/.poetry
|
|
|
|
|
|
- rm -rf /usr/bin/poetry
|
|
|
|
|
|
- pip install pipx
|
|
|
|
|
|
- pipx ensurepath
|
|
|
|
|
|
- pipx install poetry
|
|
|
|
|
|
- echo 'export PATH="$HOME/.local/bin:$PATH"' >> /root/.bashrc
|
|
|
|
|
|
- . /root/.bashrc
|
2025-06-27 15:41:54 +05:00
|
|
|
|
- poetry --version
|
2025-06-30 14:00:04 +05:00
|
|
|
|
- cd SRV
|
2025-06-30 13:16:33 +05:00
|
|
|
|
- poetry env activate
|
|
|
|
|
|
- poetry add poetry-plugin-export
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- poetry install
|
2025-06-30 13:16:33 +05:00
|
|
|
|
- poetry self update
|
2025-06-27 15:41:54 +05:00
|
|
|
|
- rm -f requirements.txt
|
2025-06-30 13:16:33 +05:00
|
|
|
|
- poetry run poetry export -f requirements.txt --output requirements.txt --without-hashes
|
2025-06-27 14:47:34 +05:00
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# ПОДГОТОВКА И СБОРКА FRONTEND ЧАСТИ GONETS
|
2025-06-30 13:42:14 +05:00
|
|
|
|
- pwd
|
2025-06-30 14:00:04 +05:00
|
|
|
|
- cd ..
|
|
|
|
|
|
- pwd
|
|
|
|
|
|
- cd FRONT/DEV
|
|
|
|
|
|
- pwd
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- npm install
|
|
|
|
|
|
- npm run package
|
|
|
|
|
|
- cd dist/gonets-linux-x64/resources/app
|
2025-06-30 14:00:04 +05:00
|
|
|
|
- pwd
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- npm run build
|
2025-06-30 14:08:03 +05:00
|
|
|
|
- sed -i 's#href="/assets/#href="./assets/#g' dist/index.html
|
|
|
|
|
|
- sed -i 's#src="/assets/#src="./assets/#g' dist/index.html
|
2025-06-30 14:15:56 +05:00
|
|
|
|
- cd ../../../../..
|
2025-06-30 14:00:04 +05:00
|
|
|
|
- pwd
|
|
|
|
|
|
- rm -rf BUILD/*
|
|
|
|
|
|
- cp -r DEV/dist/gonets-linux-x64/* BUILD/
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- rm -rf DEV
|
2025-06-27 12:34:51 +05:00
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# ИНИЦИАЛИЗАЦИЯ DEBIAN КОНФИГУРАЦИЙ ДЛЯ СБОРКИ
|
2025-06-30 14:00:04 +05:00
|
|
|
|
- cd ..
|
|
|
|
|
|
- pwd
|
2025-06-30 14:30:57 +05:00
|
|
|
|
- cd ..
|
|
|
|
|
|
- pwd
|
|
|
|
|
|
- mv gonets gonets-0.1
|
|
|
|
|
|
- cd gonets-0.1
|
|
|
|
|
|
- pwd
|
|
|
|
|
|
- ls
|
2025-06-30 14:39:06 +05:00
|
|
|
|
- DEBEMAIL="devteam@gossys.dev" DEBFULLNAME="GOSSYS LLC" dh_make --single -y --createorig
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- cd debian/
|
|
|
|
|
|
- rm -f *.ex
|
|
|
|
|
|
- rm -f README.*
|
2025-06-27 12:34:51 +05:00
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# КЛОНИРОВАНИЕ НЕОБХОДИМЫХ ШАБЛОНОВ КОНФИГОВ ДЕБИАНА ДЛЯ СБОРКИ
|
2025-06-30 14:56:08 +05:00
|
|
|
|
- mkdir -p /woodpecker/src/dev.gossys.dev/s.galanskiy/templates
|
|
|
|
|
|
- git clone https://s.galanskiy:${GONETS}@dev.gossys.dev/s.galanskiy/gonets-debian-template.git /woodpecker/src/dev.gossys.dev/s.galanskiy/templates
|
|
|
|
|
|
- mv /woodpecker/src/dev.gossys.dev/s.galanskiy/templates/changelog /woodpecker/src/dev.gossys.dev/s.galanskiy/gonets-0.1/debian/
|
|
|
|
|
|
- mv /woodpecker/src/dev.gossys.dev/s.galanskiy/templates/control /woodpecker/src/dev.gossys.dev/s.galanskiy/gonets-0.1/debian/
|
|
|
|
|
|
- mv /woodpecker/src/dev.gossys.dev/s.galanskiy/templates/copyright /woodpecker/src/dev.gossys.dev/s.galanskiy/gonets-0.1/debian/
|
|
|
|
|
|
- mv /woodpecker/src/dev.gossys.dev/s.galanskiy/templates/install /woodpecker/src/dev.gossys.dev/s.galanskiy/gonets-0.1/debian/
|
|
|
|
|
|
- mv /woodpecker/src/dev.gossys.dev/s.galanskiy/templates/postinst /woodpecker/src/dev.gossys.dev/s.galanskiy/gonets-0.1/debian/
|
|
|
|
|
|
- mv /woodpecker/src/dev.gossys.dev/s.galanskiy/templates/postrm /woodpecker/src/dev.gossys.dev/s.galanskiy/gonets-0.1/debian/
|
|
|
|
|
|
- mv /woodpecker/src/dev.gossys.dev/s.galanskiy/templates/rules /woodpecker/src/dev.gossys.dev/s.galanskiy/gonets-0.1/debian/
|
2025-06-27 12:34:51 +05:00
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# СБОРКА ДЕБИАН ПАКЕТА
|
2025-06-30 14:00:04 +05:00
|
|
|
|
- cd ..
|
|
|
|
|
|
- pwd
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- dpkg-buildpackage -us -uc -b
|
2025-06-27 12:34:51 +05:00
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# ИЗВЛЕЧЕНИЕ ВЕРСИИ ПАКЕТА ДЛЯ КОММИТА
|
2025-06-27 15:12:04 +05:00
|
|
|
|
- VERSION=$(dpkg-parsechangelog -l./debian/changelog --show-field Version)
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- echo "VERSION=$VERSION" > version.env
|
2025-06-27 12:34:51 +05:00
|
|
|
|
|
2025-06-27 15:41:54 +05:00
|
|
|
|
# КОММИТ И ТЕГ НА ВЕТКУ DEVELOP
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- source version.env
|
2025-06-27 15:12:04 +05:00
|
|
|
|
- git config user.name "s.galanskiy"
|
|
|
|
|
|
- git config user.email "s.galanskiy@gossys.dev"
|
2025-06-27 14:55:47 +05:00
|
|
|
|
- git checkout develop
|
|
|
|
|
|
- git commit -am "Релиз $VERSION"
|
|
|
|
|
|
- git tag "v$VERSION"
|
2025-06-27 15:12:04 +05:00
|
|
|
|
- git push https://s.galanskiy:${GONETS}@dev.gossys.dev/s.galanskiy/gonets.git develop
|
|
|
|
|
|
- git push https://s.galanskiy:${GONETS}@dev.gossys.dev/s.galanskiy/gonets.git "v$VERSION"
|