Compare commits

2 Commits

Author SHA1 Message Date
02ea7c04ec foobar 2025-10-01 20:39:01 +04:00
a53ac0944d runs-on: ["ubuntu-latest"] 2025-10-01 20:29:06 +04:00

View File

@@ -42,9 +42,9 @@ on:
default: '' default: ''
type: string type: string
build_type: build_type:
description: 'Build type' description: 'Build type release/debug'
required: true required: true
default: 'release' default: 'debug'
type: debug type: debug
options: options:
- release - release
@@ -109,7 +109,7 @@ jobs:
# Preparation job - determines build configuration # Preparation job - determines build configuration
prepare: prepare:
name: Prepare Build name: Prepare Build
runs-on: ${{ env.RUNNER_OS }} runs-on: ubuntu-latest
outputs: outputs:
platforms: ${{ steps.config.outputs.platforms }} platforms: ${{ steps.config.outputs.platforms }}
build_type: ${{ steps.config.outputs.build_type }} build_type: ${{ steps.config.outputs.build_type }}
@@ -147,8 +147,17 @@ jobs:
echo "🔧 Using custom Android API level: ${{ github.event.inputs.android_api_level }}" echo "🔧 Using custom Android API level: ${{ github.event.inputs.android_api_level }}"
fi fi
# Determine platforms to build # Determine build type first - tags always use release
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then if [[ "${{ github.ref_type }}" == "tag" ]]; then
# Tag build - always release mode
build_type="release"
platforms="windows,linux,macos,android"
user_version=""
elif [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
# Manual dispatch - use user inputs
build_type="${{ github.event.inputs.build_type }}"
user_version="${{ github.event.inputs.version }}"
# Build platforms array from individual checkboxes # Build platforms array from individual checkboxes
platforms="" platforms=""
if [[ "${{ github.event.inputs.build_windows }}" == "true" ]]; then if [[ "${{ github.event.inputs.build_windows }}" == "true" ]]; then
@@ -165,11 +174,8 @@ jobs:
fi fi
# Remove trailing comma # Remove trailing comma
platforms="${platforms%,}" platforms="${platforms%,}"
build_type="${{ github.event.inputs.build_type }}"
user_version="${{ github.event.inputs.version }}"
else else
# Tag-triggered build - build all platforms # Other triggers - build all platforms in release mode
platforms="windows,linux,macos,android" platforms="windows,linux,macos,android"
build_type="release" build_type="release"
user_version="" user_version=""
@@ -224,7 +230,7 @@ jobs:
# Setup export templates (shared across all platform builds) # Setup export templates (shared across all platform builds)
setup-templates: setup-templates:
name: Setup Export Templates name: Setup Export Templates
runs-on: ${{ env.RUNNER_OS }} runs-on: ubuntu-latest
needs: prepare needs: prepare
steps: steps:
@@ -263,7 +269,7 @@ jobs:
# Windows build job # Windows build job
build-windows: build-windows:
name: Build Windows name: Build Windows
runs-on: ${{ env.RUNNER_OS }} runs-on: ubuntu-latest
needs: [prepare, setup-templates] needs: [prepare, setup-templates]
if: contains(needs.prepare.outputs.platforms, 'windows') if: contains(needs.prepare.outputs.platforms, 'windows')
@@ -320,7 +326,7 @@ jobs:
# Linux build job # Linux build job
build-linux: build-linux:
name: Build Linux name: Build Linux
runs-on: ${{ env.RUNNER_OS }} runs-on: ubuntu-latest
needs: [prepare, setup-templates] needs: [prepare, setup-templates]
if: contains(needs.prepare.outputs.platforms, 'linux') if: contains(needs.prepare.outputs.platforms, 'linux')
@@ -380,7 +386,7 @@ jobs:
# macOS build job # macOS build job
build-macos: build-macos:
name: Build macOS name: Build macOS
runs-on: ${{ env.RUNNER_OS }} runs-on: ubuntu-latest
needs: [prepare, setup-templates] needs: [prepare, setup-templates]
if: contains(needs.prepare.outputs.platforms, 'macos') if: contains(needs.prepare.outputs.platforms, 'macos')
@@ -437,7 +443,7 @@ jobs:
# Android build job # Android build job
build-android: build-android:
name: Build Android name: Build Android
runs-on: ${{ env.RUNNER_OS }} runs-on: ubuntu-latest
needs: [prepare, setup-templates] needs: [prepare, setup-templates]
if: contains(needs.prepare.outputs.platforms, 'android') if: contains(needs.prepare.outputs.platforms, 'android')
@@ -576,7 +582,7 @@ jobs:
# Summary job - creates release summary # Summary job - creates release summary
summary: summary:
name: Build Summary name: Build Summary
runs-on: ${{ env.RUNNER_OS }} runs-on: ubuntu-latest
needs: [prepare, setup-templates, build-windows, build-linux, build-macos, build-android] needs: [prepare, setup-templates, build-windows, build-linux, build-macos, build-android]
if: always() if: always()