version: 46 jobs: - name: Push to Gitea steps: - type: PushRepository name: Push to Gitea remoteUrl: https://gitea.anfer.fr/anfer/OpenEngine passwordSecret: Gitea force: false condition: SUCCESSFUL optional: false jobExecutor: terra-executor triggers: - type: BranchUpdateTrigger branches: main userMatch: anyone projects: OpenEngine - type: TagCreateTrigger branches: main projects: OpenEngine retryCondition: never maxRetries: 3 retryDelay: 30 timeout: 14400 - name: Compile for Linux steps: - type: SetupCacheStep name: conan-cache key: conan-cache-@file:conanfile.py@ paths: - /root/.conan2 uploadStrategy: UPLOAD_IF_CHANGED changeDetectionExcludes: /root/.conan2/p/*/dl /root/.conan2/logs condition: SUCCESSFUL optional: true - type: CheckoutStep name: Checkout cloneCredential: type: DefaultCredential withLfs: false withSubmodules: false condition: SUCCESSFUL optional: false - type: CommandStep name: Compile for Linux runInContainer: true image: erriss/erris-build_tools:V0.7 interpreter: type: DefaultInterpreter commands: | #git clone --depth 1 https://github.com/dotnet/runtime.git #cd runtime #./build.sh -c Release -subset host #cp artifacts/bin/native/net10.0-linux-Release-x64/nethost/libnethost.a /onedev-build/workspace/lib/ git submodule update --init --recursive conan profile detect --force conan install . -c tools.system.package_manager:mode=install --output-folder=build --build=missing -s build_type=${BUILD_TYPE} cmake -S . -G Ninja -B build -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake echo ====== Building ============================= cmake --build build --config ${BUILD_TYPE} envVars: - name: BUILD_TYPE value: Debug - name: CC value: clang - name: CXX value: clang++ useTTY: true condition: SUCCESSFUL optional: false - type: PublishArtifactStep name: Get build artifacts sourcePath: build artifacts: editor/* open_engine/* condition: SUCCESSFUL optional: false jobExecutor: luna-executor triggers: - type: BranchUpdateTrigger branches: main userMatch: anyone projects: OpenEngine retryCondition: never maxRetries: 3 retryDelay: 30 timeout: 14400 - name: Release to Gitea steps: - type: CommandStep name: Release to Gitea runInContainer: true image: erriss/erris-build-tools:V0.7 interpreter: type: DefaultInterpreter commands: | # 1. Create the Release metadata RELEASE_JSON=$(printf '{"tag_name":"v1.0.%s","target_commitish":"main","name":"Release v1.0.%s","body":"Automated build from OneDev","draft":false,"prerelease":false}' "$ONEDEV_BUILD_NUMBER" "$ONEDEV_BUILD_NUMBER") curl -X 'POST' \ "https://gitea.anfer.fr/api/v1/repos/owner/repo/releases" \ -H "Authorization: token @secret:Gitea@" \ -H "Content-Type: application/json" \ -d "$RELEASE_JSON" > release_info.json # 2. Extract the Release ID (using jq) RELEASE_ID=$(jq '.id' release_info.json) # 3. Upload your binary (oe_editor) curl -X 'POST' \ "https://gitea.anfer.fr/api/v1/repos/owner/repo/releases/$RELEASE_ID/assets?name=oe_editor" \ -H "Authorization: token @secret:Gitea@" \ -H "Content-Type: application/octet-stream" \ --data-binary editor/oe_editor envVars: - name: ONEDEV_BUILD_NUMBER value: '1' useTTY: true condition: SUCCESSFUL optional: false jobExecutor: terra-executor jobDependencies: - jobName: Compile for Linux requireSuccessful: true artifacts: '**' retryCondition: never maxRetries: 3 retryDelay: 30 timeout: 14400