Skip to content

Linux export #138

Description

@byRob1n

If I export my Godot project using my .cfg properties, the "Windows Desktop" and "macOS" preferences are applied correctly, but the "Linux" property is not being read.

image

Second Problem:
When I download the Windows build uploaded to GitHub, only the Main Scene runs, and nothing else works. However, when I export the project locally, everything functions as expected.

i had tried the --import flag to import my godot game.

on:
  push:
    branches:
      - "feature/releases"
      - "main"

jobs:

  import_project:
    runs-on: ubuntu-22.04
    container:
      image: barichello/godot-ci:4.3

    name: Import Godot Project
    outputs:
      build_path: ${{ steps.set_output.outputs.build_path }}
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Import Godot Project
        run: |
          godot --headless --import --path dont-forget

      - name: Upload Imported Project
        uses: actions/upload-artifact@v4
        with:
          name: Imported-Project
          path: ./dont-forget

  # job id, can be anything
  export_game:
    # Always use ubuntu-latest for this action
    runs-on: ubuntu-latest
    needs: import_project
    env:
      DEV-STEP: Alpha
      VERSION: 1.0.0
    # Add permission for release creation. Can be made narrower according to your needs
    permissions: write-all
    # Job name, can be anything
    name: Export Game



    steps:
      # Always include the checkout step so that 
      # your project is available for Godot to export
      - name: checkout
        uses: actions/checkout@v4

      # Download the imported project from the previous job
      - name: Download Imported Project
        uses: actions/download-artifact@v4
        with:
          name: Imported-Project
          path: ./dont-forget
      

      - name: export game
        id: export
        # Use latest version (see releases for all versions)
        uses: firebelley/godot-export@v6.0.0
        with:
          # Defining all the required inputs
          godot_executable_download_url: https://downloads.tuxfamily.org/godotengine/4.0/Godot_v4.0-stable_linux.x86_64.zip
          godot_export_templates_download_url: https://downloads.tuxfamily.org/godotengine/4.0/Godot_v4.0-stable_export_templates.tpz
          cache: true
          relative_project_path: ./dont-forget
          archive_output: true
          presets_to_export: "win, macOS, Linux"

          # Step 3: Verify Export Output and Upload Artifact
      - name: Verify Export Output
        run: |
          ls -al ${{ steps.export.outputs.archive_directory }}  # List the exported files to verify the location

      - name: Upload Windows Build
        uses: actions/upload-artifact@v4
        with:
          name: Windows
          path: ${{ steps.export.outputs.archive_directory }}/win.zip

      - name: Upload Mac Build
        uses: actions/upload-artifact@v4
        with:
          name: macOS
          path: ${{ steps.export.outputs.archive_directory }}/macOS.zip

      - name: Upload Linux Build
        uses: actions/upload-artifact@v4
        with:
          name: Linux
          path: ${{ steps.export.outputs.archive_directory }}/Linux.zip

        # This release action has worked well for me. However, you can most likely use any release action of your choosing.
        # https://github.com/ncipollo/release-action
      - name: Create GitHub release
        uses: ncipollo/release-action@v1.14.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          generateReleaseNotes: true
          tag: ${{ env.DEV-STEP }}-${{ env.VERSION }}
          name: Dont-Forget ${{ env.DEV-STEP }}-${{ env.VERSION }}
          artifacts: |
            ${{ steps.export.outputs.archive_directory }}/win.zip
            ${{ steps.export.outputs.archive_directory }}/macOS.zip
            ${{ steps.export.outputs.archive_directory }}/Linux.zip
          allowUpdates: true
          

I used Godot 4.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions