This post goes over how to set up GitHub Actions workflow with Ren’Py CLI.
Action
To set up GitHub Actions with Ren’Py CLI, use setup-renpy:
# .github/workflows/renpy.yml
on: push
jobs:
  renpy:
    runs-on: ubuntu-latest
    steps:
      - name: Setup Ren'Py
        uses: remarkablegames/setup-renpy@v1
The action downloads the Ren’Py SDK, and exposes the renpy-cli and renpy-launcher binaries for Linux/macOS and renpy executable for Windows:
# .github/workflows/renpy.yml
on: push
jobs:
  renpy-linux:
    runs-on: ubuntu-latest
    steps:
      - name: Setup Ren'Py
        uses: remarkablegames/setup-renpy@v1
      - name: Ren'Py version
        run: |
          renpy-cli --version
          renpy-cli --help
  renpy-windows:
    runs-on: windows-latest
    steps:
      - name: Setup Ren'Py
        uses: remarkablegames/setup-renpy@v1
      - name: Ren'Py version
        run: |
          renpy-cli --version
          renpy-cli --help
Usage
Lint
# .github/workflows/lint.yml
on: push
jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v5
      - name: Setup Ren'Py
        uses: remarkablegames/setup-renpy@v1
      - name: Lint script
        run: renpy-cli game lint
Web Build
Builds a web release of the game:
# .github/workflows/build.yml
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v5
      - name: Setup Ren'Py
        uses: remarkablegames/setup-renpy@v1
        with:
          web: true
      - name: Web build
        run: renpy-launcher web_build . --destination dist
renpy-launcheris only available on Linux/macOS and is not available on Windows.