mirror of
https://onedev.site.tesses.net/crosslang
synced 2026-02-08 09:05:46 +00:00
120 lines
3.5 KiB
YAML
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
|