Refactored OBJECT_CUSTOM_IMPLEMENT #41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Geode Mod | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| deploy-pages: | |
| description: Deploy pages after building? | |
| required: false | |
| default: false | |
| type: boolean | |
| push: | |
| branches: | |
| - "main" | |
| - "pipeline-tests" | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - name: Windows | |
| os: windows-latest | |
| - name: macOS | |
| os: macos-latest | |
| - name: iOS | |
| os: macos-latest | |
| target: iOS | |
| - name: Android32 | |
| os: ubuntu-latest | |
| target: Android32 | |
| - name: Android64 | |
| os: ubuntu-latest | |
| target: Android64 | |
| name: ${{ matrix.config.name }} | |
| runs-on: ${{ matrix.config.os }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Build the mod | |
| uses: geode-sdk/build-geode-mod@main | |
| with: | |
| combine: true | |
| export-symbols: true | |
| target: ${{ matrix.config.target }} | |
| package: | |
| name: Package builds | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Combine builds | |
| uses: geode-sdk/build-geode-mod/combine@main | |
| id: build | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: Object-Collab Build | |
| path: ${{ steps.build.outputs.build-output }} | |
| deploy-pages: | |
| name: Deploy pages | |
| if: github.event.inputs['deploy-pages'] == 'true' | |
| runs-on: windows-latest | |
| needs: build | |
| environment: | |
| name: pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| path: ./Object-Collab | |
| - name: Download Flash | |
| uses: robinraju/release-downloader@v1.13 | |
| with: | |
| repository: hiimjasmine00/flash | |
| latest: true | |
| fileName: flash.exe | |
| - name: Setup Geode CLI | |
| uses: geode-sdk/cli/.github/actions/setup@main | |
| - name: Get Geode version | |
| id: geode | |
| shell: bash | |
| run: | | |
| cd Object-Collab | |
| GEODE_VERSION=$(jq -r '.geode' mod.json) | |
| GEODE_VERSION=v${GEODE_VERSION#v} | |
| echo "Geode Version: $GEODE_VERSION" | |
| # set GITHUB_OUTPUT | |
| echo "version=$GEODE_VERSION" >> $GITHUB_OUTPUT | |
| - name: Generate documentation | |
| shell: bash | |
| run: | | |
| mkdir -p "${{ github.workspace }}/cli-profile/geode/mods" | |
| geode profile add --name Object-Collab "${{ github.workspace }}/cli-profile/GeometryDash.exe" win | |
| geode sdk install "${{ github.workspace }}/geode" | |
| export GEODE_SDK="${{ github.workspace }}/geode" | |
| echo "GEODE_SDK=$GEODE_SDK" >> $GITHUB_ENV | |
| geode sdk update ${{ steps.geode.outputs.version }} && geode sdk install-binaries | |
| mkdir pages | |
| cd pages | |
| ../flash.exe -i ../Object-Collab -o Object-Collab --overwrite | |
| - name: Upload pages | |
| uses: actions/upload-pages-artifact@v5 | |
| with: | |
| path: ./pages/Object-Collab | |
| - name: Deploy pages | |
| id: deployment | |
| uses: actions/deploy-pages@v5 |