ci/cd
This commit is contained in:
parent
1304960fa3
commit
ed6b634bd6
2 changed files with 91 additions and 85 deletions
|
|
@ -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 }}
|
||||
91
.woodpecker/release.yml
Normal file
91
.woodpecker/release.yml
Normal file
|
|
@ -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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue