--- kind: pipeline type: docker name: EQEmulator Server Linux CI # Limits how many of these builds can run on the drone runner at a time, this isn't about cores concurrency: limit: 1 volumes: - name: cache host: path: /var/lib/cache-debug steps: - name: server-build # Source build script https://github.com/Akkadius/akk-stack/blob/master/containers/eqemu-server/Dockerfile#L20 image: akkadius/eqemu-server:v11 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 volumes: - name: cache path: /home/eqemu/.ccache/ # remove this when merge trigger: branch: - noop event: - push --- kind: pipeline type: docker 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: limit: 1 volumes: - name: cache host: path: /var/lib/cache-release steps: - 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: - ./utils/scripts/build/linux-build.sh volumes: - name: cache path: /home/eqemu/.ccache/ trigger: branch: - akkadius/build-test event: - push --- kind: pipeline type: exec name: Build Windows 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 trigger: branch: - akkadius/build-test event: - push --- 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" depends_on: - Build Windows - Build Linux trigger: branch: - akkadius/build-test event: - push