name: Export description: exports inputs: platform: description: The platform (web, linux, mac, android) required: true extension: description: File extension (x86_64, exe, etc) required: true debug: description: Debug build or no (empty string = debug) required: false default: "false" name: description: The name ($name.exe) # defaults to $NAME required: false runs: using: composite steps: - name: Setup uses: bend-n/godot-actions/.github/actions/setup-godot@main - name: Get export name id: n uses: bend-n/godot-actions/.github/actions/get-export-name@main with: platform: ${{ inputs.platform }} - name: Build run: | if [[ -f .github/pre_export ]]; then echo "::group::Run pre export script" chmod +x .github/pre_export ./.github/pre_export ${{ inputs.platform }} echo "::endgroup::" fi cd "$PROJECT_PATH" p="${{ inputs.platform }}" echo "::group::${p^} Build" export="--export" [[ ${GODOT_VERSION:0:1} -gt 3 ]] && export="--export-release" [[ -z $debug ]] && export="--export-debug" mkdir -vp build/${{ inputs.platform }} n="${{ env.NAME }}" [[ -n "${{ inputs.name }}" ]] && n="${{ inputs.name }}" timeout 30m godot -v --headless "$export" "${{ steps.n.outputs.export-name }}" "./build/${{ inputs.platform }}/$n.${{ inputs.extension }}" echo "::endgroup::" if [[ -f .github/post_export ]]; then echo "::group::Run post export script" chmod +x .github/post_export ./.github/post_export ${{ inputs.platform }} echo "::endgroup::" fi shell: bash - uses: actions/upload-artifact@v4 with: name: ${{ inputs.platform }} path: ${{ env.PROJECT_PATH }}/build/${{ inputs.platform }} if-no-files-found: error