diff --git a/action.yml b/action.yml index 1060d9a..f0d7e44 100644 --- a/action.yml +++ b/action.yml @@ -27,6 +27,14 @@ inputs: description: "Cache the build" required: false default: "true" + build-debug: + description: "Retain debug info and show debug console" + required: false + default: "false" + build-ldflags: + description: "Additional ldflags to pass to Go compiler." + required: false + default: "false" build-platform: description: "Platform to build for" required: false @@ -39,6 +47,10 @@ inputs: description: "Obfuscate the build" required: false default: "false" + build-windowsconsole: + description: "Keep the console window for Windows builds" + required: false + default: "false" wails-version: description: "Wails version to use" required: false @@ -139,22 +151,32 @@ runs: DISTRO: ${{ steps.linux_discovery.outputs.DISTRO }} run: | build_options="" + if ${{ inputs.build-debug == 'true' }}; then + build_options+=' -debug' + fi + if [[ "${{ inputs.build-ldflags }}" != "false" ]]; then + ldflags_string="${{ inputs.build-ldflags }}" + build_options+=" -ldflags='$ldflags_string'" + fi if ${{ inputs.build-obfuscate == 'true' }}; then build_options+=' -obfuscated' fi + if ${{ inputs.build-windowsconsole == 'true' }}; then + build_options+=' -windowsconsole' + fi if [[ "${{ inputs.build-tags }}" != "false" ]]; then tags_string="${{ inputs.build-tags }}" if [[ "$DISTRO" == '24.04' ]]; then tags_string+=" webkit2_41" fi - build_options+=" -tags $tags_string" - elif [[ "${{ inputs.build-tags }}" == "false" && "$DISTRO" == '24.04' ]]; then + build_options+=" -tags $tags_string" + elif [[ "${{ inputs.build-tags }}" == "false" && "$DISTRO" == '24.04' ]]; then build_options+=" -tags webkit2_41" fi if ${{ inputs.nsis == 'true' }}; then build_options+=' -nsis' fi - echo "BUILD_OPTIONS=$build_options" >> "$GITHUB_OUTPUT" + echo "build_options=$build_options" >> "$GITHUB_OUTPUT" # Setup and configure GoLang - name: Setup GoLang uses: actions/setup-go@v5 @@ -193,10 +215,8 @@ runs: # Building step - name: Build App if: inputs.build == 'true' - env: - BUILD_OPTIONS: ${{ steps.build_options.outputs.BUILD_OPTIONS }} working-directory: ${{ inputs.app-working-directory }} - run: wails build --platform ${{inputs.build-platform}} -webview2 ${{inputs.wails-build-webview2}} -o ${{inputs.build-name}} $BUILD_OPTIONS + run: wails build --platform ${{inputs.build-platform}} -webview2 ${{inputs.wails-build-webview2}} -o ${{inputs.build-name}} ${{ steps.build_options.outputs.build_options }} shell: bash - name: Add macOS perms if: inputs.build == 'true' && runner.os == 'macOS'