{"id":16214422,"url":"https://github.com/yeslayla/build-godot-action","last_synced_at":"2025-10-24T23:31:34.974Z","repository":{"id":54346169,"uuid":"224918709","full_name":"yeslayla/build-godot-action","owner":"yeslayla","description":"GitHub action that builds a Godot project for multiple platforms","archived":false,"fork":false,"pushed_at":"2024-08-05T14:58:07.000Z","size":76,"stargazers_count":133,"open_issues_count":11,"forks_count":32,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T20:07:33.249Z","etag":null,"topics":["actions","github-action","github-actions","godot","godot-ci"],"latest_commit_sha":null,"homepage":"https://github.com/josephbmanley/build-godot-action","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yeslayla.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-29T20:33:20.000Z","updated_at":"2025-01-24T06:06:31.000Z","dependencies_parsed_at":"2024-06-19T19:32:00.481Z","dependency_job_id":"833584af-9f41-4c5f-9ac3-c1640c2327c7","html_url":"https://github.com/yeslayla/build-godot-action","commit_stats":{"total_commits":42,"total_committers":2,"mean_commits":21.0,"dds":0.0714285714285714,"last_synced_commit":"7727f04a91e273587f044a6c7605978ebc989e83"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeslayla%2Fbuild-godot-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeslayla%2Fbuild-godot-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeslayla%2Fbuild-godot-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeslayla%2Fbuild-godot-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yeslayla","download_url":"https://codeload.github.com/yeslayla/build-godot-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238044093,"owners_count":19407128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","github-action","github-actions","godot","godot-ci"],"created_at":"2024-10-10T11:10:35.672Z","updated_at":"2025-10-24T23:31:34.968Z","avatar_url":"https://github.com/yeslayla.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"This project is not currently being maintained. If you want to build Godot projects with GitHub Actions, I'd recommend taking a look at https://github.com/marketplace/actions/godot-ci\n\n---\n\n![Release Version](https://img.shields.io/github/v/release/yeslayla/build-godot-action) ![Test Action](https://github.com/yeslayla/build-godot-action/workflows/Test%20Action/badge.svg)\n\n![Build Godot Project](logo.png)\n\nThis action builds the godot project in your `$GITHUB_WORKSPACE`, so that you can easily automate builds.\n\nTable of Contents:\n- [Quickstart](#Quickstart)\n- [Usage](#Usage)\n- [Contributors](Contributors.md)\n\n## Quickstart\n\n### Step 1: Configure Export Presets\n\nIn Godot create export templates for `linux`, `windows`, and `mac`.\n\nThe name of the Windows export would be of type `Windows Desktop` and have the name `windows`. For Mac, the name would `mac` and type `Mac OSX`. Then for linux, `Linux/X11`\n\nOnce you verify that `export_presets.cfg` is located in the same directory as your `project.godot` file, you can push your changes.\n\n### Step 2: Setup Worfklow on GitHub\n\nAdd the following workflow file to your repository. An example file name would be `.github/workflows/build.yml`\n\n```yaml\nname: Build Godot Project\n\non:\n  push: {}\n  pull_request: {}\n\njobs:\n  Godot:\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        platform: [linux, windows, mac]\n    steps:\n      - uses: actions/checkout@v2\n        with:\n          lfs: true\n      - name: Build\n        id: build\n        uses: manleydev/build-godot-action@v1.4.1\n        with:\n          name: example\n          preset: ${{ matrix.platform }}\n          debugMode: \"true\"\n      - name: Upload Artifact\n        uses: actions/upload-artifact@v2\n        with:\n          name: Client - ${{ matrix.platform }}\n          path: ${{ github.workspace }}/${{ steps.build.outputs.build }}\n```\n\n#### Workflow Explaination\n\nThis workflow has three steps:\n- **Checkout**: The Checkout step clones the project on the GitHub actions runner.\n- **Build**: This step uses this action to build the Godot project.\n- **Upload Artifact**: The Upload Artifact step uploads the output from the build step.\n\n**Matrix Explaination**: The matrix object runs the job for EACH possible value. So in this job, we are using a `platform` matrix to automatically run our workflow for the values `linux`, `windows`, and `mac`.\n\n#### Simple Changes\n\n##### Change Exports\n\nIn this workflow, since it's using a matrix you can just add or remove export names from the `platform` matrix. The value being passed MUST have the same name as the preset.\n\n```yaml\n  Godot:\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        platform: [win32, win64] # This project will only export using the export presets `win32` and `win64`\n```\n\nAdditionally if you are not using a matrix, you can set the export preset as the parameter `preset`:\n\n```yaml\n      - name: Build\n        id: build\n        uses: manleydev/build-godot-action@v1.4.1\n        with:\n          name: example\n          preset: win32\n```\n\n##### Change Project Name\n\nTo change the export name, you can the `name` parameter to whatever you want your project to export as.\n\n```yaml\n      - name: Build\n        id: build\n        uses: manleydev/build-godot-action@v1.4.1\n        with:\n          name: test # This project will export with the name \"test\"\n```\n\n##### Disable Debug Mode\n\nThis example is set to build with debug mode enable. To disable debug, either set `debugMode` to `false` or remove the field entirely.\n\n```yaml\n      - name: Build\n        id: build\n        uses: manleydev/build-godot-action@v1.4.1\n        with:\n          name: example\n          preset: ${{ matrix.platform }}\n          debugMode: \"false\" # This project will not build in debug mode\n```\n\n##### Change Project Directory\n\nIf your project is located in a subdirectory, you can use the `projectDir` to change build directories.\n\n```yaml\n      - name: Build\n        id: build\n        uses: manleydev/build-godot-action@v1.4.1\n        with:\n          name: example\n          preset: ${{ matrix.platform }}\n          projectDir: \"test\" # The project in the `test` directory will be built\n```\n\n\n### Step 3: Test your workflow!\n\nNow, whenever you make a push or pull request in that repository, GitHub Actions will build . You see and download your project in the `Actions` tab of your repository.\n\n\n## Usage\n\nThis action will create a `build` folder an outputed build. You must have the export preset configured for the target platform to successfully export.\n\nExample:\n\n```yaml\nsteps:\n- uses: manleydev/build-godot-action@[VERSION]\n  with:\n    name: godot-project\n    preset: HTML5\n```\n\n### Inputs\n\n#### name **required**\n\n    The name of the exported package/binary\n\n#### preset **required**\n\n    The name of the preset found in `export_presets.cfg` you would like to build.\n\n#### subdirectory\n\n    *Optional*\n\n    The subdirectory in the `build` folder to output build to, can be useful for self packaging.\n\n#### package\n\n    *Optional*\n\n    Boolean value, when set to true, builds artficat zip file.\n\n#### projectDir\n\n    *Optional*\n\n    Directory in workspace containing your godot project.\n\n#### debugMode\n\n    *Optional*\n\n    Boolean value, when set to true, runs export in debug mode.\n\n### Outputs\n\n#### build\n\n    The location the outputed build is placed relative to GitHub Workspace.\n\n#### artifact\n\n    The location the outputed artifact is placed relative to GitHub Workspace.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeslayla%2Fbuild-godot-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeslayla%2Fbuild-godot-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeslayla%2Fbuild-godot-action/lists"}