1+ name : Build Geode Mod
2+
3+ on :
4+ workflow_dispatch :
5+ push :
6+ branches :
7+ - " main"
8+ - " pipeline-tests"
9+
10+ permissions :
11+ contents : read
12+ pages : write
13+ id-token : write
14+
15+
16+ jobs :
17+ build :
18+ strategy :
19+ fail-fast : false
20+ matrix :
21+ config :
22+ - name : Windows
23+ os : windows-latest
24+
25+ - name : macOS
26+ os : macos-latest
27+
28+ - name : iOS
29+ os : macos-latest
30+ target : iOS
31+
32+ - name : Android32
33+ os : ubuntu-latest
34+ target : Android32
35+
36+ - name : Android64
37+ os : ubuntu-latest
38+ target : Android64
39+
40+ name : ${{ matrix.config.name }}
41+ runs-on : ${{ matrix.config.os }}
42+ steps :
43+ - uses : actions/checkout@v7
44+
45+ - name : Build the mod
46+ uses : geode-sdk/build-geode-mod@main
47+ with :
48+ combine : true
49+ export-symbols : true
50+ target : ${{ matrix.config.target }}
51+
52+ package :
53+ name : Package builds
54+ runs-on : ubuntu-latest
55+ needs : build
56+ steps :
57+ - name : Combine builds
58+ uses : geode-sdk/build-geode-mod/combine@main
59+ id : build
60+
61+ - name : Upload build artifacts
62+ uses : actions/upload-artifact@v7
63+ with :
64+ name : Object-Collab Build
65+ path : ${{ steps.build.outputs.build-output }}
66+
67+ deploy-pages :
68+ name : Deploy pages
69+ runs-on : windows-latest
70+ needs : build
71+ environment :
72+ name : pages
73+ url : ${{ steps.deployment.outputs.page_url }}
74+ steps :
75+ - name : Checkout More Icons
76+ uses : actions/checkout@v7
77+ with :
78+ path : ./Object-Toolbox
79+ - name : Download Flash
80+ uses : robinraju/release-downloader@v1.13
81+ with :
82+ repository : hiimjasmine00/flash
83+ latest : true
84+ fileName : flash.exe
85+ - name : Setup Geode CLI
86+ uses : geode-sdk/cli/.github/actions/setup@main
87+ - name : Get Geode Version
88+ id : geode
89+ shell : bash
90+ run : |
91+ cd Object-Toolbox
92+ GEODE_VERSION=$(jq -r '.geode' mod.json)
93+ GEODE_VERSION=v${GEODE_VERSION#v}
94+ echo "Geode Version: $GEODE_VERSION"
95+ # set GITHUB_OUTPUT
96+ echo "version=$GEODE_VERSION" >> $GITHUB_OUTPUT
97+ - name : Generate Documentation
98+ shell : bash
99+ run : |
100+ mkdir -p "${{ github.workspace }}/cli-profile/geode/mods"
101+ geode profile add --name Object-Toolbox "${{ github.workspace }}/cli-profile/GeometryDash.exe" win
102+ geode sdk install "${{ github.workspace }}/geode"
103+ export GEODE_SDK="${{ github.workspace }}/geode"
104+ echo "GEODE_SDK=$GEODE_SDK" >> $GITHUB_ENV
105+ geode sdk update ${{ steps.geode.outputs.version }} && geode sdk install-binaries
106+ flash.exe -i Object-Toolbox -o pages --overwrite
107+ - name : Upload Pages
108+ uses : actions/upload-pages-artifact@5
109+ with :
110+ path : ./pages
111+ - name : Deploy Pages
112+ id : deployment
113+ uses : actions/deploy-pages@v5
0 commit comments