Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
git-merge

GitHub Action

godot-ci

gh-actions

godot-ci

git-merge

godot-ci

Docker image to export Godot Engine games. Templates for Gitlab CI/GitHub Actions deploy to GitLab/GitHub Pages or Itch.io

Installation

Copy and paste the following snippet into your .yml file.

              

- name: godot-ci

uses: abarichello/godot-ci@gh-actions

Learn more about this action in abarichello/godot-ci

Choose a version

godot-ci

Docker image to export Godot Engine games and deploy to GitLab/GitHub Pages and Itch.io using GitLab CI and GitHub Actions.

Docker Hub

https://hub.docker.com/r/barichello/godot-ci/

How To Use

.gitlab-ci.yml and .github/workflows/godot-ci.yml are included in this project as reference.
For live projects, examples and tutorials using this template check the list below:

Platforms

Here's a mapping between each supported CI service and the template jobs.

CI Template
GitLab CI Godot Exports / GitHub Pages / GitLab Pages / Itch.io
GitHub Actions Godot Exports

Environment configuration

First you need to remove unused jobs/stages from the .yml file you are using as a template(.gitlab-ci.yml or .github/workflows/godot-ci.yml).
Then you have to add these environments to a configuration panel depending on the chosen CI and jobs:

  • GitHub: https://github.com/<username>/<project-name>/settings/secrets
  • GitLab: https://gitlab.com/<username>/<repo-name>/settings/ci_cd

GitHub Pages

Secrets needed for a GitHub Pages deploy via GitLab CI:

Variable Description Example
REMOTE_URL The git remote where the web export will be hosted (in this case GitHub), it should contain your deploy/personal access token https://<github username>:<deploy token>@github.com/<username>/<repository>.git
GIT_EMAIL Git email of the account that will commit to the gh-pages branch. [email protected]
GIT_USERNAME Username of the account that will commit to the gh-pages branch. abarichello

Others variables are set automatically by the gitlab-runner, see the documentation for predefined variables.

Itch.io

Deployment to Itch.io is done via Butler.
Secrets needed for a Itch.io deploy via GitLab CI:

Variable Description Example
ITCHIO_USERNAME Your username on Itch.io, as in your personal page will be at https://<username>.itch.io username
ITCHIO_GAME the name of your game on Itchio, as in your game will be available at https://<username>.itch.io/<game> game
BUTLER_API_KEY An Itch.io API key is necessary for Butler so that the CI can authenticate on Itch.io on your behalf. Make that API key Masked(GitLab CI) to keep it secret xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx