By changing:
to:
modules = ["android", "linux"];
in https://github.com/bscotch/igor-setup/blob/main/src/lib/igor-setup.ts#L182
I was able to make a build for Ubuntu, with below nearly-basic config (notice platform: linux, also "find" part is same as for android):
name: Ubuntu Build (VM)
on:
# push: #Uncomment this line to run the workflow on push
workflow_dispatch: #This line allows you to run the workflow manually from the GitHub Actions page
workflow_call: #This line allows you to run the workflow from another workflow
jobs:
build:
runs-on: ubuntu-24.04
steps:
# Check out the repository with the GameMaker project
- uses: actions/checkout@v4
with:
lfs: true
# This step finds the yyp file in the repository and saves the path to an output
- id: find_yyp
name: Find the yyp file
run: |
yyp=$(find ${{ github.workspace }} -name "*.yyp")
echo "YYP file found at: $yyp"
echo "yyp-path=$yyp" >> $GITHUB_OUTPUT
- name: Set up ffmpeg # This step may be removed when https://github.com/YoYoGames/GameMaker-Bugs/issues/4977 is fixed
uses: FedericoCarboni/setup-ffmpeg@v3
with:
ffmpeg-version: '6.1.0'
# This step sets up the GameMaker build CLI tool Igor https://github.com/bscotch/igor-setup
- name: use Igor Setup
uses: bscotch/igor-setup@v1
id: igor
with:
target-yyp: ${{ steps.find_yyp.outputs.yyp-path }}
access-key: ${{ secrets.ACCESS_KEY }}
module: linux
- name: use Igor build
uses: bscotch/igor-build@v1
id: build
with:
yyp-path: ${{ steps.find_yyp.outputs.yyp-path }}
user-dir: ${{ steps.igor.outputs.user-dir }}
platform: linux
yyc: false
# This step uploads the build to the artifacts, so you can download it from the GitHub Actions page or use it in another workflow
- name: upload-build
uses: actions/upload-artifact@v4
with:
name: igor-build-ubuntu
path: ${{ steps.build.outputs.out-dir }}
retention-days: 1 # Longer retention days can incur additional charges. See https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
However, I'm not good enough to fully understand how those scripts works, and how to separate android/ubuntu builds.
I've checked it on runtime 2024.1100.0.658:

If someone with bigger knowledge would be able to adapt some better solution (so android/linux would be properly differetiated, and won't cause downloading both runtimes), that would be useful for others.
For now I'm at least sharing, that it's possible :)
By changing:
to:
in https://github.com/bscotch/igor-setup/blob/main/src/lib/igor-setup.ts#L182
I was able to make a build for Ubuntu, with below nearly-basic config (notice
platform: linux, also "find" part is same as for android):However, I'm not good enough to fully understand how those scripts works, and how to separate android/ubuntu builds.
I've checked it on runtime

2024.1100.0.658:If someone with bigger knowledge would be able to adapt some better solution (so android/linux would be properly differetiated, and won't cause downloading both runtimes), that would be useful for others.
For now I'm at least sharing, that it's possible :)