forgejo-ci: initial #1
4 changed files with 179 additions and 2 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: Fetching sources
|
||||||
|
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
|
||||||
|
|
||||||
|
|
61
.forgejo/workflows/test-build.yaml
Normal file
61
.forgejo/workflows/test-build.yaml
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [ assigned, opened, synchronize, reopened ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-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: Fetching sources
|
||||||
|
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
|
||||||
|
|
||||||
|
|
34
core_v8-no-enum-constexrp-conversion.patch
Normal file
34
core_v8-no-enum-constexrp-conversion.patch
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
diff --git a/core/Common/3dParty/v8/tools/no-enum-constexrp-conversion.patch b/core/Common/3dParty/v8/tools/no-enum-constexrp-conversion.patch
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..5a1a8067a6
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/core/Common/3dParty/v8/tools/no-enum-constexrp-conversion.patch
|
||||||
|
@@ -0,0 +1,14 @@
|
||||||
|
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||||
|
+index 5ea2f213..29fa7742 100644
|
||||||
|
+--- a/build/config/compiler/BUILD.gn
|
||||||
|
++++ b/build/config/compiler/BUILD.gn
|
||||||
|
+@@ -1548,6 +1548,9 @@ config("default_warnings") {
|
||||||
|
+ # TODO(https://crbug.com/989932): Evaluate and possibly enable.
|
||||||
|
+ "-Wno-implicit-int-float-conversion",
|
||||||
|
+
|
||||||
|
++ "-Wno-enum-constexpr-conversion",
|
||||||
|
++
|
||||||
|
++
|
||||||
|
+ # TODO(https://crbug.com/999886): Clean up, enable.
|
||||||
|
+ "-Wno-final-dtor-non-final-class",
|
||||||
|
+
|
||||||
|
diff --git a/build_tools/scripts/core_common/modules/v8_89.py b/core/build_tools/core_common/modules/v8_89.py
|
||||||
|
index 9643263..35ee1fe 100644
|
||||||
|
--- a/build_tools/scripts/core_common/modules/v8_89.py
|
||||||
|
+++ b/build_tools/scripts/core_common/modules/v8_89.py
|
||||||
|
@@ -150,6 +150,8 @@ def make():
|
||||||
|
"use_custom_libcxx=false",
|
||||||
|
"treat_warnings_as_errors=false"]
|
||||||
|
|
||||||
|
+ base.cmd("patch", ["-p1", "-i", "../../v8/tools/no-enum-constexrp-conversion.patch"])
|
||||||
|
+
|
||||||
|
if config.check_option("platform", "linux_64"):
|
||||||
|
base.cmd2("gn", ["gen", "out.gn/linux_64", make_args(gn_args, "linux")])
|
||||||
|
base.cmd("ninja", ["-C", "out.gn/linux_64"])
|
||||||
|
|
|
@ -57,7 +57,7 @@ diff --git a/DocService/sources/server.js b/DocService/sources/server.js
|
||||||
index 76303af9..9d2e6888 100644
|
index 76303af9..9d2e6888 100644
|
||||||
--- a/DocService/sources/server.js
|
--- a/DocService/sources/server.js
|
||||||
+++ b/DocService/sources/server.js
|
+++ b/DocService/sources/server.js
|
||||||
@@ -109,7 +109,7 @@ if (!(cfgTokenEnableBrowser && cfgTokenEnableRequestInbox && cfgTokenEnableReque
|
@@ -129,7 +129,7 @@ if (!(cfgTokenEnableBrowser && cfgTokenEnableRequestInbox && cfgTokenEnableReque
|
||||||
}
|
}
|
||||||
|
|
||||||
updateLicense();
|
updateLicense();
|
||||||
|
@ -65,7 +65,8 @@ index 76303af9..9d2e6888 100644
|
||||||
+// fs.watchFile(cfgLicenseFile, updateLicense);
|
+// fs.watchFile(cfgLicenseFile, updateLicense);
|
||||||
setInterval(updateLicense, 86400000);
|
setInterval(updateLicense, 86400000);
|
||||||
|
|
||||||
if (config.has('services.CoAuthoring.server.static_content')) {
|
try {
|
||||||
|
|
||||||
diff --git a/FileConverter/sources/convertermaster.js b/FileConverter/sources/convertermaster.js
|
diff --git a/FileConverter/sources/convertermaster.js b/FileConverter/sources/convertermaster.js
|
||||||
index 46615032..6ce2d3e6 100644
|
index 46615032..6ce2d3e6 100644
|
||||||
--- a/FileConverter/sources/convertermaster.js
|
--- a/FileConverter/sources/convertermaster.js
|
||||||
|
|
Loading…
Add table
Reference in a new issue