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