Files
crosslang/.onedev-buildspec.yml
2025-09-05 11:36:02 -05:00

101 lines
3.2 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: Build Tar
runInContainer: true
image: onedev.site.tesses.net/dependencies/build:latest
interpreter: !DefaultInterpreter
commands: |
mkdir build2
cd build2
cmake -S .. -B . -DTESSESFRAMEWORK_ENABLE_SHARED=ON -DTESSESFRAMEWORK_ENABLE_STATIC=OFF -DTESSESFRAMEWORK_FETCHCONTENT=ON
make -j12
make install DESTDIR=../crosslang
cd ..
tar cvzf crosslang-x86_64.tar.gz crosslang
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !PublishArtifactStep
name: Publish CrossLang Artifact
artifacts: crosslang-x86_64.tar.gz
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 tessesframework libffi-dev pkg-config tessesframework:arm64 tessesframework:armhf tessesframework:riscv64
cd Packaging/Linux
bash build-ubuntu-jammy.sh
bash push-ubuntu-jammy.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/plucky:latest
interpreter: !DefaultInterpreter
commands: |
apt update -y
apt install -y tessesframework libffi-dev pkg-config tessesframework:arm64 tessesframework:armhf tessesframework:riscv64 tessesframework:i386
cd Packaging/Linux
bash build-ubuntu-plucky.sh
bash push-ubuntu-plucky.sh
envVars:
- name: GITEA_AUTH
value: '@secret:GITEA_AUTH@'
useTTY: true
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