mirror of
https://onedev.site.tesses.net/crosslang
synced 2026-02-08 17:15:45 +00:00
145 lines
4.9 KiB
YAML
145 lines
4.9 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 archlinux
|
|
runInContainer: true
|
|
image: git.tesseslanguage.com/tesses50/arch-builds:2025-11-11
|
|
interpreter: !DefaultInterpreter
|
|
commands: |
|
|
wget -O /root/repository.key wget https://git.tesseslanguage.com/api/packages/tesses50/arch/repository.key
|
|
pacman-key --add /root/repository.key
|
|
pacman-key --config /opt/cross/ppc/pacman.conf --add /root/repository.key
|
|
printf "[tesses50.git.tesseslanguage.com]\nSigLevel = Optional TrustAll\nServer = https://git.tesseslanguage.com/api/packages/tesses50/arch/core/\$arch\n" >> /etc/pacman.conf
|
|
printf "[tesses50.git.tesseslanguage.com]\nSigLevel = Optional TrustAll\nServer = https://git.tesseslanguage.com/api/packages/tesses50/arch/core/\$arch\n" >> /opt/cross/ppc/pacman.conf
|
|
|
|
pacman --noconfirm -Sy mbedtls curl tesses-framework
|
|
pacman --config /opt/cross/ppc/pacman.conf --noconfirm -Sy mbedtls tesses-framework
|
|
cp Packaging/Linux/PKGBUILD /home/build/PKGBUILD
|
|
cp Packaging/Linux/build-arch.sh /home/build/build-arch.sh
|
|
chmod 755 /home/build/build-arch.sh
|
|
chown build:build /home/build/PKGBUILD
|
|
chown build:build /home/build/build-arch.sh
|
|
su build -c /home/build/build-arch.sh
|
|
envVars:
|
|
- name: GITEA_AUTH
|
|
value: '@secret:GITEA_AUTH@'
|
|
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
|