Skip to content

Automated builds

w4ffl35 edited this page Apr 2, 2023 · 1 revision

I am working towards a fully automated process for deploying AI Runner.

Currently the pipeline is broken but the following outlines how it is intended to work.

  1. Docker builds are kicked off by the repository-dispatch Github action (which can also be trigger manually).
  2. That job runs a Docker build docker run --rm ghcr.io/capsize-games/airunner/airunner:linux bash build.sh
  3. That Docker job calls build.sh

Build.sh does the following

  1. Calls build.py which installs dependencies
  2. Builds the code with Pyinstaller
  3. Deploys to itch.io

build.py installs aihandler (and related dependencies) as well as AI Runner both using the latest release tag.

The relevant structure of the app directory is as follows:

|__ app
    |__ build.py
    |__ build.sh
    |__ airunner
        |__ src
            |__ airunner
                |__ main.py

See Dockerfile to see which source files are copied into app and packed with the build.


In addition to compiling the app for itch.io AI Runner contains a job which will build and deploy the app for pypi. This job runs asynchronously with the repository-dispatch.

Clone this wiki locally