diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml deleted file mode 100644 index 14838a4..0000000 --- a/.forgejo/workflows/release.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Gonets Release Debian Packaging - -on: - push: - branches: - - develop - workflow_dispatch: - -jobs: - build-and-release: - runs-on: debian-latest - steps: - - name: Checkout main - uses: actions/checkout@v4 - with: - fetch-depth: 0 - ref: main - - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y python3 python3-pip python3-poetry nodejs npm debhelper devscripts build-essential fakeroot dh-make dpkg-dev - - - name: Prepare python dependencies - run: | - cd SRV - rm requirements.txt - poetry export -f requirements.txt --output requirements.txt --without-hashes - - - name: Build backend - run: | - cd SRV - poetry install - - - name: Build frontend - run: | - cd FRONT/DEV - npm install - npm run package - cd FRONT/DEV/dist/gonets-linux-x64/resources/app - npm run build - sed -i 's/href="\/assets\//href=".\/assets\//g' FRONT/DEV/dist/gonets-linux-x64/resources/app/dist/index.html - sed -i 's/src="\/assets\//src=".\/assets\//g' FRONT/DEV/dist/gonets-linux-x64/resources/app/dist/index.html - rm -rf FRONT/BUILD/* - cp -r FRONT/DEV/dist/gonets-linux-x64/* FRONT/BUILD/ - rm -rf FRONT/DEV - - - name: Preparing build debian package - run: | - DEBEMAIL="devteam@gossys.dev" DEBFULLNAME="GOSSYS LLC" dh_make --createorig - cd debian/ - rm *.ex - rm README.* - - - name: Clone debian configuration - run: | - git clone https://s.galanskiy:${{e5eaa40af9805f83a05ef70a0c946c03e1688633.GONETS}}@dev.gossys.dev/s.galanskiy/gonets-debian-template.git - mv gonets-debian-template/changelog gonets/debian/ - mv gonets-debian-template/control gonets/debian/ - mv gonets-debian-template/copyright gonets/debian/ - mv gonets-debian-template/install gonets/debian/ - mv gonets-debian-template/postinst gonets/debian/ - mv gonets-debian-template/postrm gonets/debian/ - mv gonets-debian-template/rules gonets/debian/ - - - name: Build package - run: | - dpkg-buildpackage -us -uc -b - - - name: Get version from changelog - run: | - dpkg-parsechangelog -l./debian/changelog --show-field VERSION - echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - - - name: Commit changes to develop - run: | - git config user.name "s.galanskiy" - git config user.email "s.galanskiy@gossys.dev" - git checkout develop - git commit -m "Релиз $VERSION" - git tag "v$VERSION" - git push origin develop - git push origin "v$VERSION" - env: - VERSION: ${{ env.VERSION }} \ No newline at end of file diff --git a/.woodpecker/release.yml b/.woodpecker/release.yml new file mode 100644 index 0000000..999a641 --- /dev/null +++ b/.woodpecker/release.yml @@ -0,0 +1,91 @@ +environment: + GIT_AUTHOR_NAME: s.galanskiy + GIT_AUTHOR_EMAIL: s.galanskiy@gossys.dev + GIT_COMMITTER_NAME: s.galanskiy + GIT_COMMITTER_EMAIL: s.galanskiy@gossys.dev + +pipeline: + checkout: + image: woodpeckerci/plugin-git-checkout:latest + settings: + depth: 0 + ref: main + + install_deps: + image: debian:latest + commands: + - apt update + - apt install -y python3 python3-pip python3-poetry nodejs npm debhelper devscripts build-essential fakeroot dh-make dpkg-dev + + prepare_python_deps: + image: debian:latest + commands: + - cd SRV + - rm -f requirements.txt + - poetry export -f requirements.txt --output requirements.txt --without-hashes + + build_backend: + image: debian:latest + commands: + - cd SRV + - poetry install + + build_frontend: + image: debian:latest + commands: + - cd FRONT/DEV + - npm install + - npm run package + - cd dist/gonets-linux-x64/resources/app + - 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 ../../../.. + - rm -rf FRONT/BUILD/* + - cp -r dist/gonets-linux-x64/* ../../BUILD/ + - cd ../.. + - rm -rf DEV + + prepare_debian: + image: debian:latest + commands: + - DEBEMAIL="devteam@gossys.dev" DEBFULLNAME="GOSSYS LLC" dh_make --createorig + - cd debian/ + - rm -f *.ex + - rm -f README.* + + clone_debian_config: + image: debian:latest + secrets: [ GONETS ] + commands: + - git clone https://s.galanskiy:${GONETS}@dev.gossys.dev/s.galanskiy/gonets-debian-template.git + - mv gonets-debian-template/changelog gonets/debian/ + - mv gonets-debian-template/control gonets/debian/ + - mv gonets-debian-template/copyright gonets/debian/ + - mv gonets-debian-template/install gonets/debian/ + - mv gonets-debian-template/postinst gonets/debian/ + - mv gonets-debian-template/postrm gonets/debian/ + - mv gonets-debian-template/rules gonets/debian/ + + build_package: + image: debian:latest + commands: + - dpkg-buildpackage -us -uc -b + + get_version: + image: debian:latest + commands: + - VERSION=$(dpkg-parsechangelog -l./debian/changelog --show-field VERSION) + - echo "VERSION=$VERSION" > version.env + + commit_changes: + image: debian:latest + commands: + - source version.env + - git config user.name "$GIT_AUTHOR_NAME" + - git config user.email "$GIT_AUTHOR_EMAIL" + - git checkout develop + - git commit -am "Релиз $VERSION" + - git tag "v$VERSION" + - git push origin develop + - git push origin "v$VERSION"