mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 00:46:46 +00:00
[CI/CD] Build / Release Pipeline Changes (#2788)
* Test * Test * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * Kill excessive warnings * Split * Remove 7z from build scripts * Linux * Update .drone.yml * Update .drone.yml * Update .drone.yml * Update .drone.yml * Test * Update .drone.yml * Naming * Test upload * Update .drone.yml * Update .drone.yml * Update .drone.yml * Yolo * Yolo * Update .drone.yml * Update .drone.yml * Copy * Yolo * Release without bots * Update .drone.yml * Update .drone.yml * Test pipeline * Remove debug * Update .drone.yml * Filter pipeline stage * Update .drone.yml * Test * Bots release 22.0.5 (Test) * Release bot test #2 * Check if release * Update .drone.yml * Update .drone.yml * exit 78 * Update .drone.yml * Update .drone.yml * Add version checks * Update .drone.yml * Update .drone.yml * Test * Update build-release.bat * Update .drone.yml * Update .drone.yml * Update .drone.yml * Update build-release.bat * Update build-release.bat * Test pipeline * Update CHANGELOG.md * Bump * Update build-release.bat * Update build-release.bat * Shuffle * Take #45354 * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * F * Update windows-build.ps1 * Consolidate * Run it * Pop cache back in * Update linux-build.sh * Another release test * Update linux-build.sh * Update linux-build.sh * Update CMakeLists.txt * Trim windows assets * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * [22.1.0] Release * Crash reporting * Add version tag injection in the build pipeline * Update windows-build.ps1 * Test * Test * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * Kill excessive warnings * Split * Remove 7z from build scripts * Linux * Update .drone.yml * Update .drone.yml * Update .drone.yml * Update .drone.yml * Test * Update .drone.yml * Naming * Test upload * Update .drone.yml * Update .drone.yml * Update .drone.yml * Yolo * Yolo * Update .drone.yml * Update .drone.yml * Copy * Yolo * Release without bots * Update .drone.yml * Update .drone.yml * Test pipeline * Remove debug * Update .drone.yml * Filter pipeline stage * Update .drone.yml * Test * Bots release 22.0.5 (Test) * Release bot test #2 * Check if release * Update .drone.yml * Update .drone.yml * exit 78 * Update .drone.yml * Update .drone.yml * Add version checks * Update .drone.yml * Update .drone.yml * Test * Update build-release.bat * Update .drone.yml * Update .drone.yml * Update .drone.yml * Update build-release.bat * Update build-release.bat * Test pipeline * Update CHANGELOG.md * Bump * Update build-release.bat * Update build-release.bat * Shuffle * Take #45354 * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * F * Update windows-build.ps1 * Consolidate * Run it * Pop cache back in * Update linux-build.sh * Another release test * Update linux-build.sh * Update linux-build.sh * Update CMakeLists.txt * Trim windows assets * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * Update windows-build.ps1 * [22.1.0] Release * Crash reporting * Add version tag injection in the build pipeline * Update windows-build.ps1 * Full crash report on windows. * Update endpoint * [22.1.1] Release * [skip ci] update .drone.yml * Filter * Update .drone.yml * Update .drone.yml * Update .drone.yml * Update .drone.yml * Update .drone.yml * Update CHANGELOG.md Co-authored-by: KimLS <KimLS@peqtgc.com>
This commit is contained in:
+86
-9
@@ -1,7 +1,11 @@
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: EQEmulator Server Linux CI
|
||||
name: Build Linux
|
||||
|
||||
clone:
|
||||
depth: 1
|
||||
|
||||
# Limits how many of these builds can run on the drone runner at a time, this isn't about cores
|
||||
concurrency:
|
||||
@@ -10,18 +14,91 @@ concurrency:
|
||||
volumes:
|
||||
- name: cache
|
||||
host:
|
||||
path: /var/lib/cache
|
||||
path: /var/lib/cache-release
|
||||
|
||||
steps:
|
||||
- name: server-build
|
||||
# Source build script https://github.com/Akkadius/akk-stack/blob/master/containers/eqemu-server/Dockerfile#L20
|
||||
- name: Build Linux X64
|
||||
image: akkadius/eqemu-server:v11
|
||||
environment:
|
||||
GITHUB_TOKEN:
|
||||
from_secret: GH_RELEASE_GITHUB_API_TOKEN
|
||||
RCLONE_CONFIG_REMOTE_TYPE: ftp
|
||||
RCLONE_FTP_HOST: drone.akkadius.com
|
||||
RCLONE_FTP_USER: artifacts
|
||||
RCLONE_FTP_PASS:
|
||||
from_secret: RCLONE_FTP_PASS
|
||||
commands:
|
||||
- sudo chown eqemu:eqemu /drone/src/ * -R
|
||||
- sudo chown eqemu:eqemu /home/eqemu/.ccache/ * -R
|
||||
- git submodule init && git submodule update && mkdir -p build && cd build && cmake -DEQEMU_BUILD_TESTS=ON -DEQEMU_BUILD_LOGIN=ON -DEQEMU_BUILD_LUA=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-O0 -g -DNDEBUG" -G 'Unix Makefiles' .. && make -j$((`nproc`-4))
|
||||
- curl https://raw.githubusercontent.com/Akkadius/eqemu-install-v2/master/eqemu_config.json --output eqemu_config.json
|
||||
- ./bin/tests
|
||||
- ./utils/scripts/build/linux-build.sh
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /home/eqemu/.ccache/
|
||||
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
type: exec
|
||||
name: Build Windows
|
||||
|
||||
# Limits how many of these builds can run on the drone runner at a time, this isn't about cores
|
||||
concurrency:
|
||||
limit: 1
|
||||
|
||||
clone:
|
||||
depth: 1
|
||||
|
||||
platform:
|
||||
os: windows
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: Build Windows X64
|
||||
environment:
|
||||
RCLONE_CONFIG_REMOTE_TYPE: ftp
|
||||
RCLONE_FTP_HOST: drone.akkadius.com
|
||||
RCLONE_FTP_USER: artifacts
|
||||
RCLONE_FTP_PASS:
|
||||
from_secret: RCLONE_FTP_PASS
|
||||
GITHUB_TOKEN:
|
||||
from_secret: GH_RELEASE_GITHUB_API_TOKEN
|
||||
commands:
|
||||
- .\utils\scripts\build\windows-build.ps1
|
||||
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: Publish Artifacts to Github
|
||||
|
||||
steps:
|
||||
- name: Upload Artifacts
|
||||
image: akkadius/eqemu-build-releaser:v3
|
||||
environment:
|
||||
RCLONE_CONFIG_REMOTE_TYPE: ftp
|
||||
RCLONE_FTP_HOST: drone.akkadius.com
|
||||
RCLONE_FTP_USER: artifacts
|
||||
RCLONE_FTP_PASS:
|
||||
from_secret: RCLONE_FTP_PASS
|
||||
GH_RELEASE_GITHUB_API_TOKEN:
|
||||
from_secret: GH_RELEASE_GITHUB_API_TOKEN
|
||||
GITHUB_TOKEN:
|
||||
from_secret: GH_RELEASE_GITHUB_API_TOKEN
|
||||
commands:
|
||||
- ./utils/scripts/build/should-release/should-release
|
||||
- rclone config create remote ftp env_auth true > /dev/null
|
||||
- |
|
||||
rclone copy remote: --include "eqemu-server*.zip" .
|
||||
- gh-release --assets=eqemu-server-linux-x64.zip,eqemu-server-windows-x64.zip -y
|
||||
- |
|
||||
rclone delete remote: --include "eqemu-server*.zip"
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
|
||||
depends_on:
|
||||
- Build Windows
|
||||
- Build Linux
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user