diff --git a/.woodpecker/.woodpecker.yml b/.woodpecker/.woodpecker.yml index 75a391d..94ea84d 100644 --- a/.woodpecker/.woodpecker.yml +++ b/.woodpecker/.woodpecker.yml @@ -1,136 +1,20 @@ +when: + event: manual + steps: checkout: image: debian:latest environment: - GONETS: - from_secret: GONETS + FORGEJO_TOKEN: + from_secret: forgejo_token commands: # ПОДГОТОВКА ГИТА И КЛОНИРОВАНИЕ GONETS - apt update - apt install -y git git-lfs - git lfs install - - # УСТАНОВКА НЕОБХОДИМЫХ ЗАВИСИМОСТЕЙ НА СИСТЕМЕ - - apt update - - apt install -y python3 curl findutils grep sed openssh-server tree libnss3 libnss3-dev libnspr4 libnspr4-dev libasound2 libasound2-dev 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 - - python3 --version - - node -v - - npm -v - - # ПОДГОТОВКА СПИСКА PYTHON ЗАВИСИМОСТЕЙ GONETS - - 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 - - poetry --version - - cd SRV - - poetry env activate - - poetry add poetry-plugin-export - - poetry install - - poetry self update - - rm -f requirements.txt - - poetry run poetry export -f requirements.txt --output requirements.txt --without-hashes - - # ПОДГОТОВКА И СБОРКА FRONTEND ЧАСТИ GONETS - - pwd - - cd .. - - pwd - - cd FRONT/DEV - - pwd - - npm install - - npm run package - - cd dist/gonets-linux-x64/resources/app - - pwd - - npm run build - - sed -i 's#href="/assets/#href="./assets/#g' dist/index.html - - sed -i 's#src="/assets/#src="./assets/#g' dist/index.html - - cd ../../../../.. - - pwd - - rm -rf BUILD/* - - cp -r DEV/dist/gonets-linux-x64/* BUILD/ - - rm -rf DEV - - # ИНИЦИАЛИЗАЦИЯ DEBIAN КОНФИГУРАЦИЙ ДЛЯ СБОРКИ - - cd .. - - pwd - - cd .. - - pwd - - mv gonets gonets-0.1 - - cd gonets-0.1 - - pwd - - ls - - DEBEMAIL="devteam@gossys.dev" DEBFULLNAME="GOSSYS LLC" dh_make --single -y --createorig - - cd debian/ - - rm -f *.ex - - rm -f README.* - - # КЛОНИРОВАНИЕ НЕОБХОДИМЫХ ШАБЛОНОВ КОНФИГОВ ДЕБИАНА ДЛЯ СБОРКИ - - 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/ - - # СБОРКА ДЕБИАН ПАКЕТА - - cd .. - - pwd - - dpkg-buildpackage -us -uc -b - - # ИЗВЛЕЧЕНИЕ ВЕРСИИ ПАКЕТА ДЛЯ КОММИТА - - VERSION=$(dpkg-parsechangelog -l./debian/changelog --show-field Version) - - echo "VERSION=$VERSION" > version.env - - # КОММИТ И ТЕГ НА ВЕТКУ DEVELOP - - . ./version.env - - git config user.name "s.galanskiy" - - git config user.email "s.galanskiy@gossys.dev" - - git fetch --all --prune - - git branch -r - - git checkout -b "release/$VERSION" - - git commit -am "Релиз $VERSION" - - git tag -f "v$VERSION" - - git push "https://s.galanskiy:b4785198d18200dfed812dc4299575f736255bd7@dev.gossys.dev/s.galanskiy/gonets.git" "release/$VERSION" - - git push -f https://s.galanskiy:b4785198d18200dfed812dc4299575f736255bd7@dev.gossys.dev/s.galanskiy/gonets.git "v$VERSION" - - # СОЗДАНИЕ И ЗАГРУЗКА РЕЛИЗА ЧЕРЕЗ API - - | - VERSION=$(dpkg-parsechangelog -l./debian/changelog --show-field Version) - echo "VERSION=$VERSION" > version.env - - # Задать переменные - . ./version.env - TAG="v$VERSION" - - DEB_PATH=$(find .. -maxdepth 1 -type f -name "gonets_*_amd64.deb" | head -n 1) - - if [ ! -f "$DEB_PATH" ]; then - echo "❌ .deb файл не найден по пути: $DEB_PATH" - exit 1 - fi - - RELEASE_JSON=$(curl -s -X POST "https://dev.gossys.dev/api/v1/repos/s.galanskiy/gonets/releases" \ - -H "Authorization: token b4785198d18200dfed812dc4299575f736255bd7" \ - -H "Content-Type: application/json" \ - -d "{\"tag_name\": \"$TAG\", \"name\": \"Релиз $TAG\", \"body\": \"Сборка .deb пакета для версии $TAG\", \"draft\": false, \"prerelease\": true}") - - RELEASE_ID=$(echo "$RELEASE_JSON" | grep '"id":' | head -n1 | sed 's/[^0-9]*\([0-9]*\).*/\1/') - - if [ -z "$RELEASE_ID" ]; then - echo "❌ Не удалось получить ID релиза из ответа:" - echo "$RELEASE_JSON" - exit 1 - fi - - curl -s -X POST \ - -H "Authorization: token b4785198d18200dfed812dc4299575f736255bd7" \ - -F "attachment=@$DEB_PATH" \ - "https://dev.gossys.dev/api/v1/repos/s.galanskiy/gonets/releases/$RELEASE_ID/assets" || echo "❌ Ошибка загрузки файла" \ No newline at end of file + - git config --global user.email "s.galanskiy@gossys.dev" + - git config --global user.name "s.galanskiy" + - touch file + - git add . + - git commit -m "commit" + - git push https://$FORGEJO_TOKEN@dev.gossys.dev/s.galanskiy/gonets.git \ No newline at end of file diff --git a/file b/file new file mode 100644 index 0000000..e69de29