add release-build for deployment
This commit is contained in:
parent
812c4710f8
commit
31accc20ef
2 changed files with 82 additions and 1 deletions
81
.forgejo/workflows/release-build.yaml
Normal file
81
.forgejo/workflows/release-build.yaml
Normal file
|
@ -0,0 +1,81 @@
|
|||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
release-build:
|
||||
runs-on: x86_64
|
||||
container:
|
||||
image: ubuntu:22.04
|
||||
env:
|
||||
pkgver: 8.1.1
|
||||
buildno: 39
|
||||
qtver: 5.15.3
|
||||
steps:
|
||||
- name: Environment setup
|
||||
run: |
|
||||
cat /etc/os-release
|
||||
apt-get update
|
||||
apt-get install -y git make g++ bzip2 sudo patch python2 curl lsb-release p7zip-full qtbase5-dev debhelper
|
||||
curl -sL https://deb.nodesource.com/setup_16.x | bash -
|
||||
apt-get install -y nodejs
|
||||
npm install -g pkg grunt grunt-cli
|
||||
- name: Getting patches
|
||||
uses: actions/checkout@v4
|
||||
- name: Cloning source
|
||||
run: |
|
||||
git clone https://github.com/ONLYOFFICE/DocumentServer --recursive -b v$pkgver build
|
||||
git clone https://github.com/ONLYOFFICE/build_tools.git -b v$pkgver.$buildno build/build_tools
|
||||
git clone https://github.com/ONLYOFFICE/document-server-integration -b v$pkgver.$buildno build/document-server-integration
|
||||
git clone https://github.com/ONLYOFFICE/document-templates -b v$pkgver.$buildno build/document-templates
|
||||
git clone https://github.com/ONLYOFFICE/onlyoffice.github.io build/onlyoffice.github.io
|
||||
git clone https://github.com/ONLYOFFICE/document-server-package.git -b v$pkgver.$buildno build/document-server-package
|
||||
- name: Applying patches
|
||||
run: |
|
||||
git -C build/server apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/server.patch
|
||||
git -C build/web-apps apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/web-apps.patch
|
||||
git -C build apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/core_v8-no-enum-constexrp-conversion.patch
|
||||
- name: Development setup
|
||||
run: |
|
||||
mkdir -p build/build_tools/system_qt-$qtver/gcc_64
|
||||
ln -s /usr/lib/x86_64-linux-gnu build/build_tools/system_qt-$qtver/gcc_64/lib
|
||||
ln -s /usr/lib/x86_64-linux-gnu/qt5/bin build/build_tools/system_qt-$qtver/gcc_64/bin
|
||||
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins build/build_tools/system_qt-$qtver/gcc_64/plugins
|
||||
cd build/build_tools/tools/linux
|
||||
python2 ./deps.py
|
||||
- name: Build server
|
||||
run: |
|
||||
cd build/build_tools
|
||||
python2 ./configure.py --update 0 --module "server" --qt-dir $(pwd)/system_qt-$qtver
|
||||
python2 ./make.py
|
||||
- name: Build package
|
||||
run: |
|
||||
cd build/document-server-package
|
||||
PRODUCT_VERSION=$pkgver BUILD_NUMBER=$buildno make deb
|
||||
- name: Package upload
|
||||
uses: forgejo/upload-artifact@v3
|
||||
with:
|
||||
name: documentserver-deb
|
||||
path: build/document-server-package/deb/onlyoffice-documentserver_*.deb
|
||||
release-deploy:
|
||||
needs: [release-build]
|
||||
runs-on: x86_64
|
||||
container:
|
||||
image: alpine:latest
|
||||
env:
|
||||
CI_RPM_REPO: 'https://ayakael.net/api/packages/forge/'
|
||||
FORGE_REPO_TOKEN: ${{ secrets.FORGE_REPO_TOKEN }}
|
||||
FORGE_REPO_PRIVKEY: ${{ secrets.FORGE_REPO_PRIVKEY }}
|
||||
FORGE_REPO_USER: ${{ vars.FORGE_REPO_USER }}
|
||||
steps:
|
||||
- name: Setting up environment
|
||||
run: apk add nodejs curl findutils git gawk bash
|
||||
- name: Repo pull
|
||||
uses: actions/checkout@v4
|
||||
- name: Package download
|
||||
uses: forgejo/download-artifact@v3
|
||||
- name: Package deployment
|
||||
run: curl --user ${{ vars.FORGE_REPO_USER }}:${{ secrets.FORGE_REPO_PRIVKEY }} --upload-file */onlyoffice-documentserver_*.deb https://forgejo.example.com/api/packages/ilot/debian/pool/jammy/main/upload
|
||||
|
||||
|
|
@ -3,7 +3,7 @@ on:
|
|||
types: [ assigned, opened, synchronize, reopened ]
|
||||
|
||||
jobs:
|
||||
build-test:
|
||||
test-build:
|
||||
runs-on: x86_64
|
||||
container:
|
||||
image: ubuntu:22.04
|
||||
|
|
Loading…
Add table
Reference in a new issue