name: Build AeThex Engine on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: jobs: build-windows: runs-on: windows-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install SCons run: pip install scons - name: Setup MSVC uses: microsoft/setup-msbuild@v2 - name: Build AeThex Engine (Windows) run: | cd engine scons platform=windows target=editor -j2 - name: Upload Windows Build uses: actions/upload-artifact@v4 with: name: aethex-windows-editor path: engine/bin/aethex.windows.editor.x86_64.exe build-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y build-essential scons pkg-config \ libx11-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev \ libglu-dev libasound2-dev libpulse-dev libudev-dev \ libxi-dev libxrandr-dev yasm - name: Build AeThex Engine (Linux) run: | cd engine scons platform=linuxbsd target=editor -j2 - name: Upload Linux Build uses: actions/upload-artifact@v4 with: name: aethex-linux-editor path: engine/bin/godot.linuxbsd.editor.x86_64 build-macos: runs-on: macos-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install SCons run: pip install scons - name: Build AeThex Engine (macOS) run: | cd engine scons platform=macos target=editor -j2 - name: Upload macOS Build uses: actions/upload-artifact@v4 with: name: aethex-macos-editor path: engine/bin/godot.macos.editor.universal create-release: needs: [build-windows, build-linux, build-macos] runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: - uses: actions/download-artifact@v4 - name: Create Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: | aethex-windows-editor/* aethex-linux-editor/* aethex-macos-editor/*