VPhysics-Jolt/.drone.yml

78 lines
1.9 KiB
YAML

kind: pipeline
type: docker
name: Build and Push Windows Binaries
# This build script is used internally
# to provide GMod builds as those cannot be provided
# using any publicly available SDKs.
clone:
# Use our own cloning so we can grab both the
# src and game repos, submodules, depth etc.
disable: true
environment:
GIT_LFS_SKIP_SMUDGE: 1
WINEDEBUG: -all
WINEESYNC: 1
WINEFSYNC: 1
steps:
- name: Clone VitaminSource Code
image: alpine/git
commands:
- git clone --depth 1 --recursive https://git.froggi.es/joshua/MiniVitaminSource src
- git -C src checkout main
- name: Clone VPhysics Jolt
image: alpine/git
commands:
- cd src
- git clone --depth 1 --recursive https://git.froggi.es/joshua/vphysics_jolt vphysics_jolt
- git -C vphysics_jolt checkout $DRONE_COMMIT
depends_on:
- Clone VitaminSource Code
- name: Clone Builds
image: alpine/git
commands:
- git clone --depth 1 --recursive https://git.froggi.es/joshua/vphysics_jolt_gmod_builds game
- git -C game checkout $DRONE_BRANCH
- name: Build for Windows
pull: never
image: registry.froggi.es/joshua/msvc-wine
commands:
- cd src
- wine create_jolt_static.bat
- wine build_auto_jolt.bat
depends_on:
- Clone VitaminSource Code
- Clone VPhysics Jolt
- name: Build for Linux
pull: never
image: registry.froggi.es/joshua/debian11-vitamin
commands:
- cd src
- ./create_jolt_static_projects.sh
- make -f jolt.mak -j 8
depends_on:
- Clone VitaminSource Code
- Clone VPhysics Jolt
- name: Push Builds
image: alpine/git
commands:
- cd game
- cp bin/linux64/vphysics.so bin/linux64/vphysics_client.so
- cp bin/linux64/vphysics.so.dbg bin/linux64/vphysics_client.so.dbg
- git add .
- git commit -m "Update binaries as of $DRONE_COMMIT" || true
- git pull --rebase
- git push
depends_on:
- Build for Windows
- Build for Linux
- Clone Builds