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 onedev.site.tesses.net/crosslang/crosslang:@commit_hash@ 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 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 ../Windows bash build.sh envVars: - name: GITEA_AUTH value: '@secret:GITEA_AUTH@' - name: BUILD_NO value: '@build_number@' 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 envVars: - name: GITEA_AUTH value: '@secret:GITEA_AUTH@' - name: CPKG_KEY value: '@secret:CPKG_KEY@' - name: BUILD_NO value: '@build_number@' 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 rm -f latest 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