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
gdxcommand 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 installgdxas a global command on your system. -
First-Time Configuration: The first time you run the
gdxcommand, 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:
gdxThe 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
Enterto 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 auseralias and apassfor 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.