Export Godot Projects From Anywhere, To Anywhere.
Godux is a powerful command-line tool that leverages GitHub Actions to build and export your Godot Engine projects. It empowers developers to trigger builds from any device—be it a desktop, laptop, or even an Android phone—and export for any platform Godot supports.
Ever needed to compile a Windows .exe
from your Linux machine or build an Android .apk
from your phone? Godux makes this a reality.
Note: Currently, Godux officially supports Godot 3.x. Support for Godot 4.x is coming soon!
- 🌍 Universal Workflow: Initiate builds from any development environment and export for Windows, Linux, macOS, Android, or HTML5.
- ☁️ Cloud-Powered Builds: All compilation is handled by GitHub's powerful servers, freeing up your local machine's resources.
- 🤖 Automated Setup: A guided CLI experience helps you with the one-time setup of your Git and GitHub credentials.
- 🔒 Secure Keystore Management: For Android builds, your keystore credentials are automatically managed as secure GitHub Secrets.
- 📊 Real-time Monitoring: Track the progress of your builds directly from your terminal.
Developing a game often involves multiple platforms. You might write code on a Windows desktop, test on a Linux laptop, and need to send a build to a tester on macOS. Furthermore, while the Godot Mobile editor is great for development on the go, it lacks a built-in export function.
Godux was created to solve these problems. By offloading the export process to the cloud, it provides a single, consistent workflow to build your game for any target, from any machine.
Godux combines the power of shell scripting and CI/CD to create a seamless workflow:
- Trigger: You run the
gdx
command from your device's terminal. - Push: The script commits and pushes your project files to a private GitHub repository.
- Automate: This push triggers a pre-configured GitHub Actions workflow (
export.yml
). - Build: The GitHub Actions runner spins up a virtual machine, downloads the specified Godot version, and runs the export command for your chosen platform.
- Download: Once the build is complete, the script notifies you and allows you to download the resulting artifact (e.g.,
.apk
,.zip
) directly to your device.
Getting up and running with Godux is simple.
- A GitHub Account (if you don't have one, create one here).
- A standard bash shell environment (like Termux on Android, or the default terminal on Linux/macOS).
The setup process is designed to be a one-time affair.
-
Clone the repository:
git clone https://github.com/FarizzDev/Godux.git cd Godux
-
Run the installation script:
bash install.sh
This script will automatically detect your operating system, install all the required dependencies (
git
,gh
,fzf
,bc
,jq
), and installgdx
as a global command on your system. -
First-Time Configuration: The first time you run the
gdx
command, it will guide you through a one-time setup process:- Git Configuration: If you haven't configured Git before, you will be prompted to enter your name and email.
- GitHub Authentication: The script will then prompt you to log in to GitHub. This is required to create repositories and manage secrets for you.
- Repository Creation: The script will automatically create a new private repository on your GitHub account to host your project and run the build workflows.
Once the installation is complete, you can export your project from anywhere by running:
gdx
The tool will then guide you through the following steps:
- Select a Platform: Use the interactive menu to choose your target platform.
- Provide Links (Optional): You can press
Enter
to use the default Godot and template versions or provide custom download links. - Android Keystore (If applicable): If you chose
Android
, you will be asked for auser
alias and apass
for the keystore. This is stored securely in your repository's GitHub Secrets. - Monitor the Build: The script will show you the real-time progress of the build.
- Download: Once finished, you will be prompted to download the exported artifact. The file will be saved into the
export/
directory.
Contributions are always welcome! Whether it's a new feature, a bug fix, or documentation improvements, we appreciate your help.
Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourAmazingFeature
). - Make your changes and commit them (
git commit -m 'Add some AmazingFeature'
). - Push to your branch (
git push origin feature/YourAmazingFeature
). - Open a Pull Request.
If you encounter a bug or have a problem, please open an Issue on the GitHub repository.
When filing an issue, please include as much detail as possible:
- A clear and descriptive title.
- Steps to reproduce the bug.
- Any relevant logs or error messages.
- Your operating system and environment.
This will help us resolve the issue much faster.
This project is licensed under the MIT License.