diff --git a/.woodpecker/.woodpecker.yml b/.woodpecker/.woodpecker.yml index 490feb1..b56ffea 100644 --- a/.woodpecker/.woodpecker.yml +++ b/.woodpecker/.woodpecker.yml @@ -13,128 +13,4 @@ steps: - apt update - apt install -y git git-lfs - git lfs install - - # УСТАНОВКА НЕОБХОДИМЫХ ЗАВИСИМОСТЕЙ НА СИСТЕМЕ - - apt update - - apt install -y python3 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 - - git branch -r - - git reset --hard - - git clean -fd - - git checkout develop - - pwd - - git add . - - git commit -am "Релиз $VERSION" - - git tag -f "v$VERSION" - echo "GONETS=${GONETS}" - #- git push "https://s.galanskiy:${GONETS}@dev.gossys.dev/s.galanskiy/gonets.git" develop - - echo "https://s.galanskiy:${GONETS}@dev.gossys.dev" > ~/.git-credentials - - git config --global credential.helper store - - git push https://dev.gossys.dev/s.galanskiy/gonets.git develop - - git push -f https://${GONETS}@dev.gossys.dev/s.galanskiy/gonets.git "v$VERSION" - - release-upload: - image: curlimages/curl:latest - environment: - GONETS: - from_secret: GONETS - commands: - - VERSION=$(dpkg-parsechangelog -l./debian/changelog --show-field Version) - - TAG="v$VERSION" - - DEB_PATH="../gonets_${VERSION}_amd64.deb" - - | - curl -s -X POST "https://dev.gossys.dev/api/v1/repos/s.galanskiy/gonets/releases" \ - -H "Authorization: token ${FORGEJO_TOKEN}" \ - -H "Content-Type: application/json" \ - -d '{ - "tag_name": "'$TAG'", - "name": "Релиз '$TAG'", - "body": "Сборка .deb пакета для версии '$TAG'", - "draft": false, - "prerelease": true - }' || true - - | - curl -s -X POST \ - -H "Authorization: token ${GONETS}" \ - -F "attachment=@$DEB_PATH" \ - "https://dev.gossys.dev/api/v1/repos/s.galanskiy/gonets/releases/$TAG/assets"