Files
crosslang/.onedev-buildspec.yml
2025-10-22 15:03:17 -05:00

120 lines
3.5 KiB
YAML

version: 39
jobs:
- name: Build for x86_64
steps:
- !CheckoutStep
name: Checkout
cloneCredential: !DefaultCredential {}
withLfs: true
withSubmodules: false
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !CommandStep
name: Execute build
runInContainer: true
image: onedev.site.tesses.net/tesses-framework/tesses-framework:latest
interpreter: !DefaultInterpreter
commands: |
mkdir build
cd build
cmake -S .. -B . -DCROSSLANG_FETCHCONTENT=OFF
make -j12
make install DESTDIR=../out
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !BuildImageStep
name: Build Docker Image
dockerfile: Dockerfile.run
output: !RegistryOutput
tags: onedev.site.tesses.net/crosslang/crosslang:latest
registryLogins:
- registryUrl: '@server_url@'
userName: '@job_token@'
passwordSecret: dockersecret
platforms: linux/amd64
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !CommandStep
name: Wii Build
runInContainer: true
image: onedev.site.tesses.net/dependencies/wiidev:latest
interpreter: !DefaultInterpreter
commands: |
cd Packaging/CPKG
bash wiibuild.sh
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !CommandStep
name: Build and Publish Deb Package (Plucky)
runInContainer: true
image: onedev.site.tesses.net/dependencies/debbuilder/plucky:latest
interpreter: !DefaultInterpreter
commands: |
mkdir artifacts
apt update -y
apt install -y pkg-config git gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686 nsis
cd Packaging/Linux
bash build-ubuntu-plucky.sh
bash push-ubuntu-plucky.sh
cd ../CPKG
bash winbuild.sh
cd ../Windows
bash build.sh
envVars:
- name: GITEA_AUTH
value: '@secret:GITEA_AUTH@'
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !CommandStep
name: Build and Publish Deb Package
runInContainer: true
image: onedev.site.tesses.net/dependencies/debbuilder/jammy:latest
interpreter: !DefaultInterpreter
commands: |
apt update -y
apt install -y pkg-config git
cd Packaging/Linux
bash build-ubuntu-jammy.sh
bash push-ubuntu-jammy.sh
bash build-tars.sh
apt update -y
apt install -y crosslang
cd ../CPKG
bash pack_and_publish.sh
envVars:
- name: GITEA_AUTH
value: '@secret:GITEA_AUTH@'
- name: CPKG_KEY
value: '@secret:CPKG_KEY@'
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !SCPCommandStep
name: Copy Files
privateKeySecret: TRUENAS_SSH
source: artifacts
target: mike@@10.137.42.30:/mnt/storage24tb/Files/Public/CrossLang/@build_number@
options: -r
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !SSHCommandStep
name: Link latest
remoteMachine: 10.137.42.30
userName: mike
privateKeySecret: TRUENAS_SSH
commands: |
cd /mnt/storage24tb/Files/Public/CrossLang
ln -s @build_number@ latest
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
triggers:
- !DependencyFinishedTrigger
projects: tesses-framework
- !BranchUpdateTrigger
branches: master
projects: crosslang
projectDependencies:
- projectPath: tesses-framework
buildProvider: !LastFinishedBuild
jobName: Build for x86_64
artifacts: '*'
retryCondition: never
maxRetries: 3
retryDelay: 30
timeout: 14400