All Projects → josephbmanley → build-godot-action

josephbmanley / build-godot-action

Licence: MIT License
GitHub action that builds a Godot project for multiple platforms

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to build-godot-action

overview
Automate your workflows with GitHub actions for MATLAB.
Stars: ✭ 40 (-35.48%)
Mutual labels:  actions, github-actions, github-action
action-netlify-deploy
🙌 Netlify deployments via GitHub actions
Stars: ✭ 32 (-48.39%)
Mutual labels:  actions, github-actions, github-action
clang-format-action
GitHub Action for clang-format checking
Stars: ✭ 48 (-22.58%)
Mutual labels:  actions, github-actions, github-action
github-run-tests-action
mabl Github Actions implementation
Stars: ✭ 39 (-37.1%)
Mutual labels:  actions, github-actions, github-action
qodana-action
⚙️ Scan your Java, Kotlin, PHP, Python, JavaScript, TypeScript projects at GitHub with Qodana
Stars: ✭ 112 (+80.65%)
Mutual labels:  actions, github-actions, github-action
recent-activity
Add your recent activity to your profile readme!
Stars: ✭ 87 (+40.32%)
Mutual labels:  actions, github-actions, github-action
changed-files
Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.
Stars: ✭ 733 (+1082.26%)
Mutual labels:  actions, github-actions, github-action
setup-jdk
(DEPRECATED) Set up your GitHub Actions workflow with a specific version of AdoptOpenJDK
Stars: ✭ 32 (-48.39%)
Mutual labels:  actions, github-actions, github-action
nrwl-nx-action
A GitHub Action to wrap Nrwl Nx commands in your workflows.
Stars: ✭ 163 (+162.9%)
Mutual labels:  actions, github-actions, github-action
clojure-dependency-update-action
A simple GitHub Actions job to create Pull Requests for outdated dependencies in clojure projects
Stars: ✭ 37 (-40.32%)
Mutual labels:  actions, github-actions, github-action
ssh2actions
Connect to GitHub Actions VM via SSH for interactive debugging
Stars: ✭ 62 (+0%)
Mutual labels:  actions, github-actions, github-action
assign-one-project-github-action
Automatically add an issue or pull request to specific GitHub Project(s) when you create and/or label them.
Stars: ✭ 140 (+125.81%)
Mutual labels:  actions, github-actions, github-action
action-sync-node-meta
GitHub Action that syncs package.json with the repository metadata.
Stars: ✭ 25 (-59.68%)
Mutual labels:  actions, github-actions, github-action
misspell-fixer-action
📝Automatically fixes typos and mistakes in your source code and docs!
Stars: ✭ 123 (+98.39%)
Mutual labels:  github-actions, github-action
laravel-phpinsights-action
Run PHP Insights in Laravel in Github Actions
Stars: ✭ 17 (-72.58%)
Mutual labels:  github-actions, github-action
intellij-platform-plugin-verifier-action
GitHub Action for executing the intellij-plugin-verifier
Stars: ✭ 20 (-67.74%)
Mutual labels:  github-actions, github-action
gha
🔧 Test your GitHub Actions workflow locally.
Stars: ✭ 53 (-14.52%)
Mutual labels:  actions, github-actions
gajira
GitHub Actions for Jira
Stars: ✭ 100 (+61.29%)
Mutual labels:  github-actions, github-action
git-actions
A GitHub Action to run arbitrary git commands
Stars: ✭ 72 (+16.13%)
Mutual labels:  github-actions, github-action
action-autotag
Automatically generate a new tag when the manifest file (package.json, Dockerfile, custom file, etc) version changes.
Stars: ✭ 45 (-27.42%)
Mutual labels:  actions, github-actions

Release Version Test Action

Build Godot Project

This action builds the godot project in your $GITHUB_WORKSPACE, so that you can easily automate builds.

Table of Contents:

Quickstart

Step 1: Configure Export Presets

In Godot create export templates for linux, windows, and mac.

The 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

Once you verify that export_presets.cfg is located in the same directory as your project.godot file, you can push your changes.

Step 2: Setup Worfklow on GitHub

Add the following workflow file to your repository. An example file name would be .github/workflows/build.yml

name: Build Godot Project

on:
  push: {}
  pull_request: {}

jobs:
  Godot:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        platform: [linux, windows, mac]
    steps:
      - uses: actions/checkout@v2
        with:
          lfs: true
      - name: Build
        id: build
        uses: josephbmanley/[email protected]
        with:
          name: example
          preset: ${{ matrix.platform }}
          debugMode: "true"
      - name: Upload Artifact
        uses: actions/upload-artifact@v2
        with:
          name: Client - ${{ matrix.platform }}
          path: ${{ github.workspace }}/${{ steps.build.outputs.build }}

Workflow Explaination

This workflow has three steps:

  • Checkout: The Checkout step clones the project on the GitHub actions runner.
  • Build: This step uses this action to build the Godot project.
  • Upload Artifact: The Upload Artifact step uploads the output from the build step.

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.

Simple Changes

Change Exports

In 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.

  Godot:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        platform: [win32, win64] # This project will only export using the export presets `win32` and `win64`

Additionally if you are not using a matrix, you can set the export preset as the parameter preset:

      - name: Build
        id: build
        uses: josephbmanley/[email protected]
        with:
          name: example
          preset: win32
Change Project Name

To change the export name, you can the name parameter to whatever you want your project to export as.

      - name: Build
        id: build
        uses: josephbmanley/[email protected]
        with:
          name: test # This project will export with the name "test"
Disable Debug Mode

This example is set to build with debug mode enable. To disable debug, either set debugMode to false or remove the field entirely.

      - name: Build
        id: build
        uses: josephbmanley/[email protected]
        with:
          name: example
          preset: ${{ matrix.platform }}
          debugMode: "false" # This project will not build in debug mode
Change Project Directory

If your project is located in a subdirectory, you can use the projectDir to change build directories.

      - name: Build
        id: build
        uses: josephbmanley/[email protected]
        with:
          name: example
          preset: ${{ matrix.platform }}
          projectDir: "test" # The project in the `test` directory will be built

Step 3: Test your workflow!

Now, 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.

Usage

This action will create a build folder an outputed build. You must have the export preset configured for the target platform to successfully export.

Example:

steps:
- uses: josephbmanley/build-godot-action@[VERSION]
  with:
    name: godot-project
    preset: HTML5

Inputs

name required

The name of the exported package/binary

preset required

The name of the preset found in `export_presets.cfg` you would like to build.

subdirectory

*Optional*

The subdirectory in the `build` folder to output build to, can be useful for self packaging.

package

*Optional*

Boolean value, when set to true, builds artficat zip file.

projectDir

*Optional*

Directory in workspace containing your godot project.

debugMode

*Optional*

Boolean value, when set to true, runs export in debug mode.

Outputs

build

The location the outputed build is placed relative to GitHub Workspace.

artifact

The location the outputed artifact is placed relative to GitHub Workspace.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].